У меня есть отдельная сеть с одной машиной с IP-адресом 10.10.10.4. Другая машина (машина шлюза) имеет два сетевых адаптера: eth0 и eth1. eth1 (10.10.10.10) подключен к машине внутренней сети и не имеет прямой связи с внешним миром. eth0 (192.168.1.171) подключен к внешнему физическому адаптеру.
Теперь я хочу связаться с внешней сетевой машиной, имеющей IP-адрес 192.168.1.185. Я добавил шлюз по умолчанию во внутренней сети как:
$ route добавить по умолчанию gw 10.10.10.10
(Шлюз по умолчанию для внешней сети - 192.168.1.1). Я также добавил шлюз по умолчанию на машине шлюза как:
$ route добавить gw по умолчанию 192.168.1.171 направить трафик во внешний мир.
Для входящего трафика я также включил сеть с помощью команды маршрута:
$ route add -net 10.10.10.0 маска сети 255.255.255.0 gw 10.10.10.10
Машина шлюза также может напрямую связываться с внешней машиной (192.168.1.185) с помощью iperf и т. Д.
Теперь проблема, с которой я столкнулся, заключается в том, что когда я проверяю связь с внешней машиной (192.168.1.185) через внутреннюю сетевую машину (10.10.10.4); Я могу видеть пакеты, предназначенные для внешней машины на eth1 интерфейс в Gateway Machine с помощью wirehark. Внутренний сетевой компьютер (10.10.10.4) также может успешно пинговать 10.10.10.10 и 192.168.1.171 (eth0 IP).
Однако пакеты не могут достичь интерфейса eth0. и, как следствие, машина внутренней сети не может взаимодействовать с внешней сетью. Я проверил это с помощью wirehark, что пакеты принимаются на интерфейсе eth1, который настроен как шлюз по умолчанию для внутреннего компьютера (10.10.10.4). Поскольку я также добавил маршрут по умолчанию на машине шлюза, я ожидаю, что пакеты будут доходить до внешней сети через eth0, но этого не происходит, и пакеты не достигают интерфейса eth0. Может ли кто-нибудь помочь мне в этом и указать, если я что-то упускаю? Вся помощь очень ценится.
Спасибо.
вы разрешили переадресацию ip?
echo 1 > /proc/sys/net/ipv4/ip_forward
кстати - попробуй команда ip вместо маршрута.