Пересылка пакетов между интерфейсами
У меня есть маршрутизатор с 2 взаимодействиями eth0 с IP 10.2.40.4 и eth2 с IP 10.2.20.3 Я хочу, чтобы трафик из сети 10.2.40.0/24 выходил из интерфейса 10.2.20.3, следующий IP-адрес которого 10.2.20.1
Я следовал за следующим документом: https://unix.stackexchange.com/questions/186636/forward-packets-from-one-interface-to-another-interface-using-iptables
Но не смог пройти через это. Запустив tcpdump на eth0, я вижу трафик с 10.2.40.3(IP-адрес компьютера) до 8.8.8.8, а на eth2 я вижу, как трафик преобразуется в 10.2.40.4 до 8.8.8.8
Но обратный трафик, похоже, падает.
1 ответ
NB - отредактировал команду (добавил eth2 как исходящий интерфейс)
Я понимаю из описанной установки, что сторона wan на вашем маршрутизаторе - это eth2 с адресом 10.2.20.3. Следовательно, я ожидал бы, что исходящие пакеты (на eth2) будут иметь исходный IP 10.2.20.3, а не 10.2.40.4. Я думаю, это означает, что вы изменили свои правила nat или что-то в этом роде.
На самом деле кажется, что единственное правило iptables, которое вам нужно, это: iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE
Я предлагаю вам удалить все другие правила DNAT/SNAT/MASQUERADE и попробовать это.