LINUX.ORG.RU
ФорумAdmin

Не открывается порт. Куда обратить внимание?


0

0

Добрый день форумчане.

Подскажите пожалуйста советом.

Нужно организовать проброс порта со шлюза (Debian) 192.168.0.2 во внутреннюю локальную сеть на 192.168.0.10, где стоит радмин сервер.

В iptables прописано все что нужно (имхо):

iptables -A INPUT -p tcp --dport 4899 -j ACCEPT

iptables -t nat -A PREROUTING -p tcp -i eth1 --dport 4899 -j DNAT --to-destination 192.168.1.10:4899

но при этом совершенно не хочет коннектится. icmp фключены, флаги тоже. ssh, http работают на ура. Пробовал стандартный радминовский порт менять на другой, к примеру 2121 но ситуация таже. Может в правилаъх какая хитрость?

Пробовал напрямую 9в локалке) соединения идут, все работает. А если пыатться попасть через шлюз идет затык.

anonymous

внимание нужно обратить на цепочку FORWARD и файл /proc/sys/net/ipv4/ip_forward, а именно:
в FORWARD разрешить хождение пакетов от и к 192.168.1.10, например так:
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
IPTABLES -A FORWARD -i eth1 -d 192.168.1.10 -m state --state NEW -j ACCEPT

и включить маршрутизацию - echo 1 > /proc/sys/net/ipv4/ip_forward

З.Ы. правило iptables -A INPUT -p tcp --dport 4899 -j ACCEPT тут не при чем.

Sharp777
()

Странно получается еще затык на открытие порта. Хоть в iptables прописано открыть порт 4899, nmap говорит 4899/tcp closed radmin (

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

а порт сканите с самого шлюза? попробуйте с другой машины.

в плюс к тому что уже написали, надо дать направление пакетам как назад идти:

iptables -t nat -A POSTROUTING -p tcp --dst 192.168.0.10 --dport 4899 -j SNAT --to-source 192.168.0.2

dimass
()

>iptables -A INPUT -p tcp --dport 4899 -j ACCEPT
это не надо, это для локальных приложений, но после замены адреса в nat preroute оно пойдёт на форвард

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

спасибо за сообщения. Тость >iptables -A INPUT -p tcp --dport 4899 -j ACCEPT убрать?

Сканировал порты через nmap-online. Подскажите в итоге чтобы систематизировать знания, какие цепочки должны быть? Только одна цепочка с прероутом и натом? или еще Снат добавить? (запутался немного)

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

> или еще Снат добавить?

Мда, постоянный вопрос :)

Обязательно нужен -j DNAT и разрешение на прохождение пакетов (в обе стороны) в -t filter FORWARD.

Без SNAT правила на ваш сервер 192.168.0.10 будут приходить пакеты с "белым" src-адресом (с адресом машины, на которой запускается клиент). Если ваш сервер 192.168.0.10 допускает конекты с данного адреса и на нем есть маршрут (допустим default), которые отправит обратные пакеты через шлюз с дебианом, то SNAT правило не нужно. А если сервер 192.168.0.10 принимает коннеты только из локалки или ходит в интернет через другой шлюз, то нужно SNAT правило.

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

понял, спасибо за пояснение!

и последний вопрос почему же все таки в списке открытых портов радмина четко нету?

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

потому что этот демон там не висит. он висит на другой машине, куда твой файрвол просто редиректит пакеты.

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

Добавил правило SNAT все получилось, большое всем спасибо! Итого:

iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 4899 -j DNAT --to-destination 192.168.1.10:4899

iptables -t nat -A POSTROUTING -p tcp --dst 192.168.1.10 --dport 4899 -j SNAT --to-source 192.168.1.2

А не подскажете уж до кучи, как правильнее убрать ограничения в правилах, чтобы входить с разных машин и не завязываться по опеределенным ip-ам?

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