LINUX.ORG.RU
ФорумAdmin

Redirect to another port


0

0

Подскажите верно правило:

iptables -t nat -A PREROUTING -p tcp --dport 22 -d 192.168.2.90/24 -s 192.168.2.111/24 --sport 888 -j REDIRECT --to-ports 22

которое позволяет перенаправить от 192.168.2.111 Port 888 на 192.168.2.90 Port 22. клиент ssh в putty прописывает у себя 192.168.2.111 port 888, его перенаправляют на ssh server 192.168.2.90 Port 22?

anonymous

Я чесно говоря слабо понял что ты хочешь соорудить. Но правило
> которое позволяет перенаправить от 192.168.2.111 Port 888 на 192.168.2.90 Port 22
будет выглядеть примерно так:
-t nat -A PREROUTING -s 192.168.2.111 --sport 888 -p tcp -m tcp -j DNAT --to-destination 192.168.2.90:21

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

2anonymous (*) (25.04.2006 13:11:14):
в freebsd есть несколько способов.
_Например_:
pf, ipnat:
rdr on $if proto tcp from 192.168.2.111 to <ip server'а> port 888 -> 192.168.2.90 port 22

2anonymous (*) (25.04.2006 13:30:20):
а команду точно написал?? -p tcp есть??
покажи ее.

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

вообщем прописал я по другому:

iptables -t nat -I PREROUTING -p tcp -d 192.168.2.111 --dport 22 -s 0/0 --sport 888 -j DNAT --to-destination 192.168.2.90:22

пытаюсь я локальной сети коннектиться на 2.111 по ssh получаю Connection Refused.

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

или я совсем ничего не понял или так: 
iptables -t nat -I PREROUTING -p tcp -d 192.168.2.111 --dport 888 -j DNAT --to-destination 192.168.2.90:22

если охота ограничить по src addr то
в -s указать ип компутера с putty'ей.

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

во первых посмотри в iptables-save нет ли у тебя лишних правил очень похожих на то, о котором мы говорим.
Потом добавь правило именно с -А параметром.

iptables -t nat -A PREROUTING -p tcp -d 192.168.2.111 --dport 22 -j DNAT --to-destination 192.168.2.90:22

теперь если ты буш коннектится к 2.111 по ssh, то тебя перебросит на 2.90:22 (ssh)

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

я специально поставил -I.

Apr 25 14:28:55 gate kernel: SFW2-OUT-ERROR IN= OUT=eth0 SRC=192.168.2.111 DST=192.168.2.101 LEN=76 TOS=0x00 PREC=0xC0 TTL=64 ID=46639 PROTO=ICMP TYPE=5 CODE=1 GATEWAY=192.168.2.90 [SRC=192. 68.2.101 DST=192.168.2.90 LEN=48 TOS=0x00 PREC=0x00 TTL=127 ID=57579 PROTO=TCP SPT=1901 DPT=22 WINDOW=16384 RES=0x00 SYN URGP=0 OPT (020405B401010402) ]

Apr 25 14:28:55 gate kernel: SFW2-FWDint-DROP-DEFLT IN=eth0 OUT=eth0 SRC=192.168.2.101 DST=192.168.2.90 LEN=48 TOS=0x00 PREC=0x00 TTL=127 ID=57579 PROTO=TCP SPT=1901 DPT=22 WINDOW=16384 RE =0x00 SYN URGP=0 OPT (020405B401010402)

eth0: 192.168.2.111

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

стоит все таки почитать хттп://gazette.lrn.ru/rus/articles/index-iptables-tutorial.html

iptables -I FORWARD -s 192.168.2.101 -d 192.168.2.90 -p tcp --dport 22 -j ACCEPT

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

спасибо. почитал. но:

iptables -t nat -I PREROUTING -i eth0 -p tcp -d 192.168.2.111 --dport 888 -s 192.168.2.101/24 -j DNAT --to-destination 192.168.2.90:22

iptables -I FORWARD -p tcp -s 192.168.2.101 -d 192.168.2.90 --dport 22 -j ACCEPT iptables -I FORWARD -p tcp -d 192.168.2.101 -s 192.168.2.90 --sport 22 -j ACCEPT

Apr 25 17:21:31 gate kernel: SFW2-OUT-ERROR IN= OUT=eth0 SRC=192.168.2.111 DST=192.168.2.101 LEN=76 TOS=0x00 PREC=0xC0 TTL=64 ID=56345 PROTO=ICMP TYPE=5 CODE=1 GATEWAY=192.168.2.90 [SRC=192.168.2.101 DST=192.168.2.90 LEN=48 TOS=0x00 PREC=0x00 TTL=127 ID=26057 PROTO=TCP SPT=2755 DPT=22 WINDOW=16384 RES=0x00 SYN URGP=0 OPT (020405B401010402) ]

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

ну и что ??? конект к серверу происходит???

> Apr 25 17:21:31 gate kernel: SFW2-OUT-ERROR IN= OUT=eth0 SRC=192.168.2.111 DST=192.168.2.101 LEN=76 TOS=0x00 PREC=0xC0 TTL=64 ID=56345 PROTO=ICMP TYPE=5 CODE=1 GATEWAY=192.168.2.90 [SRC=192.168.2.101 DST=192.168.2.90 LEN=48 TOS=0x00 PREC=0x00 TTL=127 ID=26057 PROTO=TCP SPT=2755 DPT=22 WINDOW=16384 RES=0x00 SYN URGP=0 OPT (020405B401010402) ]

Это icmp сообщение, оно у тебя дропается в цепочке OUTPUT,
дело в том что у тебя 2.111 и 2.90 в одной подсети.
Поэтому ip модуль на 2.111 это определяет и генерирует сообщение 
TYPE=5,CODE=1 - Redirect for host вот оно-то у тебя и режется.
Если в логах ничего больше нет, то конект должен происходить.

и по идее он должен идти через 2.111, так как icmp зарезали.
Иначе я думаю что 2.101 получив сообщение Redirect for host
напрямую бы пошел на 2.90

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

понятно. но тем не менее Putty возвращает Connection Timeout.

Лог на 2.90:

Apr 26 10:14:02 expire kernel: SFW2-INint-ACC-ALL-INT IN=eth2 OUT= 192.168.2.101 DST=192.168.2.90 LEN=40 TOS =0x00 PREC=0x00 TTL=128 ID=21867 PROTO=TCP SPT=4017 DPT=22 WINDOW=17680 RES=0x00 ACK URGP=0

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

Вот:

2.111 iptables -t nat -I PREROUTING -i eth0 -p tcp -d 192.168.2.111 --dport 888 -s 192.168.2.101/24 -j DNAT --to-destination 192.168.2.90:22 iptables -I FORWARD -p tcp -s 192.168.2.101 -d 192.168.2.90 --dport 22 -j ACCEPT iptables -I FORWARD -p tcp -d 192.168.2.101 -s 192.168.2.90 --sport 22 -j ACCEPT

eth0: 192.168.2.111

Apr 26 17:48:49 gate kernel: SFW2-OUT-ERROR IN= OUT=eth0 SRC=192.168.2.111 DST=192.168.2.101 LEN=76 TOS=0x00 PREC=0xC0 TTL=64 ID=31419 PROTO=ICMP TYPE=5 CODE=1 GATEWAY=192.168.2.90 [SRC=192.168.2.101 DST=192.168.2.90 LEN=48 TOS=0x00 PREC=0x00 TTL=127 ID=6837 PROTO=TCP SPT=2520 DPT=22 WINDOW=16384 RES=0x00 SYN URGP=0 OPT (020405B401010402) ]

2.90 iptables -I INPUT -i eth2 -s 192.168.2.101 -d 192.168.2.90 -p tcp --dport 22 -j ACCEPT iptables -I OUTPUT -o eth2 -s 192.168.2.90 -d 192.168.2.101 -p tcp --sport 22 -j ACCEPT

eth2: 192.168.2.90

на 2.90 tail -f /var/log/messages пусто!

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

>putty на 2.101 прописано как: user@192.168.2.111 Port 888. верно ж?
да все правильно.
> пакеты идут.
какие пакеты??? откуда и куда ???
ну а коннект есть???

p.s.
на 2.111 попробуйте еще:
echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects 
echo 1 > /proc/sys/net/ipv4/ip_forward

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

я тормазнул.....
надо на 2.111 добавить еще:
iptables -t nat -I POSTROUTING -s 192.168.2.101 -d 192.168.2.90 --dport
22 -j SNAT --to-source 192.168.2.111

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