Author
Message
vasek00 DD-WRT Guru Joined: 06 Nov 2010 Posts: 3312
Posted: Mon May 28, 2012 9:28 Post subject:
Две команды еще покажите
Code: root@My-Fan:~# iptables -t nat -n -L
root@My-Fan:~# iptables -t filter -n -L
Back to top
Sponsor
defnur DD-WRT Novice Joined: 23 Nov 2011 Posts: 23
Posted: Mon May 28, 2012 9:41 Post subject:
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 адреса изменеы в соответствии с начальным примером.
Back to top
vasek00 DD-WRT Guru Joined: 06 Nov 2010 Posts: 3312
Posted: Mon May 28, 2012 12:00 Post subject:
Сама прокидка в нескольких строчках из ходя из ваших выводов 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.
Back to top
defnur DD-WRT Novice Joined: 23 Nov 2011 Posts: 23
Posted: Mon May 28, 2012 12:17 Post subject:
Не работает (
Почему-то после выполнения этих команд результат iptables -t nat -n -L не меняется. Но команды выполняются и ошибок не выдают (как по ssh, так и через веб).
Смущает --to-source 10.10.10.1 - может 77.77.77.77 ? Или 10.10.10.3 ?
Back to top
vasek00 DD-WRT Guru Joined: 06 Nov 2010 Posts: 3312
Posted: Mon May 28, 2012 12:47 Post subject:
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
Back to top
defnur DD-WRT Novice Joined: 23 Nov 2011 Posts: 23
Posted: Mon May 28, 2012 12:54 Post subject:
Прописалось, но 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
Back to top
vasek00 DD-WRT Guru Joined: 06 Nov 2010 Posts: 3312
Posted: Mon May 28, 2012 13:18 Post subject:
Добавьте оба правила в скрипт 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
Back to top
defnur DD-WRT Novice Joined: 23 Nov 2011 Posts: 23
Posted: Tue May 29, 2012 5:41 Post subject:
Добавил правила в файрвол. Перезагрузился.
Правила прописались.
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, но впринципе это не должно играть роль, т.к. в правилах порт не указывали.
Back to top
vasek00 DD-WRT Guru Joined: 06 Nov 2010 Posts: 3312
Posted: Tue May 29, 2012 6:00 Post subject:
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? просмотрите все цепочку, а не только те адреса которые я написал.
Back to top
defnur DD-WRT Novice Joined: 23 Nov 2011 Posts: 23
Posted: Tue May 29, 2012 8:21 Post subject:
На 10.0.0.3 не показывает подключения ни от 10.0.0.2, ни от 77.77.77.77
Back to top
vasek00 DD-WRT Guru Joined: 06 Nov 2010 Posts: 3312
Posted: Tue May 29, 2012 17:17 Post subject:
попробуйте любые варианты коннекта то, что хотите и в том числе с 10.10.10.2 на 77...77:2710 и потом сохраните где нибудь файл ip_conntrack (через каталог /tmp) и дайте ссылку на него чтоб скачать и посмотреть что там происходит.
Back to top
defnur DD-WRT Novice Joined: 23 Nov 2011 Posts: 23
Posted: Wed May 30, 2012 8:13 Post subject:
Коннекты к 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'ит, но адрес не подменяется?
Back to top
vasek00 DD-WRT Guru Joined: 06 Nov 2010 Posts: 3312
Posted: Wed May 30, 2012 9:13 Post subject:
Про то и речь, что при обращение с 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
Back to top
defnur DD-WRT Novice Joined: 23 Nov 2011 Posts: 23
Posted: Wed May 30, 2012 9:49 Post subject:
Изменил правила как Вы и сказали. Перезагрузил роутер. Убедился что правила изменены.
Но ничего не изменилось. Соединения не устанавливаются. В ip_conntrack те же строчки.
Back to top
defnur DD-WRT Novice Joined: 23 Nov 2011 Posts: 23
Posted: Wed May 30, 2012 11:25 Post subject:
Вообщем после многодневных усилий в изучении 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.
Back to top