У меня на vmplayer установлено 3 виртуальных машины. Из которых я сделал два из них как хост двух разных сетей. Host1 ip=192.168.1.13 gateway=192.168.1.11
и Host2 ip=192.168.2.14
и gateway=192.168.2.12
. Теперь мне нужна третья виртуальная машина в качестве маршрутизатора, который может передавать пакеты с первой виртуальной машины на вторую виртуальную машину, имеет два адаптера. eth0 ip=192.168.1.11
и eth1 ip=192.168.2.12
. Host1 подключен к eth0
и Host2 подключен к eth1
. Как мне настроить маршрутизатор, чтобы два хоста могли общаться и NAT
'ing может быть выполнено? Пожалуйста, ответьте как можно скорее.
Вы не говорите, какая ОС, поэтому вам приходится иметь дело с предположениями - поэтому предполагая, что производная Debian
Включить пересылку. В /etc/sysctl.conf установите: net.ipv4.ip_forward = 1
Это все, что вам нужно, чтобы пинговать A -> B.
Поскольку вам также по какой-то причине нужен NAT, в /etc/rc.local добавьте необходимые модули - например:
modprobe ipt_conntrack
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe ip_conntrack_irc
modprobe ip_nat_irc
modprobe ip_nat_snmp_basic
Также в /etc/rc.local добавьте:
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.1.11
iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 192.168.2.12
Если вы хотите, чтобы шлюз также имел доступ к Интернету, например, тогда вы должны дать ему третий интерфейс, например, eth2 с IP-адресом в вашей локальной сети, например 10.0.0.200, затем добавьте это:
iptables -t nat -A POSTROUTING -o eth2 -j SNAT --to-source 10.0.0.200
или если у него был адрес DHCP (т.е. это не статический адрес), сделайте это вместо
iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE
затем, наконец, убедитесь, что у шлюза есть маршрут по умолчанию, указывающий на ваш шлюз локальной сети Интернет, оптоволоконную линию или модем DSL. В любом случае это будет сделано автоматически, если ему назначен DHCP.