Назад | Перейти на главную страницу

Имитация клиента за NAT в Virtual Box

Я пытаюсь смоделировать клиента за NAT с помощью Virtual Box.

У меня есть хост-машина, скажем, с IP-адресом 130.0.0.1. Я создаю виртуальную машину (назовем ее VM1) под управлением Ubuntu 12.04 с двумя сетевыми интерфейсами.

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:

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

Я настраиваю интерфейс eth1 виртуальной машины 1, в / etc / network / interface которой есть следующие записи:

auto lo
iface lo inet loopback 
auto eth1 
iface eth1 inet static 
address 192.168.0.1 
netmask 255.255.255.0

И я создаю еще одну виртуальную машину (назовем ее VM2) под управлением Ubuntu 12.04 (адаптер только для хоста). Я настраиваю его интерфейс, устанавливая следующие записи в / etc / network / interface:

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. Когда я:

ping 130.0.0.2 or
ping 192.168.0.1 

оно работает. Но когда я пытаюсь:

ping 130.0.0.1 or
any other machine on that network

Я не получаю ответа. Может ли кто-нибудь сообщить мне, что мне здесь не хватает или что я делаю неправильно?