virbr0 是 自动创立的一个 Bridge,其作用是为衔接其上的虚机网卡提供 NAT 访问外网的性能。virbr0 自动调配了一个IP 192.168.122.1,并为衔接其上的其余虚构网卡提供 DHCP 服务。
上方我们展示如何经常使用 virbr0。
在 virt-manager 关上 VM1 的性能界面,网卡 Source device 选用 “default”,将 VM1 的网卡挂在 virbr0 上。
启动 VM1,brctl show 可以检查到 vnet0 曾经挂在了 virbr0 上。
用 virsh 命令确认 vnet 就是 VM1 的虚构网卡。
virbr0 经常使用 dnsmasq 提供 服务,可以在宿主机中检查该进程信息
在 /var/lib/libvirt/dnsmasq/ 目录下有一个 default.leases 文件,当 VM1 成功取得 DHCP 的 IP 后,可以在该文件中检查到相应的信息
上方显示 192.168.122.6 曾经调配给 MAC 地址为 52:54:00:75:dd:1a 的网卡,这正是 vnet0 的 MAC。之后就可以经常使用该 IP 访问 VM1 了。
Ping一下 外网 。
没有疑问,可以访问外网,NAT 起作用了。
须要说明的是,经常使用 NAT 的虚机 VM1 可以访问外网,但外网不可间接访问 VM1。 由于 VM1 收回的网络包源地址并不是 192.168.122.6,而是被 NAT 交流为宿主机的 IP 了。
这个与经常使用 br0 不一样,在 br0 的状况下,VM1 经过自己的 IP 间接与外网通讯,不会经过 NAT 地址转换。
下节我们探讨 vlan 在 linux bridge 中的成功 。
书籍: 1.《每天5分钟玩转 》 https://item.jd.com/12086376.html(点击 “阅读原文” 中转)
2.《每天5分钟玩转Docker容器技术》 https://item.jd.com/16936307278.html