第 1 章 虚拟化 - 011 - 理解 virbr0
virbr0 是 KVM 默认创建的一个 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 提供 DHCP 服务,可以在宿主机中查看该进程信息
在 /var/lib/libvirt/dnsmasq/ 目录下有一个 default.status 文件,当 VM1 成功获得 DHCP 的 IP 后,可以在该文件中查看到相应的信息
上面显示 192.168.122.5 已经分配给 MAC 地址为 52:54:00:50:6a:5a 的网卡,这正是 vnet0 的 MAC。
之后就可以使用该 IP 访问 VM1 了。
Ping一下外网。
没有问题,可以访问外网,NAT 起作用了。
使用 NAT 的虚机 VM1 可以访问外网,但外网无法直接访问 VM1。 因为 VM1 发出的网络包源地址并不是 192.168.122.5,而是被 NAT 替换为宿主机的 IP 了。
这个与使用 br0 不一样,在 br0 的情况下,VM1 通过自己的 IP 直接与外网通信,不会经过 NAT 地址转换。
-------------------------------------------------引用来自-------------------------------------------------------
https://mp.weixin.qq.com/s?__biz=MzIwMTM5MjUwMg==&mid=2653587925&idx=1&sn=13bc307ede2bcbfea15d9e2848680fa4&chksm=8d3081ccba4708da3bb35c13788234640548bcc3d8fb8b880a248c8dcb8bf9a9e6504e804406&scene=21#wechat_redirect