KVM学习(十二)Linux网桥与KVM支持的网络

概念:

网桥是数据链路层的设备,基于MAC地址进行转发。KVM在实现虚拟化的时候,需要在一个宿主机内部共享一个物理网卡实现多个虚拟网卡,所以需要掌握linux网桥的实现方法。
CentOS配置网桥常用方法
1、命令行
2、nmtui:networkmanager的文本用户接口
3、nmcli:networkmanager的命令行工具
4、图形界面管理工具
qemu-kvm支持的网络
1、虚拟机的网络模式:
>基于NAT的虚拟网络
>基于网桥的虚拟网络
>用户自定义的隔离的虚拟网络
>直接分配网络设备(VT-d,SR-IOV)
2、虚拟机的网卡:
>RTL8139、e1000
>virtio

宿主机的网络配置
默认情况下
宿主机KVM1安装libvirt后会自动创建一个default虚拟网络,配置文件在

cat /etc/libvirt/qemu/networks/default.xml

/etc/libvirt/qemu/networks下有一个autostart文件夹,当有网络的配置文件放到该目录下,就会自动启用。
linux自带网桥的工具brctl

brctl show

会显示一个已有的网桥,stp是生成树算法,这里的virbr0并不是一个纯二层的东西,它是有ip地址的。默认的接口叫virbr0-nic,如果此时有虚拟机启动中,会有额外的vnet
在这里插入图片描述
ifconfig可以看到virbr0
在宿主机linux层面上,看到的是一个网络接口,也可以看成是一个虚拟交换机
在这里插入图片描述
而virbr0-nic隐藏起来了

ifconfig -a

在这里插入图片描述
虚拟机网络配置
打开win2k3,ipconfig
可以看到网关,DNS服务器,DHCP服务器都是192.168.122.1,也就是virbr0
在这里插入图片描述
win2k3通过virbr0,linux操作系统自身的NAT功能做了转发,通过地址转换到外部,pingKVM1192.168.160.132是可以ping通的,但由于没有做映射,外部网络ping NAT内部的win2k3是不行的。
kvm的NAT模式
在这里插入图片描述
当虚拟机启动时,虚拟网络default会自动给它们分配虚拟网卡vnet,虚拟机的ip地址是由virbr0分配的。对外部通过NAT组件iptables做转发,eth0也就是KVM1的以太网卡口。

iptables -L -t nat

可以看到有很多规则
在这里插入图片描述
这些规则是由libvirtd启动的时候根据现在的配置向iptables添加的规则。

如果将iptable服务stop,那么内部的虚拟机就无法向外部访问,
这时候重启iptables.service,但nat链表里策略已经都没有了,内部虚拟机还是无法连接。

systemctl restart libvirtd

这时libvirtd会向iptables添加策略,访问恢复
向虚拟机添加虚拟机网络
1、通过virt-manager添加网卡就行
2、通过virshXML文件用attach-device
3、attach-interface挂接新的网络
因为win2k3安装过qemu guest agent,可以在外部host通过virsh domifaddr win2k3里面的ip地址

同时virbr0也具有DNS和DHCP服务器功能。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值