LINUX.ORG.RU
решено ФорумAdmin

Проблема с маршрутизацией?


0

1

Я не особо разбираюсь в сетях, натолкнулся на странное поведение и пытаюсь понять, в чём дело.
Подключился к беспроводной сети с WPA2 шифрованием, кроме скайпа ничего не работает.

Пинги идут.

aidaho@aidaho-laptop:~$ ping www.google.com.ua
PING www.l.google.com (209.85.148.99) 56(84) bytes of data.
64 bytes from fra07s07-in-f99.1e100.net (209.85.148.99): icmp_req=1 ttl=55 time=58.5 ms
64 bytes from fra07s07-in-f99.1e100.net (209.85.148.99): icmp_req=2 ttl=55 time=57.4 ms
64 bytes from fra07s07-in-f99.1e100.net (209.85.148.99): icmp_req=3 ttl=55 time=58.6 ms
64 bytes from fra07s07-in-f99.1e100.net (209.85.148.99): icmp_req=4 ttl=55 time=58.0 ms
64 bytes from fra07s07-in-f99.1e100.net (209.85.148.99): icmp_req=5 ttl=55 time=153 ms
64 bytes from fra07s07-in-f99.1e100.net (209.85.148.99): icmp_req=6 ttl=55 time=57.5 ms
^C
--- www.l.google.com ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 5006ms
rtt min/avg/max/mdev = 57.477/73.877/153.018/35.396 ms

Связи нет.
aidaho@aidaho-laptop:~$ telnet 209.85.148.99 80
Trying 209.85.148.99...
telnet: Unable to connect to remote host: Connection timed out

Тут непонятно:
traceroute -m 255 google.com.ua
traceroute to google.com.ua (209.85.148.106), 255 hops max, 60 byte packets
 1  * * *
 2  * * *
 3  * * *
...
 255 * * *
Это мои пакеты провайдерские маршрутизаторы по кругу гоняют?

В общем я бы и не обратил внимания, если бы в этой же сети не оказалось двух виндовс-машин, у которых всё ок. Т.е. проблема у меня? Но где? До сих пор проблем не было.

P.S. На всякий случай я безрезультатно перезагрузил сетевые сервисы и сам роутер.

★★★★★

не совсем понятно как выходите в сети.
Судя по тому что пинги ходят - связь есть и DNS в порядке.
Значит закрыты порты где-то на промежуточных железках.
Посмотрите
traceroute -p 80 209.85.148.99

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

Всё выглядит одинаково на любой адрес:

aidaho@aidaho-laptop:~$ traceroute -p 80 www.google.com.ua
traceroute to www.google.com.ua (173.194.70.104), 30 hops max, 60 byte packets
 1  * * *
 2  * * *
 3  * * *
...
30  * * *

Насколько я понял, роутер подключён к местечковому кабельному провайдеру через vpn туннель.

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

В винде ip не нашлось, всё что я смог припомнить на этих любезно предоставленных фотокарточках:
http://rghost.ru/35379181/image.png
http://rghost.ru/35380001/image.png

С моей стороны:

root@aidaho-laptop:/home/aidaho# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.5.0     *               255.255.255.0   U     0      0        0 eth0
default         192.168.5.139   0.0.0.0         UG    0      0        0 eth0
root@aidaho-laptop:/home/aidaho# ip r
192.168.5.0/24 dev eth0  proto kernel  scope link  src 192.168.5.106
default via 192.168.5.139 dev eth0

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

Роутер выдаёт адреса и маршрут динамически?

Да. Я пробовал статику, та же картина.

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

в винде таблица маршрутов выводится командой route print
Покажи на линуксе вывод ip a
На винде два сетевых интерфейса(проводной и беспроводной)?
Может ответ в том что всё работает через второй?

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

http://rghost.ru/35385541/image.png P.S. 192.168.5.102 — это другой wi-fi роутер в этой же сети, у него сигнал лучше.

aidaho@aidaho-laptop:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    inet 192.168.5.106/24 brd 255.255.255.255 scope global eth0
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
4: pan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN
    link/ether 3a:c1:ec:b6:2f:70 brd ff:ff:ff:ff:ff:ff

На винде два сетевых интерфейса(проводной и беспроводной)?

Да.

Может ответ в том что всё работает через второй?

Нет, второй смотрит на изолированный компьютер.

aidaho ★★★★★
() автор топика
Ответ на: комментарий от zolden
root@aidaho-laptop:/home/aidaho# iptables-save
# Generated by iptables-save v1.4.8 on Sun Dec 18 17:04:24 2011
*filter
:INPUT DROP [37408:3844832]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [20768900:2487248487]
-A INPUT -p tcp -m mac --mac-source 00:22:B0:0B:37:28 -m multiport --dports 20000 -j ACCEPT
-A INPUT -p udp -m mac --mac-source 00:22:B0:0B:37:28 -m udp --dport 5353 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -m mac --mac-source 00:22:B0:0B:37:28 -j ACCEPT
-A INPUT -p tcp -m mac --mac-source 00:1D:7D:A8:B0:55 -m multiport --dports 20000,2049 -j ACCEPT
-A INPUT -p udp -m mac --mac-source 00:1D:7D:A8:B0:55 -m udp --dport 5353 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -m mac --mac-source 00:1D:7D:A8:B0:55 -j ACCEPT
-A INPUT -s 5.7.9.227/32 -j ACCEPT
-A INPUT -p tcp -m mac --mac-source 00:26:69:CA:BB:27 -m multiport --dports 20000 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -m mac --mac-source 00:26:69:CA:BB:27 -j ACCEPT
-A INPUT -p udp -m mac --mac-source 00:00:00:00:00:00 -m udp --dport 5010 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --set --name SSH --rsource
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --update --seconds 300 --hitcount 4 --rttl --name SSH --rsource -j DROP
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -m limit --limit 3/min -j LOG --log-prefix "Firewall> Null scan "
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -m recent --set --name blacklist_60 --rsource -m comment --comment "Drop/Blacklist Null scan" -j DROP
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,PSH,URG -m limit --limit 3/min -j LOG --log-prefix "Firewall> XMAS scan "
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,ACK,URG -m limit --limit 3/min -j LOG --log-prefix "Firewall> XMAS-PSH scan "
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,PSH,ACK,URG -m limit --limit 3/min -j LOG --log-prefix "Firewall> XMAS-ALL scan "
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,ACK,URG -m recent --set --name blacklist_60 --rsource -m comment --comment "Drop/Blacklist Xmas/PSH scan" -j DROP
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,PSH,URG -m recent --set --name blacklist_60 --rsource -m comment --comment "Drop/Blacklist Xmas scan" -j DROP
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,PSH,ACK,URG -m recent --set --name blacklist_60 --rsource -m comment --comment "Drop/Blacklist Xmas/All scan" -j DROP
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN -m limit --limit 3/min -j LOG --log-prefix "Firewall> FIN scan "
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN -m recent --set --name blacklist_60 --rsource -m comment --comment "Drop/Blacklist FIN scan" -j DROP
-A INPUT -p udp -m limit --limit 6/hour --limit-burst 1 -m length --length 0:28 -j LOG --log-prefix "Firewall> 0 length udp "
-A INPUT -p udp -m length --length 0:28 -m comment --comment "Drop UDP packet with no content" -j DROP
-A INPUT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -m comment --comment "Drop TCP connection not starting by SYN" -j DROP
-A INPUT -s 127.0.0.1/32 -j ACCEPT
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Sun Dec 18 17:04:25 2011

Роутер — ASUS WL-320gE, telnet/ssh там нет.

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

я не знаток iptables, так что подождём гуру для вдумчивого анализа.
Для быстрого теста сбрось все правила (iptables -F) и проверь связь ещё раз

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

я не знаток iptables, так что подождём гуру для вдумчивого анализа.

Анализировать собственно нечего: все эти правила работают с INPUT цепочкой, OUTPUT открыт на все четыре стороны без фильтрации и модификации пакетов.

В принципе идеи какие-то есть куда копать? Мне по прежнему кажется, что мои tcp пакеты умирают в какой-то петле.

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

Петли бывают на L3 - петли IP маршрутизации(маршрутизатор1 посылает пакет на маршрутизатор2, а маршрутизатор2 на маршрутизатор1), тогда бы вы при пинге видели TTL expired
и на L2 когда пакет зацикливается между портами свича. У вас таких симптомов нет. Так как в трейсе нет даже первого хопа, то пакет не доходит до шлюза, либо не доходит ответ от шлюза
Можете ради интереса снять дамп tcpdump -i any -s0 -w test.pcap

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

Петли бывают на L3 - петли IP маршрутизации(маршрутизатор1 посылает пакет на маршрутизатор2, а маршрутизатор2 на маршрутизатор1), тогда бы вы при пинге видели TTL expired и на L2 когда пакет зацикливается между портами свича. У вас таких симптомов нет. Так как в трейсе нет даже первого хопа, то пакет не доходит до шлюза, либо не доходит ответ от шлюза

Ок. Теперь понятно, что проблема где-то ближе, чем мне казалось. Завтра опять ткнусь в ту сеть и попробую сравнить процесс обмена пакетов с рабочей сетью.

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

все эти правила работают с INPUT цепочкой

Все нужные пакеты проходят через INPUT. То, что у вас «RELATED,ESTABLISHED -j ACCEPT» стоит в конце, а до него куча правил, делающих DROP tcp-пакетов может и служить причиной проблем.

И можно просто подампить пакеты и всё станет яснее. То есть на одном терминале запускаем «tcpdump -i wlan0 -n -nn host 209.85.148.99» на другом делаем «telnet 209.85.148.99 80» и смотрим на первом терминале, есть ли пакеты от 209.85.148.99.

Подробно изучать эти правила я не стал, но ИМХО, лучше делать отдельные цепочки, и туда отправлять пакеты, допустим сделать цепочку, в которой ACCEPT для портов 20000-tcp, 5353-udp и туда скидывать всё от MAC-адресов 00:22:B0:0B:37:28 и 00:1D:7D:A8:B0:55.

ICMP-пакеты лучше вобще все разрешить.

ЕМНИП, traceroute по умолчанию работает по udp. Попробуёте запустить его по ICMP.

192.168.5.102 — это другой wi-fi роутер

Это адрес роутера или компьютера с Windows?

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

Внезапный полуночный бамп. Я перед сном ещё разок приконнектился к проблемной сети и внезапно всё работает. Быстро не глядя конспектирую вывод всех команд, которые мелькали в треде, чтобы завтра сравнить с предыдущим выхлопом. Ничего не делал, заработало само. Верный признак того, что потом опять само сломается.

aidaho@aidaho-laptop:~$ traceroute www.google.com.ua
traceroute to www.google.com.ua (173.194.70.99), 30 hops max, 60 byte packets
 1  * * *
 2  * * *
 3  * * *
...
 30  * * *

aidaho@aidaho-laptop:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    inet 192.168.5.106/24 brd 255.255.255.255 scope global eth0
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
4: pan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN
    link/ether 3a:c1:ec:b6:2f:70 brd ff:ff:ff:ff:ff:ff

aidaho@aidaho-laptop:~$ ip r
192.168.5.0/24 dev eth0  proto kernel  scope link  src 192.168.5.106
default via 192.168.5.139 dev eth0

root@aidaho-laptop:/home/aidaho# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.5.0     *               255.255.255.0   U     0      0        0 eth0
default         192.168.5.139   0.0.0.0         UG    0      0        0 eth0

aidaho ★★★★★
() автор топика
1 февраля 2012 г.
Ответ на: комментарий от zolden

Проблема наконец-то повторилась, есть дамп трафика, если интересен. Подтащил другую линуксмашину и у неё проблем небыло. Сделал diff вывода sysctl -a и нашёл несколько отличающихся настроек tcp-стека, которые оказались чёрт знает когда и чёрт знает зачем сделаны. Откатил и сразу всё зашевелилось.

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