kvm网络模式Word文档格式.docx
《kvm网络模式Word文档格式.docx》由会员分享,可在线阅读,更多相关《kvm网络模式Word文档格式.docx(15页珍藏版)》请在冰豆网上搜索。
![kvm网络模式Word文档格式.docx](https://file1.bdocx.com/fileroot1/2022-10/26/826c3132-2f09-4544-a333-6f6a44127df4/826c3132-2f09-4544-a333-6f6a44127df41.gif)
可以使虚拟机成为网络中具有独立IP的主机。
桥接网络〔也叫物理设备共享〕被用作把一个物理设备复制到一台虚拟机。
网桥多用作高级设置,特别是主机多个网络接口的情况。
如上图,网桥的根本原理就是创立一个桥接接口br0,在物理网卡和虚拟网络接口之间传递数据。
Bridge方式的适用范围
效劳器主机虚拟化。
网桥方式配置步骤
1、编辑修改网络设备脚本文件,增加网桥设备br0
vi/etc/sysconfig/network-scripts/ifcfg-br0
DEVICE="
br0"
ONBOOT="
yes"
TYPE="
Bridge"
BOOTPROTO=static
DEFROUTE=yes
上述配置将虚拟网卡配置在了10.0.112.*网段。
如果不需要静态地址,可以把配置地址的相关项屏蔽。
如:
BOOTPROTO=dhcp
2、编辑修改网络设备脚本文件,修改网卡设备eth0
eth0"
NM_CONTROLLED="
no"
TYPE=Ethernet
BOOTPROTO=none
BRIDGE="
NAME="
Systemeth0"
HWADDR=44:
37:
E6:
4A:
62:
AD
NM_CONTROLLED这个属性值,根据redhat公司的文档是必须设置为“no〞的〔这个值为“yes〞表示可以由效劳NetworkManager来管理。
NetworkManager效劳不支持桥接,所以要设置为“no〞。
〕,但实际上发现设置为“yes〞没有问题。
通讯正常。
3、重启网络效劳
#servicenetworkrestart
4、校验桥接接口
#brctlshow
bridgenamebridgeidSTPenabledinterfaces
br08000.4437e64a62adnoeth0
客户机配置
客户机安装时注意,网络要选择用br0桥接方式。
图形化的方式:
文本方式:
编辑修改虚拟机配置文件/etc/libvirt/qemu/v1.xml,增加如下内容
<
interfacetype='
bridge'
>
macaddress='
52:
54:
00:
da:
c3:
dc'
/>
sourcebridge='
br0'
modeltype='
virtio'
addresstype='
pci'
domain='
0x0000'
bus='
0x00'
slot='
0x03'
function='
0x0'
/interface>
虚拟机启动后,验证网络接口是否正常:
#brctlshow
vnet0
NAT方式的影响
网桥方式的配置与虚拟机支持模块安装时预置的虚拟网络桥接接口virbr0没有任何关系,配置网桥方式时,可以把virbr0接口〔即NAT方式里面的default虚拟网络〕删除。
#virshnet-destroydefault
#virshnet-undefinedefault
#servicelibvirtdrestart
NAT模式
本文主要解释NAT方式的配置。
NAT方式原理
NAT方式是kvm安装后的默认方式。
它支持主机与虚拟机的互访,同时也支持虚拟机访问互联网,但不支持外界访问虚拟机。
检查当前的网络设置:
#virshnet-list--all
NameStateAutostart
-----------------------------------------
defaultactiveyes
default是宿主机安装虚拟机支持模块的时候自动安装的。
检查当前的网络接口:
#ifconfig
eth0Linkencap:
EthernetHWaddr44:
AD
inet6addr:
fe80:
:
4637:
e6ff:
fe4a:
62ad/64Scope:
Link
UPBROADCASTRUNNINGMULTICASTMTU:
1500Metric:
1
RXpackets:
987782errors:
0dropped:
0overruns:
0frame:
TXpackets:
84155errors:
0carrier:
collisions:
0txqueuelen:
1000
RXbytes:
109919111(104.8MiB)TXbytes:
12695454(12.1MiB)
Interrupt:
17
loLinkencap:
LocalLoopback
:
1/128Scope:
Host
UPLOOPBACKRUNNINGMTU:
16436Metric:
4errors:
0
240(240.0b)TXbytes:
240(240.0b)
virbr0Linkencap:
EthernetHWaddr52:
B9:
B0:
96
0errors:
2126errors:
0(0.0b)TXbytes:
100387(98.0KiB)
virbr0-nicLinkencap:
BROADCASTMULTICASTMTU:
500
0(0.0b)
其中virbr0是由宿主机虚拟机支持模块安装时产生的虚拟网络接口,也是一个switch和bridge,负责把内容分发到各虚拟机。
几个虚拟机管理模块产生的接口关系如下列图:
从图上可以看出,虚拟接口和物理接口之间没有连接关系,所以虚拟机只能在通过虚拟的网络访问外部世界,无法从网络上定位和访问虚拟主机。
virbr0是一个桥接器,接收所有到网络192.168.122.*的内容。
从下面命令可以验证:
virbr08000.525400b9b096yesvirbr0-nic
#route
KernelIProutingtable
DestinationGatewayGenmaskFlagsMetricRefUseIface
192.168.122.0*255.255.255.0U000virbr0
同时,虚拟机支持模块会修改iptables规那么,通过命令可以查看:
#iptables-tnat-L-nv
ChainPREROUTING(policyACCEPT16924packets,2759Kbytes)
pktsbytestargetprotoptinoutsourcedestination
ChainPOSTROUTING(policyACCEPT2021packets,125Kbytes)
pktsbytestargetprotoptinoutsourcedestination
42131847MASQUERADEall--**192.168.122.0/24!
192.168.122.0/24----------->
这条是关键,它配置了NAT功能。
ChainOUTPUT(policyACCEPT2021packets,125Kbytes)
#iptables-tfilter-L-nv
ChainINPUT(policyACCEPT0packets,0bytes)
174ACCEPTudp--virbr0*0.0.0.0/00.0.0.0/0udpdpt:
53---->
由libvirt脚本自动写入
00ACCEPTtcp--virbr0*0.0.0.0/00.0.0.0/0tcpdpt:
3984ACCEPTudp--virbr0*0.0.0.0/00.0.0.0/0udpdpt:
67---->
00ACCEPTtcp--v