LINUX.ORG.RU
ФорумAdmin

iptables DNAT с одной сетевой картой


0

1

Локальная сеть 10.1.1.0/24.
Шлюз в интернет 10.1.1.1, к его настройкам нет доступа.
Шлюз транслирует внешний ip (dns-имя) на локальный сервер 10.1.1.2.

Нужно сделать DNAT
10.1.1.2:8102 -> 10.1.1.12:8102

У 10.1.1.2 только одна сетевая плата.

LOCAL_SERVER=«10.1.1.12»
PORT=«8102»
iptables -t nat -A PREROUTING -p tcp --dst $INET_IP --dport $PORT -j DNAT --to-destination $LOCAL_SERVER
iptables -t nat -A POSTROUTING -p tcp --dst $LOCAL_SERVER --dport $PORT -j SNAT --to-source $INET_IP

Не работает...

iptables -t nat -A PREROUTING -p tcp -s 10.1.1.1 -d 10.1.1.2 --dport 8102 -j DNAT --to-destination 10.1.1.12:8102

iptables -t nat -A POSTROUTING -p tcp -s 10.1.1.1 -d 10.1.1.12 --dport 8102 -j SNAT --to-source 10.1.1.2

Это в случае если пакеты входящие в локалку снатятся в адрес шлюза. В ином случае -s можно убрать. Это просто доп. проверка.

Neoretix ()
Ответ на: комментарий от WinLin2

10.1.1.1 - «чужеродный» шлюз.
10.1.1.2 - доступен из интернета по всем портам.
10.1.1.12 - должен быть доступен из интернета по порту 8102.

WinLin2 ★★ ()
Ответ на: комментарий от WinLin2

между 10.1.1.2 и 10.1.1.12 настроить туннель и нужный трафик пробросить через него.

MKuznetsov ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.