Есть два сервера, оба подключены к интернету через один модем 192.168.1.1
Первый сервер. Одна сетевая карта подключена к модему 192.168.1.3, другая 192.168.3.1 выполняет роль шлюза, для всех компьютеров использующих шлюз 192.168.3.1 интернет закрыт.
На втором сервере есть три сетевые карты:
eth0 Подключение к модему.
auto eth0
iface eth0 inet static
address 192.168.1.2
netmask 255.255.255.0
gateway 192.168.1.1
eth1 выполняет роль шлюза для сети 192.168.2.0 в которую раздается интернет.
auto eth1
iface eth1 inet static
address 192.168.2.1
netmask 255.255.255.0
eth2 подключение к сети 192.168.3.0 в которой роль шлюза выполняет первый сервер.
auto eth2
iface eth2 inet static
address 192.168.3.2
netmask 255.255.255.0
gateway 192.168.3.1
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
На сервере настроен nat.
Если отключить eth2 компьютеры в сети 192.168.2.0 без проблем выходят в интернет, трафик идет как и положено через eth0.
Со включенным eth2 в сети 192.168.2.0 интернет пропадает, traceroute показывает что вместо eth0 пакеты идут через eth2 на второй сервер.
Пробовал указывать метрику для eth1 - metric 1, eth2 - metric 2. Это решает проблему, трафик снова идет как через eth0
Но возникает другая проблема, если я из дому по vpn подключаюсь к первому серверу 192.168.3.1 не проходит пинг на сетевой адрес второго сервера 192.168.3.2 eth2. Хотя пинг проходит на все остальные компьютеры в сети 192.168.3.0, но не идет именно на 192.168.3.2 eth2.
Необходимо обеспечить выход в интернет для компьютеров 192.168.2.0, но при этом eth2 должна быть подключена ко второй сети 192.168.2.0.