vlan:https://www.cnblogs.com/du-z/p/10802786.html

trunk:https://www.cnblogs.com/du-z/p/10804773.html

KVM网络模式--Bridge网桥

网桥架构图

Linux Bridge : 基本原理就是创建一个桥接接口 br0 ,在物理网卡和虚拟网络接口之间传递数据,此种方式host却可以和vm联通。

vim /etc/sysconfig/network-scripts/ifcfg-eth0 

...
TYPE=Ethernet
NAME=eth0
DEVICE=eth0
ONBOOT=yes
BRIDGE=br0
...
vim /etc/sysconfig/network-scripts/ifcfg-br0 

...
TYPE=Bridge
NAME=br0
DEVICE=br0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.137.134
PREFIX=24
GATEWAY=192.168.137.2
DNS=8.8.8.8
DNS2=114.114.114.114
...

brchl 网桥管理命令

## yum install bridge-utils -y
##brctl show 查看网桥配置 [root@localhost ~]# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.000c294ea15a no ens33
virbr0 8000.525400eb441b yes virbr0-nic ##brctl 命令帮助手册 [root@localhost ~]# brctl --help
Usage: brctl [commands]
commands:
addbr <bridge> add bridge #添加网桥
delbr <bridge> delete bridge #删除网桥
addif <bridge> <device> add interface to bridge #向网桥添加接口
delif <bridge> <device> delete interface from bridge #删除网桥上接口
hairpin <bridge> <port> {on|off} turn hairpin on/off
setageing <bridge> <time> set ageing time
setbridgeprio <bridge> <prio> set bridge priority
setfd <bridge> <time> set bridge forward delay
sethello <bridge> <time> set hello time
setmaxage <bridge> <time> set max message age
setpathcost <bridge> <port> <cost> set path cost
setportprio <bridge> <port> <prio> set port priority
show [ <bridge> ] show a list of bridges #查看网桥列表
showmacs <bridge> show a list of mac addrs #查看物理地址列表
showstp <bridge> show bridge stp info
stp <bridge> {on|off} turn stp on/off

Linux Bridge实现Vlan

第一步:查看核心是否提供vlan功能,并载入8021q模块

[root@localhost ~]# lsmod |grep 8021q
[root@localhost ~]# modprobe 8021q
[root@localhost ~]# lsmod |grep 8021q
8021q 33104 0
garp 14384 1 8021q
mrp 18542 1 8021q

第二步:设置开机载入8021q模块(可选)

# 在/etc/sysconfig/modules下增加一个8021q.modules文件

[root@localhost ~]# vim /etc/sysconfig/modules/8021q.modules
...
modprobe 8021q
...

第三步:安装vlan配置工具--vconfig

[root@localhost ~]# rpm -ivh vconfig-1.9-16.el7.x86_64.rpm   #需用网络源

[root@localhost ~]# rpm -qa |grep vconfig
vconfig-1.9-16.el7.x86_64

第四步:在设备器上再添加一块网卡ens38


[root@localhost ~]# ifconfig ens38: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.137.137 netmask 255.255.255.0 broadcast 192.168.137.255
inet6 fe80::f34c:437:4b83:f0b4 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:30:5c:f9 txqueuelen 1000 (Ethernet)
RX packets 12004 bytes 915163 (893.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1195 bytes 233853 (228.3 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ## 注意:修改网卡配置文件中:BOOTPROTO=static

第五步:用vlan管理工具vconfig添加vlan

# vconfig add ens38 10
# vconfig add ens38 10

第六步:撰写vlan接口文件,vlan网桥文件

vlan接口文件:

# vim ifcfg-ens38.10

VLAN=yes    #启用vlan
TYPE=vlan #类型vlan
PHYSDEV=ens38vlan #物理设备网卡
VLAN_ID=10 #vlan_id
ONBOOT=yes # 自启
ZONE=trusted #开启作用域
DEVICE=ens38.10 #设备名
BRIDGE=brvlan10 #网桥 # vim ifcfg-ens38.20 VLAN=yes
TYPE=vlan
PHYSDEV=ens38
VLAN_ID=20
ONBOOT=yes
ZONE=trusted
DEVICE=ens38.20
BRIDGE=brvlan20

vlan网桥文件:

## vim ifcfg-brvlan-10

YPE=bridge
BOOTPROTO=static
NAME=brvlan-10
DEVICE=brvlan-10
ONBOOT=yes ## vim ifcfg-brvlan-20 TYPE=bridge
BOOTPROTO=static
NAME=brvlan-20
DEVICE=brvlan-20
ONBOOT=yes

第七步:给vlan网桥添加接口

# brctl addif brvlan-10 ens38.10
# brctl addif brvlan-20 ens38.20

第八步:重启网卡

# systemctl restart network

网卡配置bond(绑定)

常用的有三种:

  • mode=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定。
  • mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援。
  • mode=6:平衡负载模式,有自动备援,不必”Switch”支援及设定。

第一步:eth1,eth2,eth3都配置绑定为bond0,例如:

# cat ifcfg-eth1

TYPE=Ethernet
BOOTPROTO=none
DEVICE=eth1
ONBOOT=yes
MASTER=bond0
SLAVE=yes
# 载入bond模块:
# modprobe bonding

第二步:查看bond0,并桥接到br1

# cat ifcfg-bond0

DEVICE=bond0
TYPE=Bond
NAME=bond0
BONDING_MASTER=yes
BOOTPROTO=static
USERCTL=no
ONBOOT=yes
#IPADDR=192.168.10.10
#PREFIX=24
#GATEWAY=192.168.10.19
BONDING_OPTS="mode=6 miimon=100"
BRIDGE=br1

第三步:查看网桥br0

# cat ifcfg-br1

TYPE=Bridge
DEVICE=br1
ONBOOT=yes
IPADDR=192.168.10.1
IPADDR1=192.168.20.1
IPADDR2=192.168.30.1
IPADDR3=192.168.40.1
IPADDR4=192.168.50.1
PREFIX3=24
PREFIX4=24
#GATEWAY=172.16.0.1
#DNS1=172.16.254.251
#DNS2=223.5.5.5

第四步:重启系统

# 查看网卡信息:
ethtool bond0

KVM (虚拟化网络管理)的更多相关文章

  1. KVM虚拟化网络管理(4)

    一.Linux Bridge网桥管理 网络虚拟化是虚拟化技术中最复杂的部分,也是非常重要的资源.第一节中我们创建了一个名为br0的linux-bridge网桥,如果在此网桥上新建一台vm,如下图: V ...

  2. kvm虚拟化网络管理(5)

    一.Linux Bridge网桥管理 网络虚拟化是虚拟化技术中最复杂的部分,也是非常重要的资源. 第一节中我们创建了一个名为br0的linux-bridge网桥,如果在此网桥上新建一台vm,如下图: ...

  3. kvm虚拟化网络管理

    Linux Bridge 网桥管理 VM2 的虚拟网卡 vnet1 也连接到了 br0 上. 现在 VM1 和 VM2 之间可以通信,同时 VM1 和 VM2 也都可以与外网通信 # Vlan LAN ...

  4. [原] KVM 虚拟化原理探究(1)— overview

    KVM 虚拟化原理探究- overview 标签(空格分隔): KVM 写在前面的话 本文不介绍kvm和qemu的基本安装操作,希望读者具有一定的KVM实践经验.同时希望借此系列博客,能够对KVM底层 ...

  5. [原] KVM 虚拟化原理探究 —— 目录

    KVM 虚拟化原理探究 -- 目录 标签(空格分隔): KVM KVM 虚拟化原理探究(1)- overview KVM 虚拟化原理探究(2)- QEMU启动过程 KVM 虚拟化原理探究(3)- CP ...

  6. [原] KVM 虚拟化原理探究(6)— 块设备IO虚拟化

    KVM 虚拟化原理探究(6)- 块设备IO虚拟化 标签(空格分隔): KVM [toc] 块设备IO虚拟化简介 上一篇文章讲到了网络IO虚拟化,作为另外一个重要的虚拟化资源,块设备IO的虚拟化也是同样 ...

  7. [原] KVM 虚拟化原理探究(5)— 网络IO虚拟化

    KVM 虚拟化原理探究(5)- 网络IO虚拟化 标签(空格分隔): KVM IO 虚拟化简介 前面的文章介绍了KVM的启动过程,CPU虚拟化,内存虚拟化原理.作为一个完整的风诺依曼计算机系统,必然有输 ...

  8. [原] KVM 虚拟化原理探究(4)— 内存虚拟化

    KVM 虚拟化原理探究(4)- 内存虚拟化 标签(空格分隔): KVM 内存虚拟化简介 前一章介绍了CPU虚拟化的内容,这一章介绍一下KVM的内存虚拟化原理.可以说内存是除了CPU外最重要的组件,Gu ...

  9. [原] KVM 虚拟化原理探究(3)— CPU 虚拟化

    KVM 虚拟化原理探究(3)- CPU 虚拟化 标签(空格分隔): KVM [TOC] CPU 虚拟化简介 上一篇文章笼统的介绍了一个虚拟机的诞生过程,从demo中也可以看到,运行一个虚拟机再也不需要 ...

  10. [原] KVM 虚拟化原理探究(2)— QEMU启动过程

    KVM 虚拟化原理探究- QEMU启动过程 标签(空格分隔): KVM [TOC] 虚拟机启动过程 第一步,获取到kvm句柄 kvmfd = open("/dev/kvm", O_ ...

随机推荐

  1. 什么是urlencode编码

    今天看文章中看到了urlencode,不理解 ,故上网查了查,看到了如下的答案,在此记录下,以加深印象 urlencode编码:就是将字符串以URL编码,一种编码方式,主要为了解决url中中文乱码问题 ...

  2. javabean 数组对应yml中的写法

    gate-info: gate-list: - channel: channel-one io-flag: I - channel: channel-two io-flag: E 上面的是 yml 文 ...

  3. 【译】深入理解Rust中的生命周期

    原文标题:Understanding Rust Lifetimes 原文链接:https://medium.com/nearprotocol/understanding-rust-lifetimes- ...

  4. Miller Rabin素数检测与Pollard Rho算法

    一些前置知识可以看一下我的联赛前数学知识 如何判断一个数是否为质数 方法一:试除法 扫描\(2\sim \sqrt{n}\)之间的所有整数,依次检查它们能否整除\(n\),若都不能整除,则\(n\)是 ...

  5. 微信开发所需要的的方法(签名认证、数组转字符串方法、将xml字符串转换为数组、发送xml请求方法)

    //将xml字符串转换为数组 public function xmlToArray($xml){ $array_data = json_decode(json_encode(simplexml_loa ...

  6. 3D动漫人物代码

    <div id="page_end_html"> <script src="https://eqcn.ajz.miesnfu.com/wp-conten ...

  7. HP PROLIANT DL388 GEN10 (故障3019)SPP损坏

    HP PROLIANT DL388 GEN10 (故障3019)SPP损坏 1. 开机硬件自检,提示错误ERROR 3019: 2. 根据服务器版本GEN10下载最新固件SPP,可找服务商或者HP售后 ...

  8. 详解线程池的作用及Java中如何使用线程池

    服务端应用程序(如数据库和 Web 服务器)需要处理来自客户端的高并发.耗时较短的请求任务,所以频繁的创建处理这些请求的所需要的线程就是一个非常消耗资源的操作.常规的方法是针对一个新的请求创建一个新线 ...

  9. 常用 .gitignore 模板

    前言 每次建项目的时候可以直接复制了,也算是方便自己,以后发现少的会更新 正文 作用 git提交时忽略文件 文件名 .gitignore Python # Byte-compiled / optimi ...

  10. .NET 5网络操作的改进

    随着.net 5在11月的发布,现在是谈论网络栈中许多改进的好时机.这包括对HTTP.套接字.与网络相关的安全性和其他网络通信的改进.在这篇文章中,我将重点介绍一些版本中更有影响力和更有趣的变化. H ...