KVM虚拟网络
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了KVM虚拟网络相关的知识,希望对你有一定的参考价值。
宿主服务器安装完成KVM,首先要设定网络,以便和主机网络,客户机之间的网络通信在libvirt中运行KVM网络有两种方法:NAT和Bridge,默认为NAT
KVM 客户机网络连接有两种方式:
(1)用户模式(NAT):这种方式是默认网络,数据包由NAT方式通过主机的接口进行传送,可以访问外网,但是无法从外网访问虚拟机网络
(2)桥接模式(Bridge):这种模式允许虚拟机像一台独立的主机一样拥有网络,外部的主机可以直接访问到虚拟机内部
一、基于NAT的虚拟网络
KVM安装时默认的网络配置
默认宿主机会有一个虚拟网卡virbr0,其实是一个虚拟交换机,并绑定一个网卡virbr0-nic
这时候主机就变成了一个路由器,可以看到路由功能已经打开,并做了SNAT
[[email protected] ~]# cat /proc/sys/net/ipv4/ip_forward
1
[[email protected] ~]# iptables -t nat -L
当有虚拟机启动,如果采用的是默认NAT模式,那么virbr0交换机下就会增加接口,可以看到有2个虚拟接口,代表有2个虚拟机接到了这个交换机上
可以通过virsh命令查看虚拟机的网卡情况
向虚拟机添加虚拟机网络
可以通过xml文档添加:
<interface type='network'>
<mac address='52:54:00:aa:18:d1'/>
<source network='default'/> //网络模式
<model type='virtio'/> //网卡类型
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
二、基于网桥的虚拟网络
首先需要创建虚拟交换机,方式很多,可以通过图形化,nmcli命令等方式,下面通过直接该配置文件创建虚拟交换机
(1)在宿主机添加配置文件
重新启动网络,让虚拟交换机br0激活
(2)为虚拟机添加网络
如果虚拟机是关机情况下,执行以下命令
virsh attach-interface vm1 bridge br0 --model virtio --config // 下次启动生效
如果虚拟机是开机情况下,执行以下命令
virsh attach-interface vm2 bridge br0 --model virtio --current // 立即生效
cd /etc/libvirt/qemu
virsh dumpxml vm2 > vm2.xml //为了让每次开机都生效,新生成一次配置文件替换原来的配置文件
以上是关于KVM虚拟网络的主要内容,如果未能解决你的问题,请参考以下文章