LINUX.ORG.RU
ФорумAdmin

Перенаправление портов через iptables дает статус filtered

 


0

1

Цель: перенаправить все запросы с ip OpenVPN на локальный ip. Пытался применить:

iptables -t nat -A PREROUTING -p tcp -d 10.8.0.5 -j DNAT --to-destination 192.168.2.152
iptables -t nat -A POSTROUTING -p tcp --dst 192.168.2.152 -j SNAT --to-source 10.8.0.5
Nmap выдал:
PORT   STATE    SERVICE
22/tcp filtered ssh
Может, нужно какое-то правило в FORWARD?

P.S.: 192.168.2.152 адресс конечного устройства в локальной сети, 10.8.0.5 ip клиента OpenVPN



Последнее исправление: DazaiOsamu (всего исправлений: 3)

В правильности твоих правил не разбирался, но в целом, в iptables важна очерёдность правил, т.е. пакет обрабатывается первым подходящим правилом в цепочке и до нижестоящих правил уже не доходит.

anonymous
()
Ответ на: комментарий от anonymous
iptables -S -t nat

выдало:

-P PREROUTING ACCEPT
-P INPUT ACCEPT
-P OUTPUT ACCEPT
-P POSTROUTING ACCEPT
-A PREROUTING -d 10.8.0.5/32 -p tcp -j DNAT --to-destination 192.168.2.152
-A POSTROUTING -d 192.168.2.152/32 -p tcp -m tcp --sport 22 -j SNAT --to-source 10.8.0.5

DazaiOsamu
() автор топика

FORWARD просто не должен запрещать. У тебя --to-source, навеное, что-то типа 192.168.2.1 должно быть.

turtle_bazon ★★★★★
()

Что бы вам не заморачиваться, можно вот так
iptables -t nat -A POSTROUTING -p tcp --dst 192.168.2.152 -j MASQUERADE
Но если очень хочется -j SNAT --to-source $IP, то $IP должен быть адресом локального интерфейса с которого уходят пакеты на 192.168.2.152

ЗЫ
В большинстве случаев применения разницы между этими правилами никакой.

anc ★★★★★
()

Выглядит странно:

iptables -t nat -A POSTROUTING -p tcp --dst 192.168.2.152 -j SNAT --to-source 10.8.0.5

зачем для устройства в локальной сети делать src-адрес не из локальной сети? Если на нём и так маршрут по умолчанию через этот шлюз, что SNAT вобще не нужен, а если нет, то на этом устройстве потребуется прописывать маршрут к 10.8.0.5.

mky ★★★★★
()

1. Распишите сетевую конфигурацию - все интерфейсы и адреса.

2. В цепочке PREROUTING указывайте опцию "-i", а в POSTROUTING - "-o".

funky
()

Ещё важный момент - тот комп, где этот иптаблес, должен быть маршрутом по умолчанию для .152 ну или быть маршрутом для той сети, откуда приходит запрос.

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

Ну роутером, например. Или должен быть маршрут на этом компе, чтобы через него шёл.

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

Достаточно что бы он мог достучаться до 192.168.2.152. Большего не надо, для этого и snat-тим.

anc ★★★★★
()

А во втором правиле разве не -s 192.168.2.152 нужно? Мне кажется что С него идут пакеты, а не НА него. У вас --dst

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