KVM (虚拟化网络管理)
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 (虚拟化网络管理)的更多相关文章
- KVM虚拟化网络管理(4)
一.Linux Bridge网桥管理 网络虚拟化是虚拟化技术中最复杂的部分,也是非常重要的资源.第一节中我们创建了一个名为br0的linux-bridge网桥,如果在此网桥上新建一台vm,如下图: V ...
- kvm虚拟化网络管理(5)
一.Linux Bridge网桥管理 网络虚拟化是虚拟化技术中最复杂的部分,也是非常重要的资源. 第一节中我们创建了一个名为br0的linux-bridge网桥,如果在此网桥上新建一台vm,如下图: ...
- kvm虚拟化网络管理
Linux Bridge 网桥管理 VM2 的虚拟网卡 vnet1 也连接到了 br0 上. 现在 VM1 和 VM2 之间可以通信,同时 VM1 和 VM2 也都可以与外网通信 # Vlan LAN ...
- [原] KVM 虚拟化原理探究(1)— overview
KVM 虚拟化原理探究- overview 标签(空格分隔): KVM 写在前面的话 本文不介绍kvm和qemu的基本安装操作,希望读者具有一定的KVM实践经验.同时希望借此系列博客,能够对KVM底层 ...
- [原] KVM 虚拟化原理探究 —— 目录
KVM 虚拟化原理探究 -- 目录 标签(空格分隔): KVM KVM 虚拟化原理探究(1)- overview KVM 虚拟化原理探究(2)- QEMU启动过程 KVM 虚拟化原理探究(3)- CP ...
- [原] KVM 虚拟化原理探究(6)— 块设备IO虚拟化
KVM 虚拟化原理探究(6)- 块设备IO虚拟化 标签(空格分隔): KVM [toc] 块设备IO虚拟化简介 上一篇文章讲到了网络IO虚拟化,作为另外一个重要的虚拟化资源,块设备IO的虚拟化也是同样 ...
- [原] KVM 虚拟化原理探究(5)— 网络IO虚拟化
KVM 虚拟化原理探究(5)- 网络IO虚拟化 标签(空格分隔): KVM IO 虚拟化简介 前面的文章介绍了KVM的启动过程,CPU虚拟化,内存虚拟化原理.作为一个完整的风诺依曼计算机系统,必然有输 ...
- [原] KVM 虚拟化原理探究(4)— 内存虚拟化
KVM 虚拟化原理探究(4)- 内存虚拟化 标签(空格分隔): KVM 内存虚拟化简介 前一章介绍了CPU虚拟化的内容,这一章介绍一下KVM的内存虚拟化原理.可以说内存是除了CPU外最重要的组件,Gu ...
- [原] KVM 虚拟化原理探究(3)— CPU 虚拟化
KVM 虚拟化原理探究(3)- CPU 虚拟化 标签(空格分隔): KVM [TOC] CPU 虚拟化简介 上一篇文章笼统的介绍了一个虚拟机的诞生过程,从demo中也可以看到,运行一个虚拟机再也不需要 ...
- [原] KVM 虚拟化原理探究(2)— QEMU启动过程
KVM 虚拟化原理探究- QEMU启动过程 标签(空格分隔): KVM [TOC] 虚拟机启动过程 第一步,获取到kvm句柄 kvmfd = open("/dev/kvm", O_ ...
随机推荐
- WebService 适用场合
适用场合 1.跨防火墙通信 如果应用程序有成千上万的用户,而且分布在世界各地,那么客户端和服务器之间的通信将是一个棘手的问题.因为客户端和服务器之间通常会有防火墙或者代理服 务器.在这种情况下,使用D ...
- Apache的Mod_rewrite学习(RewriteRule重写规则的语法) 转
RewriteRuleSyntax: RewriteRule Pattern Substitution [flags] 一条RewriteRule指令,定义一条重写规则,规则间的顺序非常重要.对Apa ...
- 如何在面试中介绍自己的项目经验(面向java改进版)
本人于3年前写的博文,如何在面试中介绍自己的项目经验,经过大家的捧场,陆续得到了将近7万个点击量,也得到了众多网站公众号的转载,不过自己感觉,这篇文章更多的是偏重于方法,没有具体给到Java方面相关的 ...
- netty之EventLoop源码分析
我们在讲解服务端和客户端时经常会看到提交一个任务到channel对应的EventLoop上,后续的io事件监听和任务执行都在EventLoop完成,可以说EventLoop是netty最核心的组件,我 ...
- 一网打尽,一文讲通虚拟机VirtualBox及Linux使用
本文将从虚拟机的选择.安装.Linux系统安装.SSH客户端工具使用四个方面来详细介绍Linux系统在虚拟机下的安装及使用方法,为你在虚拟机下正常使用Linux保驾护航. 1.虚拟机的选择 在讲虚拟机 ...
- docker cp 拷贝文件 和 进入容器
进入正在运行的容器 # 进入容器 新开一个终端 # docker exec -it 容器id /bin/bash docker exec -it eaac94ef6926 /bin/bash # 进入 ...
- java锁的对象引用
当访问共享的可变数据时,通常需要同步.一种避免使用同步的方式就是不共享数据. 如果数据仅在单线程内访问,就不需要同步,这种技术称为"线程封闭",它是实现线程安全性最简单方式之一. ...
- JavaScript中的事件委托机制跟深浅拷贝
今天聊下JavaScript中的事件委托跟深浅拷贝 事件委托 首先呢,介绍一下事件绑定 //方法一:通过onclick <button onclick="clickEvent()&qu ...
- SAP demo包 示例程序
在SAP的这个开发类中SABAPDEMOS,存放了N多的demo程序 有空的时候,可以看看.
- let关键字:加强版的var关键字
本文首发于个人网站:let关键字:加强版的var关键字 你好,今天大叔想和你唠扯唠扯 ES6 新增的关键字 -- let.再说 let 的具体用法之前,大叔想先和你说说大叔自己对 let 的感受 -- ...