Нестандартный проброс портов

Post new topic   Reply to topic    DD-WRT Forum Index -> Использование и установка DD-WRT
Goto page Previous  1, 2, 3  Next
Author Message
vasek00
DD-WRT Guru


Joined: 06 Nov 2010
Posts: 3312

PostPosted: Mon May 28, 2012 9:28    Post subject: Reply with quote
Две команды еще покажите
Code:
root@My-Fan:~# iptables -t nat -n -L   
root@My-Fan:~# iptables -t filter -n -L
Sponsor
defnur
DD-WRT Novice


Joined: 23 Nov 2011
Posts: 23

PostPosted: Mon May 28, 2012 9:41    Post subject: Reply with quote
iptables -t nat -n -L
Code:
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
DNAT       tcp  --  0.0.0.0/0            77.77.77.77        tcp dpt:22 to:10.0.0.1:222
DNAT       icmp --  0.0.0.0/0            77.77.77.77        to:10.0.0.1
DNAT       tcp  --  0.0.0.0/0            77.77.77.77        tcp dpt:80 to:10.0.0.3:80
DNAT       tcp  --  0.0.0.0/0            77.77.77.77        tcp dpt:21 to:10.0.0.3:21
DNAT       tcp  --  0.0.0.0/0            77.77.77.77        tcp dpt:2710 to:10.0.0.3:2710
DNAT       udp  --  0.0.0.0/0            77.77.77.77        udp dpt:2710 to:10.0.0.3:2710
DNAT       tcp  --  0.0.0.0/0            77.77.77.77        tcp dpt:4444 to:10.0.0.2:4444
DNAT       udp  --  0.0.0.0/0            77.77.77.77        udp dpt:4444 to:10.0.0.2:4444
TRIGGER    0    --  0.0.0.0/0            77.77.77.77        TRIGGER type:dnat match:0 relate:0

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
SNAT       0    --  0.0.0.0/0            0.0.0.0/0           to:77.77.77.77
RETURN     0    --  0.0.0.0/0            0.0.0.0/0           PKTTYPE = broadcast


iptables -t filter -n -L
Code:
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     0    --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
DROP       udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:520
DROP       udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:520
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:520
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:222 state NEW limit: avg 3/min burst 3
DROP       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:222
logaccept  tcp  --  0.0.0.0/0            10.0.0.1        tcp dpt:222
DROP       icmp --  0.0.0.0/0            0.0.0.0/0
DROP       2    --  0.0.0.0/0            0.0.0.0/0
ACCEPT     0    --  0.0.0.0/0            0.0.0.0/0           state NEW
logaccept  0    --  0.0.0.0/0            0.0.0.0/0           state NEW
DROP       0    --  0.0.0.0/0            0.0.0.0/0

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
ACCEPT     47   --  10.0.0.0/24       0.0.0.0/0
ACCEPT     tcp  --  10.0.0.0/24       0.0.0.0/0           tcp dpt:1723
ACCEPT     0    --  0.0.0.0/0            0.0.0.0/0
TCPMSS     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp flags:0x06/0x02 TCPMSS clamp to PMTU
lan2wan    0    --  0.0.0.0/0            0.0.0.0/0
ACCEPT     0    --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
ACCEPT     tcp  --  0.0.0.0/0            10.0.0.3        tcp dpt:80
ACCEPT     tcp  --  0.0.0.0/0            10.0.0.3        tcp dpt:21
ACCEPT     tcp  --  0.0.0.0/0            10.0.0.3        tcp dpt:2710
ACCEPT     udp  --  0.0.0.0/0            10.0.0.3        udp dpt:2710
ACCEPT     tcp  --  0.0.0.0/0            10.0.0.2        tcp dpt:4444
ACCEPT     udp  --  0.0.0.0/0            10.0.0.2        udp dpt:4444
TRIGGER    0    --  0.0.0.0/0            0.0.0.0/0           TRIGGER type:in match:0 relate:0
trigger_out  0    --  0.0.0.0/0            0.0.0.0/0
ACCEPT     0    --  0.0.0.0/0            0.0.0.0/0           state NEW
DROP       0    --  0.0.0.0/0            0.0.0.0/0

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain advgrp_1 (0 references)
target     prot opt source               destination

Chain advgrp_10 (0 references)
target     prot opt source               destination

Chain advgrp_2 (0 references)
target     prot opt source               destination

Chain advgrp_3 (0 references)
target     prot opt source               destination

Chain advgrp_4 (0 references)
target     prot opt source               destination

Chain advgrp_5 (0 references)
target     prot opt source               destination

Chain advgrp_6 (0 references)
target     prot opt source               destination

Chain advgrp_7 (0 references)
target     prot opt source               destination

Chain advgrp_8 (0 references)
target     prot opt source               destination

Chain advgrp_9 (0 references)
target     prot opt source               destination

Chain grp_1 (0 references)
target     prot opt source               destination

Chain grp_10 (0 references)
target     prot opt source               destination

Chain grp_2 (0 references)
target     prot opt source               destination

Chain grp_3 (0 references)
target     prot opt source               destination

Chain grp_4 (0 references)
target     prot opt source               destination

Chain grp_5 (0 references)
target     prot opt source               destination

Chain grp_6 (0 references)
target     prot opt source               destination

Chain grp_7 (0 references)
target     prot opt source               destination

Chain grp_8 (0 references)
target     prot opt source               destination

Chain grp_9 (0 references)
target     prot opt source               destination

Chain lan2wan (1 references)
target     prot opt source               destination

Chain logaccept (2 references)
target     prot opt source               destination
ACCEPT     0    --  0.0.0.0/0            0.0.0.0/0

Chain logdrop (0 references)
target     prot opt source               destination
DROP       0    --  0.0.0.0/0            0.0.0.0/0

Chain logreject (0 references)
target     prot opt source               destination
REJECT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp reject-with tcp-reset

Chain trigger_out (1 references)
target     prot opt source               destination


P.S. IP адреса изменеы в соответствии с начальным примером.
vasek00
DD-WRT Guru


Joined: 06 Nov 2010
Posts: 3312

PostPosted: Mon May 28, 2012 12:00    Post subject: Reply with quote
Сама прокидка в нескольких строчках из ходя из ваших выводов iptables
Code:
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
...
DNAT       tcp  --  0.0.0.0/0            77.77.77.77        tcp dpt:2710 to:10.0.0.3:2710
DNAT       udp  --  0.0.0.0/0            77.77.77.77        udp dpt:2710 to:10.0.0.3:2710
DNAT       tcp  --  0.0.0.0/0            77.77.77.77        tcp dpt:4444 to:10.0.0.2:4444
DNAT       udp  --  0.0.0.0/0            77.77.77.77        udp dpt:4444 to:10.0.0.2:4444
...
Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
SNAT       0    --  0.0.0.0/0            0.0.0.0/0           to:77.77.77.77
...

...
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
...
ACCEPT     tcp  --  0.0.0.0/0            10.0.0.3        tcp dpt:2710
ACCEPT     udp  --  0.0.0.0/0            10.0.0.3        udp dpt:2710
ACCEPT     tcp  --  0.0.0.0/0            10.0.0.2        tcp dpt:4444
ACCEPT     udp  --  0.0.0.0/0            10.0.0.2        udp dpt:4444
...


Пробуем добавить вот это обязательно два:
iptables -t nat -A POSTROUTING -d 10.10.10.2 --dport 4444 -s 10.10.10.0/24 -j SNAT --to-source 10.10.10.1
iptables -t nat -A OUTPUT -d 77.77.77.77 -j DNAT --to-destination 10.10.10.2:4444

Суть в том, чтоб локальному ПК с 10.10.10.2 при обращении к 77.77.77.77:2710 (реально на 10.10.10.3) реально ПК в одной сети, следовательно нужно чтоб тогда клиент получал ответы от роутера непосредственно, а не от клиента, это первое правило.
Так как локальные процессы роутера не попадают в цепочку PREROUTING, поэтому DNAT разместим в OUTPUT таблицы nat второе правило.
И проверим появления этих правил в цепочках POSTROUTING и OUTPUT.
defnur
DD-WRT Novice


Joined: 23 Nov 2011
Posts: 23

PostPosted: Mon May 28, 2012 12:17    Post subject: Reply with quote
Не работает (

Почему-то после выполнения этих команд результат iptables -t nat -n -L не меняется. Но команды выполняются и ошибок не выдают (как по ssh, так и через веб).

Смущает --to-source 10.10.10.1 - может 77.77.77.77 ? Или 10.10.10.3 ?
vasek00
DD-WRT Guru


Joined: 06 Nov 2010
Posts: 3312

PostPosted: Mon May 28, 2012 12:47    Post subject: Reply with quote
defnur wrote:
Не работает (

Почему-то после выполнения этих команд результат iptables -t nat -n -L не меняется. Но команды выполняются и ошибок не выдают (как по ssh, так и через веб).

Смущает --to-source 10.10.10.1 - может 77.77.77.77 ? Или 10.10.10.3 ?

Это адрес роутера.
При обращение с 10.10.10.2 на 77.77.77.77:2710 пакет попадая на роутер проверяет источник и адресата - все находиться в локальной сети, поэтому преобразования не будет и он транзитом уйдет на 10.10.10.3. На 10.10.10.3 после обработки пакета будет ответ непосредственно на 10.10.10.2. В свою очередь так как 10.10.10.2 такого не посылал, он посылал непосредственно на 77...77 то естественно и долго ему ждать придется ответа.
Уберите порт:
Code:
iptables -t nat -A POSTROUTING -d 10.10.10.2 -s 10.10.10.0/24 -j SNAT --to-source 10.10.10.1
iptables -t nat -A OUTPUT -d 77.77.77.77 -j DNAT --to-destination 10.10.10.2
defnur
DD-WRT Novice


Joined: 23 Nov 2011
Posts: 23

PostPosted: Mon May 28, 2012 12:54    Post subject: Reply with quote
Прописалось, но 10.0.0.2 по-прежнему не коннектиться к 77.77.77.77:2710.

Code:
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
DNAT       0    --  0.0.0.0/0            77.77.77.77        to:10.0.0.2

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
SNAT       0    --  0.0.0.0/0            0.0.0.0/0           to:77.77.77.77
RETURN     0    --  0.0.0.0/0            0.0.0.0/0           PKTTYPE = broadcast
SNAT       0    --  10.0.0.0/24       10.0.0.2        to:10.0.0.1
vasek00
DD-WRT Guru


Joined: 06 Nov 2010
Posts: 3312

PostPosted: Mon May 28, 2012 13:18    Post subject: Reply with quote
Добавьте оба правила в скрипт firewall, перезапуститесь.
Потом проверка iptables что два правила добавились и посмотреть
Code:
root@My-Fan:/proc/sys/net# cat /proc/net/ip_conntrack | grep 77.77.77.77

а потом на 10.10.10.2 интересует хоть какие пакеты приходят/уходят, или на порт
Code:
root@My-Fan:/proc/sys/net# cat /proc/net/ip_conntrack | grep dprot=2710


Code:
root@My-Fan:/proc/sys/net# cat /proc/net/ip_conntrack | grep sprot=2710


или
Code:
root@My-Fan:/proc/sys/net# cat /proc/net/ip_conntrack | grep 77.77.77.77 | grep dport=2710
defnur
DD-WRT Novice


Joined: 23 Nov 2011
Posts: 23

PostPosted: Tue May 29, 2012 5:41    Post subject: Reply with quote
Добавил правила в файрвол. Перезагрузился.
Правила прописались.

cat /proc/net/ip_conntrack | grep 77.77.77.77 | grep dport=2710
Code:
tcp      6 82 SYN_SENT src=10.0.0.2 dst=77.77.77.77 sport=54622 dport=2710 packets=3 bytes=152 [UNREPLIED] src=10.0.0.3 dst=10.0.0.2 sport=2710 dport=54622 packets=0 bytes=0 mark=0 use=2


[UNREPLIED] - Без ответа? Странно, что sport 54622, но впринципе это не должно играть роль, т.к. в правилах порт не указывали.
vasek00
DD-WRT Guru


Joined: 06 Nov 2010
Posts: 3312

PostPosted: Tue May 29, 2012 6:00    Post subject: Reply with quote
defnur wrote:
Добавил правила в файрвол. Перезагрузился.
Правила прописались.

cat /proc/net/ip_conntrack | grep 77.77.77.77 | grep dport=2710
Code:
tcp      6 82 SYN_SENT src=10.0.0.2 dst=77.77.77.77 sport=54622 dport=2710 packets=3 bytes=152 [UNREPLIED] src=10.0.0.3 dst=10.0.0.2 sport=2710 dport=54622 packets=0 bytes=0 mark=0 use=2


[UNREPLIED] - Без ответа? Странно, что sport 54622, но впринципе это не должно играть роль, т.к. в правилах порт не указывали.


А что у нас по 10.10.10.3? просмотрите все цепочку, а не только те адреса которые я написал.
defnur
DD-WRT Novice


Joined: 23 Nov 2011
Posts: 23

PostPosted: Tue May 29, 2012 8:21    Post subject: Reply with quote
На 10.0.0.3 не показывает подключения ни от 10.0.0.2, ни от 77.77.77.77
vasek00
DD-WRT Guru


Joined: 06 Nov 2010
Posts: 3312

PostPosted: Tue May 29, 2012 17:17    Post subject: Reply with quote
попробуйте любые варианты коннекта то, что хотите и в том числе с 10.10.10.2 на 77...77:2710 и потом сохраните где нибудь файл ip_conntrack (через каталог /tmp) и дайте ссылку на него чтоб скачать и посмотреть что там происходит.
defnur
DD-WRT Novice


Joined: 23 Nov 2011
Posts: 23

PostPosted: Wed May 30, 2012 8:13    Post subject: Reply with quote
Коннекты к 77.77.77.77 (HTTPS & SSH) - открывается интерфейс роутера
Code:
tcp      6 8 CLOSE src=10.0.0.2 dst=77.77.77.77 sport=59073 dport=443 packets=8 bytes=1036 src=77.77.77.77 dst=10.0.0.2 sport=443 dport=59073 packets=7 bytes=1150 [ASSURED] mark=0 use=2

tcp      6 3590 ESTABLISHED src=10.0.0.2 dst=77.77.77.77 sport=59250 dport=222 packets=17 bytes=2149 src=77.77.77.77 dst=10.0.0.2 sport=222 dport=59250 packets=20 bytes=2911 [ASSURED] mark=0 use=2


Коннекты к 77.77.77.77 (2710 & HTTP & FTP) - соединение не установлено
Code:
tcp      6 82 SYN_SENT src=10.0.0.2 dst=77.77.77.77 sport=54622 dport=2710 packets=3 bytes=152 [UNREPLIED] src=10.0.0.3 dst=10.0.0.2 sport=2710 dport=54622 packets=0 bytes=0 mark=0 use=2

tcp      6 101 SYN_SENT src=10.0.0.2 dst=77.77.77.77 sport=58871 dport=80 packets=2 bytes=104 [UNREPLIED] src=10.0.0.3 dst=10.0.0.2 sport=80 dport=58871 packets=0 bytes=0 mark=0 use=2

tcp      6 115 SYN_SENT src=10.0.0.2 dst=77.77.77.77 sport=59223 dport=21 packets=2 bytes=104 [UNREPLIED] src=10.0.0.3 dst=10.0.0.2 sport=21 dport=59223 packets=0 bytes=0 mark=0 use=2


На 10.0.0.3 обнаружил
Code:
tcp      6 6 CLOSE src=10.0.0.2 dst=10.0.0.3 sport=59336 dport=80 src=10.0.0.3 dst=10.0.0.2 sport=80 dport=59336 mark=0 use=2

Получается что роутер NAT'ит, но адрес не подменяется?
vasek00
DD-WRT Guru


Joined: 06 Nov 2010
Posts: 3312

PostPosted: Wed May 30, 2012 9:13    Post subject: Reply with quote
Про то и речь, что при обращение с 10.0.0.2 на 77...77:2710:
Code:
tcp      6 82 SYN_SENT src=10.0.0.2 dst=77.77.77.77 sport=54622 dport=2710 packets=3 bytes=152 [UNREPLIED] src=10.0.0.3 dst=10.0.0.2 sport=2710 dport=54622 packets=0 bytes=0 mark=0 use=2

что соединение определяется как локальное
Code:
src=10.0.0.2 dst=77.77.77.77
src=10.0.0.3 dst=10.0.0.2

и ответ 10.0.0.2 идет напрямую от 10.0.0.3, а 10.0.0.2 в свою очередь ждет его от 77...77, так как на него посылал.

По хоже, что я тормознул, у вас же клиент ПК а не роутер:
iptables -t nat -A POSTROUTING -d 10.10.10.2 -s 10.10.10.0/24 -j SNAT --to-source 77.77.77.77
iptables -t nat -A OUTPUT -d 77.77.77.77 -j DNAT --to-destination 10.10.10.2
defnur
DD-WRT Novice


Joined: 23 Nov 2011
Posts: 23

PostPosted: Wed May 30, 2012 9:49    Post subject: Reply with quote
Изменил правила как Вы и сказали. Перезагрузил роутер. Убедился что правила изменены.
Но ничего не изменилось. Соединения не устанавливаются. В ip_conntrack те же строчки.
defnur
DD-WRT Novice


Joined: 23 Nov 2011
Posts: 23

PostPosted: Wed May 30, 2012 11:25    Post subject: Reply with quote
Вообщем после многодневных усилий в изучении iptables решил задачу сам. Вот эти правила.

Code:
iptables -t nat -A POSTROUTING --src 10.0.0.2 --dst 10.0.0.3 -j SNAT --to-source 77.77.77.77
iptables -t nat -A OUTPUT --dst 77.77.77.77 -j DNAT --to-destination 10.0.0.3


Это с условием, что в веб-интерфейсе включено Перенаправление портов, иначе нужно добавить в начало следующее правило:
Code:
iptables -t nat -A PREROUTING -d 77.77.77.77 -j DNAT --to-source 10.0.0.3


Вдобавок хочется поблагодарить vasek00 за старания. Вы были близки к цели. Видимо, Вы просто перепутали 10.0.0.2 и 10.0.0.3.
Goto page Previous  1, 2, 3  Next Display posts from previous:    Page 2 of 3
Post new topic   Reply to topic    DD-WRT Forum Index -> Использование и установка DD-WRT All times are GMT

Navigation

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum