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

iptable nat forwarding

У меня есть три компьютера с Linux (A B и C) в локальной сети. Я хочу сохранить А в качестве клиента и отправить запрос Б. B, в свою очередь, должен направить запрос C, а C должен вернуться обратно к B и, наконец, B к A.

Короче говоря, A должен получить содержимое от C до B.

Я использовал следующую таблицу IP-адресов в B

iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j DNAT --to-destination C

После этого пакеты от A до B достигают C.

Теперь хочу,

  1. C, чтобы ответить B, не отвечая напрямую A.
  2. B, чтобы ответить A с содержанием C.

Что я должен делать ?

Примечание: я также включил ip_forward.

любезно помогите.

Добавьте следующее правило к B (я предполагаю, что eth1 - это интерфейс, обращенный к C):

iptables -A POSTROUTING -t nat -o eth1 -p tcp --dport 80 -j SNAT --to-source B

Альтернатива:

iptables -A ПОСТРОУТИРОВАНИЕ -t nat -d C -p tcp --dport 80 -j SNAT --to-source B

Он преобразует адрес отправителя пересылаемого пакета (первоначально A) в B.