LINUX.ORG.RU
ФорумAdmin

Проброс порта внутрь сети


0

0

Добрый день! Вопрос вот в чем. Есть сеть, с Alt Linux в качестве маршрутизатора. За ним стоит сервер, на котором настроенно клиент-серверное приложение. Нужно что бы это приложение работало изнутри офиса, т.е. при настройке программы я указываю порт 4411, которое оно использует, и все работает.

В iptables я прописываю правило:

$IPTABLES -t nat -A PREROUTING -p TCP -d $INET_IP --dport 4411 -j DNAT --to-destination 192.168.0.157:4411

$IPTABLES -t nat -A POSTROUTING -s 192.168.0.157 -p TCP --sport 4411 -j SNAT --to-source $INET_IP:4411

но ничего не работает.

Если добавляю строчку:

$IPTABLES -A FORWARD -p ALL -i $INET_IFACE -o $LAN_IFACE -s 192.168.0.157 --dport 4411 -j ACCEPT

то при запуске скрипта пишет:

Starting firewalling... Cheking module dependencies... Loading additional modules... Flushing chains... iptables v1.3.1: Unknown arg `--dport' Try `iptables -h' or 'iptables --help' for more information.

Если кто то сталкивался с подобной проблемой помогите советом, в какую сторону смотреть.

$IPTABLES -t nat -A PREROUTING -p TCP -d $INET_IP --dport 4411 -j DNAT --to-destination 192.168.0.157:4411

Прверащается

$IPTABLES -t nat -A PREROUTING -p TCP -d $INET_IP -m tcp --dport 4411 -j DNAT --to-destination 192.168.0.157:4411

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

достаточно одного правила:

iptables -t nat -A PREROUTING -p tcp -d $INET_IP --dport 4411 -j DNAT --to-destination 192.168.0.157

вы уверены что у вас правила добавляются?
iptables -t nat -L -v -n
смотрите?

какие еще правила есть? FORWARD не заблочен?

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

И TCP стоит наверное в нижнем регистре писать... Хотя он бы ругался наверное на незнакомый протокол...

oxumorron
()

У меня точно работает:

iptables -t filter -A INPUT -i eth1 -p tcp -m tcp --dport 5678 -j ACCEPT

iptables -t filter -A FORWARD -i eth1 -p tcp -m tcp --dport 5678 -j ACCEPT

iptables -t nat -A PREROUTING -d 1.2.3.4 -i eth1 -p tcp -m tcp --dport 5678 -j DNAT --to-destination 192.168.1.100:5678

На всякий случай lsmod:

Module                  Size  Used by
agpgart                26928  1 intel_agp
ata_generic             5252  0 
capability              3336  0 
commoncap               5376  1 capability
eepro100               26384  0 
evdev                   7936  0 
i2c_piix4               7436  0 
intel_agp              21532  1 
ip_tables              10184  3 iptable_mangle,iptable_nat,iptable_filter
iptable_filter          2304  1 
iptable_mangle          2304  0 
iptable_nat             6148  1 
ipv6                  226016  22 
lp                      9800  0 
mii                     4736  2 eepro100,via_rhine
nf_conntrack           47560  4 iptable_nat,nf_nat,nf_conntrack_ipv4,xt_state
nf_conntrack_ipv4      13324  4 iptable_nat
nf_nat                 15276  1 iptable_nat
nfnetlink               5016  3 nf_nat,nf_conntrack_ipv4,nf_conntrack
parport                30152  2 lp,parport_pc
parport_pc             23844  1 
pcspkr                  2304  0 
psmouse                34440  0 
shpchp                 29204  0 
tun                     8064  1 
via_rhine              20360  0 
x_tables               11268  5 iptable_nat,xt_tcpudp,xt_limit,xt_state,ip_tables
xt_limit                2304  1 
xt_state                2048  2 
xt_tcpudp               3200  19
berrywizard ★★★★★
()
Ответ на: комментарий от hizel

Правил еще цалая куча есть. Forward выставлен в DROP. А эти правила добавляются.

Если ставлю Forward в ACCEPT то соединяется нормально.

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

$IPTABLES -A FORWARD -p tcp -d 192.168.0.157 --dport 4411 -m state --state NEW,ESTABLISHED -j ACCEPT

$IPTABLES -A FORWARD -p tcp -s 192.168.0.157 --sport 4411 -m state --state ESTABLISHED -j ACCEPT

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

Имхо правильнее
iptables -I FORWARD -d 192.168.0.157 --dport 4411 -j ACCEPT
iptables -I FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

Предлагаю отходить от парадигмы stateless-фаервола.

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

# Проброс порта
iptables -t nat -I PREROUTING -d $INET_IP -p tcp --dport 4411 -j DNAT --to-destination 192.168.0.157
# Разрешить открытие соединений для этого порта
iptables -I FORWARD -d 192.168.0.157 --dport 4411 -j ACCEPT
# Разрешить работу уже установленных соединений
iptables -I FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

Вот и все, что нужно! И не надо глядеть на iptables как на загадочный иной разум. Там все просто, как швабра.

nnz ★★★★
()

> $IPTABLES -A FORWARD -p ALL -i $INET_IFACE -o $LAN_IFACE -s 192.168.0.157 --dport 4411 -j ACCEPT

Опции "-p ALL" и "--dport" несовеместимы. Порты есть только у некоторых протоколов (tcp, udp и др.), но не у всех.

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

Кстати и птичках.
Никто не в курсе, когда они наконец порты для udplite сделают?

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

>iptables -I FORWARD -d 192.168.0.157 --dport 4411 -j ACCEPT

-p tcp забыл. Блин :)

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

>Имхо правильнее >iptables -I FORWARD -d 192.168.0.157 --dport 4411 -j ACCEPT >iptables -I FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

>Предлагаю отходить от парадигмы stateless-фаервола.

Это дело удобства. Лично я делаю правила узко по задачам и группирую их рядом для удобства чтения. Общих правил, покрывающих несколько задач не делаю, чтобы не нарушить логичность. +- несколько правил на призводительность для моих задач не сказывается.

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

>Это дело удобства

Это вопрос эпохи.
В прошлом веке можно было и не уметь пользоваться stateful-правилами.
А в нашем веке их использование дает немалый профит, поэтому не пользоваться ими не имеет смысла.

>Общих правил, покрывающих несколько задач не делаю, чтобы не нарушить логичность


Вот как раз stateless и нелогичны.

С недостатками stateless-парадигмы вы еще столкнетесь, если начнете решать более-менее сложные задачи.

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

>только вместо iptables -I, сделал iptables -A

Просто когда я пишу человеку, не зная его конфигурации фаервола, я всегда стараюсь использовать добавление правил именно в начало, а не в конец цепочки. Мало ли что в этой цепочке может быть :)

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