3 天后,我终于让 kvm 来宾通过无线在网络上工作(下面的链接 - 谢谢!):
我的网络是192.168.1.0/24
在主机上:
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
sudo tunctl -t tap0
sudo ip link set tap0 up
sudo ip addr add 192.168.1.25/24 dev tap0
sudo route add -host 192.168.1.30 dev tap0
sudo parprouted wlan0 tap0
Run Code Online (Sandbox Code Playgroud)
关于客人:
auto eth0
iface eth0 inet static
address 192.168.1.30
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.25
Run Code Online (Sandbox Code Playgroud)
并启动客人:
sudo kvm /path/to/guest.img -net nic,macaddr=DE:AD:BE:EF:90:26 -net tap,ifname=tap0,script=no
Run Code Online (Sandbox Code Playgroud)
这很好用,我可以在来宾之间来回 ping 本地网络和互联网。
但是如何将这些设置添加到来宾的 xml 配置中,以便我可以使用相同的 nic 设置通过 virt-manager 启动来宾?
参考:
我需要测试我的软件在互联网上运行,即两台机器可以通过主机地址和名称解析相互通信,路由器和端口转发之间。做到这一点的最佳方法是什么?我可以使用任何操作系统并在虚拟机上进行设置。
机器A | 路由器 | 调制解调器/互联网/广域网?| DNS 服务器 | 调制解调器/互联网/广域网?| 路由器 | 机器B
基本上,我需要模拟一台具有隐藏在另一台机器上的内部 IP 地址的机器,并且该机器只能通过带有端口转发的另一个 IP 地址(路由器)访问。