【虚拟化应用系列教程】KVM网络管理
下期教程:KVM存储管理
一、关于网卡驱动
效果最好的是
virtio
二、通过命令行的方式添加虚拟网卡
这个网卡是给我们自己创建的虚拟机添加网卡,类似
Vmware
给虚拟机添加多块网卡
1.图形化工具添加虚拟网卡
[root@lvm ~]# virt-manager
2.命令行添加虚拟网卡
[root@lvm ~]# virsh attach-interface vm01 --type network --source default --model virtio --persistent
成功附加接口
--persistent
虚拟机立即生效、永久生效--config
永久生效、需要重启虚拟机--live
立即生效、临时生效,虚拟机重启后无效
3.查看虚拟机的网卡
[root@lvm ~]# virsh domiflist vm01
接口 类型 源 型号 MAC
-------------------------------------------------------
vnet0 network default virtio 52:54:00:4f:35:95
vnet1 network default virtio 52:54:00:e6:c2:70
进入虚拟机查看网卡
4.删除虚拟网卡
[root@lvm ~]# virsh detach-interface vm01 --type network --mac 52:54:00:e6:c2:70 --persistent
成功分离接口
[root@lvm ~]# virsh domiflist vm01
接口 类型 源 型号 MAC
-------------------------------------------------------
vnet0 network default virtio 52:54:00:4f:35:95
三、KVM虚拟网络工作模式
三种模式
NAT
模式bridge
桥接模式- 隔离模式
1.NAT模式
适用于虚拟机主动访问外部网络
- 需要注意的地方:
- 检查网关
- 路由转发功能是否开启
- snat规则是否合理
- 如果想要发布服务(端口映射),不可以和实体机的端口有冲突
创建NAT
网络
[root@lvm ~]# virt-manager
发布服务(端口映射)
以
httpd
服务为例子
把虚拟机的192.168.122.51:80
端口映射到实体机8080
端口上
# iptables -t nat -I PREROUTING -d 192.168.140.16 -p tcp --dport 8080 -j DNAT --to-destination 192.168.122.51:80
2.Bridge
桥接模式
作用:一般用于
2
台虚拟机跨物理相互通信
- 注意事项:
- 在配置之前需要关闭
NetworkManager
服务 - 物理网卡必须是静态地址
- 在配置之前需要关闭
A.先停止NetworkManager服务
[root@lvm ~]# systemctl stop NetworkManager
B.备份网卡配置文件
ens33
是网卡名
[root@lvm ~]# cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens33.bak
C.命令行手动创建虚拟网络
virsh iface-bridge 物理网卡名 虚拟网卡名
[root@lvm ~]# virsh iface-bridge ens33 br1
已启动桥接接口 br1
D.查看网卡
[root@lvm ~]# ifconfig
br1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.140.16 netmask 255.255.255.0 broadcast 192.168.140.255 #可以看到我们的物理机的IP地址跑到了br1虚拟网卡上
inet6 fe80::20c:29ff:fe49:9ac5 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:49:9a:c5 txqueuelen 1000 (Ethernet)
RX packets 78 bytes 4562 (4.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 74 bytes 137427 (134.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether 00:0c:29:49:9a:c5 txqueuelen 1000 (Ethernet)
RX packets 108369 bytes 12390650 (11.8 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 120804 bytes 149676848 (142.7 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
E.删除桥接网络
先关闭网卡
注意:如果你是
SSH
连接,那么SSH
会断开连接!
# ifconfig br1 down
删除连接
# brctl delbr br1
# brctl delif br1 ens33
恢复原来的网卡配置文件
[root@lvm ~]# cp /etc/sysconfig/network-scripts/ifcfg-ens33.bak /etc/sysconfig/network-scripts/ifcfg-ens33
[root@lvm ~]# systemctl restart network
3.隔离模式
和
VMware
的仅主机模式网络类似,只能虚拟机互相访问,外部无法访问