mar*_*rry 5 linux networking qemu
我正在尝试在QEMU malta mips上配置网络,该mips使用tap/tun设备和网桥接口在vmware主机(ubuntu)上运行.我的qemu guest无法从DHCP服务器检索IP地址.如果我手动给它,它只能连接到它的主机.使用tcpdump我开始知道传出流量工作正常,但传入不起作用.
任何人都可以建议我如何解决这类问题?谢谢
小智 5
如果您使用 NAT 模式,那么您的主机将充当来宾 VM 的路由器。这意味着您必须在主机上启用路由。
假设您启动 qemu 并将其链接到 tap0 接口并且您的传出 Internet 接口是 eth0,那么您应该:
创建 tap0 虚拟接口:
tunctl -t tap0
ifconfig tap0 192.168.0.1 netmask 255.255.255.0 up
Run Code Online (Sandbox Code Playgroud)激活路由
# activate ip forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward
# Create forwarding rules, where
# tap0 - virtual interface
# eth0 - net connected interface
iptables -A FORWARD -i tap0 -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -o tap0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Run Code Online (Sandbox Code Playgroud)用这样的东西启动你的虚拟机:
qemu [..] -net nic,model=e1000,vlan=0 -net tap,ifname=tap0,vlan=0,script=no
Run Code Online (Sandbox Code Playgroud)在您的 VM 中,使用 ip 192.168.0.2/24 和默认网关 192.168.0.1 配置一个接口