Не получается сделать проброс с помощью dnat iptables в локальной сети

В моей локальной сети находятся 3 машины.

1-ая машина под windows 10, на ней запускается tcp-клиент.

2-ая машина под ubuntu, на ней развернут iptables.

3-ая машина - конечный сервер под ubuntu, на ней развернуто приложение, которое ждет подключение tcp-клиента на каком-то порту (для примера 1111).

Необходимо сделать проброс:

1-ая машина -> 2-ая машина -> 3-ая машина

На 1-ой машине в клиенте указываю адрес назначения пакетов - адрес 2-ой машины и порт 1111. На 2-ой машине в iptables настраиваю 2 правила:

1. iptables -t nat -A PREROUTING –d <ip 2-ой машины> -p tcp --dport 1111 -j DNAT --to-destination <ip 3-й машины>

2. iptables -t nat -A POSTROUTING -p tcp –d <ip 3-й машины> --dport 1111 -j SNAT --to-source <ip 2-ой машины>

Но пакеты не доходят по машины 3. Соединение не устанавливается и клиент отрубается по таймауту. Подскажите, пожалуйста, что я делаю неправильно и что нужно сделать, чтобы соединение в итоге установилось?

Можно ли потом еще донастроить в такой схеме, чтобы пакеты терялись с заданной вероятностью?


Ответы (0 шт):