主机系统为Ubuntu,安装了virtualbox,虚拟机为XP系统,想使虚拟机XP能够正常访问网络,并且能够以主机的iptables控制虚拟机的某些访问。
一开始使用了bridged模式,发现实验iptables怎么也控制不了虚拟机的网络访问,网上查资料发现这种方式下虚拟机和宿主机相当于使用一个交换机上网,所以宿主机的iptables是无法控制虚拟机的。于是决定使用host-only模式。
开始发现我的virtualbox没有供host-only的虚拟网卡,于是我自己创建了一个: tunctl -t vboxnet1 -u (用户名);
然后编辑文件 /etc/network/interfaces
auto vboxnet1
iface vboxnet1 inet static
address 192.168.57.10
netmask 255.255.255.0
Gateway 192.168.57.1
保存好退出然后在virtualbox里面选择了这块网卡。
然后设置我的XP系统虚拟机IP为192.168.57.11,网关为192.168.57.1,DNS和宿主机上相同。
再设置了一下主机的iptables:
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.57.11 -j SNAT --to 172.31.159.2
iptables -t nat -A PREROUTING -i eth0 -d 172.31.159.2 -j DNAT --to 192.168.57.11
这样设置后发现XP虚拟机无法访问网络。。。。
在XP系统中可以ping通网关192.168.57.1,但ping 不通DNS
在主机上用wireshark抓包发现,eth0上收不到虚拟机的数据包。
我想应该是vboxnet1网卡到eth0上没有通,所以导致虚拟机无法上网,但是不知道如何解决这种问题,请大家帮忙指点!感激不尽~!
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。