我正在尝试使用Virtual Box来模拟NAT后面的客户端。
我有一个主机,让我们说一个IP地址130.0.0.1。 我使用两个networking接口创build运行Ubuntu 12.04的虚拟机(我们称之为VM1)。
eth0 - Bridged Adaptor (Let's say it gets an address 130.0.0.2) eth1 - Host-only Adaptor (Let's say it gets an address 192.168.0.1)
在VM1中,我使用以下命令清除任何iptable规则:
iptables -F iptables -t nat -F iptables --delete-chain iptables --table nat --delete-chain
我使用以下命令启用内核转发:
echo 1 > /proc/sys/net/ipv4/ip_forward
我使用iptables创build新的规则:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE OR iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE iptables -A FORWARD -i eth1 -j ACCEPT OR iptables --append FORWARD --in-interface eth1 -j ACCEPT
我configuration其/ etc / network / interface包含以下条目的VM1的eth1接口:
auto lo iface lo inet loopback auto eth1 iface eth1 inet static address 192.168.0.1 netmask 255.255.255.0
我创build了另一个运行Ubuntu 12.04的虚拟机(我们称之为VM2)(主机专用适配器)。 我通过在/ etc / network / interface中设置以下条目来configuration其接口:
auto lo iface lo inet loopback address 192.168.0.2 netmask 255.255.255.0 gateway 192.168.0.1
所以,根据这个设置,VM2应该作为一个NAT(VM1)后面的客户端,我试图连接到来自VM2的主机networking上存在的机器。 当我:
ping 130.0.0.2 or ping 192.168.0.1
有用。 但是当我尝试:
ping 130.0.0.1 or any other machine on that network
我没有得到任何回应。 任何人都可以让我知道我在这里失踪或做错了吗?