我有一台 qemu 机器,我使用新娘虚拟网络连接到网络,但由于我使用桥接接口,主机无法连接到互联网和局域网。
有没有办法让访客和主机位于路由器(192.168.1.0/24)提供的同一网络中,以便两者都可以访问互联网和局域网?当然,通过桥接网络,主机没有互联网和局域网访问权限
答案1
使用 qemu 访问互联网有多种选项,包括桥接和与 NAT 共享接口。
在命令行中,我的虚拟机对 NAT 接口使用以下网络设备选项:
-netdev tap,fd=26,id=hostnet0 -device rtl8139,netdev=hostnet0,id=net0,mac=52:54:00:2b:4f:a8,bus=pci.0,addr=0x3
在 POSTROUTING 中使用这些 iptables 规则:
Chain POSTROUTING (policy ACCEPT 36650 packets, 6409K bytes)
pkts bytes target prot opt in out source destination
5 312 RETURN all -- * * 192.168.122.0/24 224.0.0.0/24
0 0 RETURN all -- * * 192.168.122.0/24 255.255.255.255
5 300 MASQUERADE tcp -- * * 192.168.122.0/24 !192.168.122.0/24 masq ports: 1024-65535
10 1380 MASQUERADE udp -- * * 192.168.122.0/24 !192.168.122.0/24 masq ports: 1024-65535
0 0 MASQUERADE all -- * * 192.168.122.0/24 !192.168.122.0/24
这些是 virt-manager 配置的默认值,这比构建命令行要简单得多。例如,它还配置 DNS 缓存服务器和 DHCP 服务器。 Virt-manager 还为您提供了选择要桥接的接口或在主接口上选择 NAT 配置的选项,所有这些都只需一个下拉菜单即可。