flapflapjack
@flapflapjack
на треть я прав

Как сделать SNAT port forwarding на iptables или на shorewall?

Всем привет.

Подскажите что делаю не так.
У меня на дебиане интерфейсы:
ens18 ip 192.168.1.125/24 - локалка серверов 192.168.1.0/24
ens19 смотрит в интернет A.B.C.D/24 белый IP
ens20 ip 192.168.10.250 смотрит в локалку телефонии 192.168.10.0/24

История:
После перезагрузки нашего компа-шлюза в офисе у нас потерял доступ к сети телефонии чувак, который обслуживает АТСку в подсети 192.168.10.3. Все правила были настроены shorewall'ом. Шлюз стоял без перезагрузки миллион лет, и скорее всего 10 поколений работников назад кто-то вручную влепил в сформированные шореволлом правила iptables правила перенаправления внешнего порта A.B.C.D:4890 на 192.168.10.3:4899 для RAdmin.


Шлюз перезагрузился после длительного отсутствия питания в электросети. Теперь все работает кроме RAdmin извне.

Я делаю вроде бы правильно (на тестовой виртуалке где нет больше никаких правил, и где всё ACCEPT:
iptables -A FORWARD -j ACCEPT
iptables -t nat -A PREROUTING -d A.B.C.D/32 -p tcp -m tcp --dport 4899 -j DNAT --to-destination 192.168.10.3:4899
iptables -t nat -A POSTROUTING -d 192.168.10.3/32 -o ens20 -p tcp -m tcp --dport 4899 -j SNAT --to-source A.B.C.D


Но нифига не работает.
Если с левого внешнего ip сделать
nmap A.B.C.D -p4899
То показывает
4899 RAdmin <b>filtered</b>
То бишь я получаю REJECT
Мало того, после применения данных правил, даже с самого шлюза я получаю filtered на этом порту у АТСки, хотя до применения правил статус opened.

Не понимаю я в чем дело.
  • Вопрос задан
  • 826 просмотров
Пригласить эксперта
Ответы на вопрос 1
@galaxy
iptables -t nat -A POSTROUTING -d 192.168.10.3/32 -o ens20 -p tcp -m tcp --dport 4899 -j SNAT --to-source A.B.C.D

Это не надо.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы