LINUX.ORG.RU

дропаются p2p-пакеты, как лечить?


0

3

Имеется:

  • мой славный ноут;
  • Zyxel Keenetic Giga вместо роутера;
  • провайдер МТС aka Стрим|Стрём;
  • торрентокачалки transmission и flush

Ситуация: качалово идёт, раздача не идёт. Совсем. Раздавать есть кому (раздача виндов всегда популярна), канал заявлен 40 мегабит (спидтест даёт такое: http://www.speedtest.net/result/2536273030.png).

Запущенный tcpdump выдал просто офигенное:

124 packets captured
103069 packets received by filter
102909 packets dropped by kernel

Айпитаблесы роутера:

# iptables -L
Chain INPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED 
ACCEPT     igmp --  anywhere             anywhere            
ACCEPT     icmp --  anywhere             anywhere            icmp any 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:4299 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:4299 
ACCEPT     udp  --  anywhere             anywhere            udp dpt:4299 
ACCEPT     udp  --  anywhere             anywhere            udp dpt:4299 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:4299 
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     udp  --  anywhere             anywhere            udp dpt:4299 
ACCEPT     all  --  anywhere             anywhere            

Chain FORWARD (policy DROP)
target     prot opt source               destination         
DROP       all  --  anywhere             anywhere            
ACCEPT     udp  --  anywhere             192.168.1.3         state NEW udp dpts:8601:8699 
ACCEPT     tcp  --  anywhere             192.168.1.3         state NEW tcp dpts:8601:8699 
ACCEPT     udp  --  anywhere             192.168.1.3         state NEW udp dpts:4201:4299 
ACCEPT     tcp  --  anywhere             192.168.1.3         state NEW tcp dpts:4201:4299 
ACCEPT     all  --  anywhere             anywhere            state NEW 
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED 
MINIUPNPD  all  --  anywhere             anywhere            

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:4299 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:4299 
ACCEPT     udp  --  anywhere             anywhere            udp dpt:4299 
ACCEPT     udp  --  anywhere             anywhere            udp dpt:4299 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:4299 
ACCEPT     udp  --  anywhere             anywhere            udp dpt:4299 

Chain MINIUPNPD (1 references)
target     prot opt source               destination

Торрент-клиент работает через порт 4220.

Что поправить, что я делаю не так?

Ответ на: комментарий от Chaser_Andrey

тачечка:

fat0troll @ localhost ~ [0.25 0.51 0.80] 
 > ip route
default via 192.168.1.1 dev wlan0  proto static 
192.168.1.0/24 dev wlan0  proto kernel  scope link  src 192.168.1.3 
fat0troll @ localhost ~ [0.25 0.51 0.80] 
 > ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 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
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
    link/ether 18:03:73:5c:fa:3f brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 38:59:f9:05:37:39 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.3/24 brd 192.168.1.255 scope global wlan0
    inet6 fe80::3a59:f9ff:fe05:3739/64 scope link 
       valid_lft forever preferred_lft forever

роутер:

/media/DISK_A1/system/root # ip route
172.16.0.1 dev ppp0  proto kernel  scope link  src 172.16.21.46 
192.168.1.0/24 dev br0  proto kernel  scope link  src 192.168.1.1 
default dev ppp0  scope link 
/media/DISK_A1/system/root # ip address
1: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ether cc:5d:4e:da:00:ac brd ff:ff:ff:ff:ff:ff
2: 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
3: teql0: <NOARP> mtu 1500 qdisc noop state DOWN qlen 100
    link/void 
4: ra0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ether cc:5d:4e:da:00:ac brd ff:ff:ff:ff:ff:ff
5: eth2.1@eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP 
    link/ether cc:5d:4e:da:00:ac brd ff:ff:ff:ff:ff:ff
6: eth2.2@eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP 
    link/ether cc:5d:4e:da:00:ad brd ff:ff:ff:ff:ff:ff
7: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN 
    link/ether cc:5d:4e:da:00:ac brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.1/24 brd 192.168.1.255 scope global br0
30: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1400 qdisc pfifo_fast state UNKNOWN qlen 3
    link/ppp 
    inet 172.16.21.46 peer 172.16.0.1/32 scope global ppp0
DoctorSinus ★★★★★ ()
Ответ на: комментарий от DoctorSinus

А с какими опциями пускаешь tcpdump? Может, попробуй стандартные советы: добавить опции -B 4096 (увеличить буфер до 4 Мб) и -n

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

Ну отлично, это «дропались» пакеты из ring-buffer tcpdump'а из-за того, что tcpdump не успевал обрабатывать очередь.

А причины тут в другом. Ну возьми, напиши или возьми самый простой eсho-сервер, который будет слушать на определённом порту TCP и UDP, посылай запросы из другого места, и смотри прохождение пакета на роутере и непосредственно твоем компе.

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

роутер говорит, что UPnP работает, но при чём тут он, если я ручками пробрасывал порта?

// в торрент-клиенте UPnP тоже включен

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

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

Ещё сделай `iptables -L -v` на роутере.

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

не видит, в том-то вся и фишечка: со стороны роутера всё открыто

Значит порт криво пробросил.

Торрент-клиент точно висит на 4220 на твоем компьютере?

ss sport = :4220

ss входит в пакет iproute2.

Далее, есть ли у тебя возможность с роутера проверить 4220 порт на твоем ПК? Например, с помощью nc или nmap.

Выложи также сюда вывод iptables-save на роутере.

edigaryev ★★★★★ ()
Последнее исправление: edigaryev (всего исправлений: 1)
Ответ на: комментарий от O02eg

включение шифрования не помогает

# iptables -L -v
Chain INPUT (policy DROP 114 packets, 11747 bytes)
 pkts bytes target     prot opt in     out     source               destination         
 4921  478K ACCEPT     all  --  br0    any     anywhere             anywhere            
3576K 4721M ACCEPT     all  --  ppp0   any     anywhere             anywhere            state RELATED,ESTABLISHED 
    0     0 ACCEPT     igmp --  ppp0   any     anywhere             anywhere            
  113  9847 ACCEPT     icmp --  any    any     anywhere             anywhere            icmp any 

Chain FORWARD (policy DROP 84 packets, 14441 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 DROP       all  --  !br0   ppp0    anywhere             anywhere            
    0     0 ACCEPT     udp  --  ppp0   any     anywhere             192.168.1.3         state NEW udp dpts:8601:8699 
    0     0 ACCEPT     tcp  --  ppp0   any     anywhere             192.168.1.3         state NEW tcp dpts:8601:8699 
  488  374K ACCEPT     udp  --  ppp0   any     anywhere             192.168.1.3         state NEW udp dpts:4201:4299 
    0     0 ACCEPT     tcp  --  ppp0   any     anywhere             192.168.1.3         state NEW tcp dpts:4201:4299 
45775 2984K ACCEPT     all  --  br0    any     anywhere             anywhere            state NEW 
 825K  468M ACCEPT     all  --  any    any     anywhere             anywhere            state RELATED,ESTABLISHED 
    0     0 MINIUPNPD  all  --  ppp0   !ppp0   anywhere             anywhere            

Chain OUTPUT (policy ACCEPT 1922K packets, 131M bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain MINIUPNPD (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     udp  --  any    any     anywhere             192.168.1.2         udp dpt:44977 
    0     0 ACCEPT     tcp  --  any    any     anywhere             192.168.1.2         tcp dpt:44977 
    0     0 ACCEPT     tcp  --  any    any     anywhere             192.168.1.3         tcp dpt:4220 
    0     0 ACCEPT     udp  --  any    any     anywhere             192.168.1.3         udp dpt:4220 
DoctorSinus ★★★★★ ()
Ответ на: комментарий от O02eg
# iptables -L -v -t nat
Chain PREROUTING (policy ACCEPT 51161 packets, 5813K bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 DNAT       tcp  --  any    any     anywhere             172.16.21.46        tcp dpts:4201:4299 to:192.168.1.3 
  234  148K DNAT       udp  --  any    any     anywhere             172.16.21.46        udp dpts:4201:4299 to:192.168.1.3 
    0     0 DNAT       tcp  --  any    any     anywhere             172.16.21.46        tcp dpts:8601:8699 to:192.168.1.3 
    0     0 DNAT       udp  --  any    any     anywhere             172.16.21.46        udp dpts:8601:8699 to:192.168.1.3 
   41  5826 MINIUPNPD  all  --  ppp0   any     anywhere             anywhere            

Chain POSTROUTING (policy ACCEPT 1333 packets, 219K bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 MASQUERADE  udp  --  any    any     192.168.1.0/24       192.168.1.3         udp dpts:8601:8699 
    4   176 MASQUERADE  tcp  --  any    any     192.168.1.0/24       192.168.1.3         tcp dpts:8601:8699 
    0     0 MASQUERADE  udp  --  any    any     192.168.1.0/24       192.168.1.3         udp dpts:4201:4299 
    3   132 MASQUERADE  tcp  --  any    any     192.168.1.0/24       192.168.1.3         tcp dpts:4201:4299 
38615 2649K MASQUERADE  all  --  any    ppp0    anywhere             anywhere            

Chain OUTPUT (policy ACCEPT 12728 packets, 818K bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain MINIUPNPD (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 DNAT       udp  --  any    any     anywhere             anywhere            udp dpt:44977 to:192.168.1.2:44977 
    0     0 DNAT       tcp  --  any    any     anywhere             anywhere            tcp dpt:44977 to:192.168.1.2:44977 
    0     0 DNAT       tcp  --  any    any     anywhere             anywhere            tcp dpt:4220 to:192.168.1.3:4220 
    0     0 DNAT       tcp  --  any    any     anywhere             anywhere            tcp dpt:4433 to:192.168.1.3:4433 
    0     0 DNAT       udp  --  any    any     anywhere             anywhere            udp dpt:4220 to:192.168.1.3:4220 
DoctorSinus ★★★★★ ()
Ответ на: комментарий от edigaryev
 > ss sport = :4220
Netid  State      Recv-Q Send-Q   Local Address:Port       Peer Address:Port

http://ompldr.org/vaGxpeQ


# nmap 192.168.1.3

Starting Nmap 5.51 ( http://nmap.org ) at 2013-02-26 21:55 MSK
Nmap scan report for 192.168.1.3
Host is up (0.0018s latency).
Not shown: 999 closed ports
PORT      STATE SERVICE
16001/tcp open  fmsascon
MAC Address: 38:59:F9:05:37:39 (Unknown)

Nmap done: 1 IP address (1 host up) scanned in 17.12 seconds

wut

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

Ну вот. Сделай диапазон 4220 — 4220, перезапусти торрент клиент и попробуй запустить ss еще раз, на этот раз под рутом.

edigaryev ★★★★★ ()
Ответ на: комментарий от edigaryev
 # ss sport = :4200
Netid  State      Recv-Q Send-Q   Local Address:Port       Peer Address:Port 

сделал порт 4220-4220

ещё:

tcp    ESTAB      0      0          192.168.1.3:54591    173.194.70.125:xmpp-client 
tcp    ESTAB      0      0          192.168.1.3:57768     46.161.129.39:6981    
tcp    ESTAB      0      0          192.168.1.3:47531      95.158.40.88:46167   
tcp    ESTAB      0      0          192.168.1.3:39308    87.240.143.244:http    
tcp    CLOSE-WAIT 0      0          192.168.1.3:37039    195.82.146.114:http    
tcp    ESTAB      0      0          192.168.1.3:58800    173.194.70.100:https   
tcp    ESTAB      0      0          192.168.1.3:58520   108.160.161.157:http    
tcp    ESTAB      0      0          192.168.1.3:39609     82.131.53.187:18131   
tcp    ESTAB      0      0          192.168.1.3:47516    87.240.131.243:http    
tcp    ESTAB      0      0          192.168.1.3:35648        37.99.50.3:16793   
tcp    ESTAB      0      0          192.168.1.3:33593    74.125.136.101:http    
tcp    ESTAB      0      0          192.168.1.3:54657    109.87.117.146:46189   
tcp    ESTAB      0      0          192.168.1.3:41687     92.241.107.22:26619   
tcp    ESTAB      0      0          192.168.1.3:35137      176.9.26.111:imap    
tcp    ESTAB      0      0          192.168.1.3:59024    87.240.142.152:http    
tcp    ESTAB      0      0          192.168.1.3:41059    173.194.65.132:http    
tcp    ESTAB      0      0          192.168.1.3:46682    80.240.218.168:xmpp-client 
tcp    ESTAB      0      0          192.168.1.3:47553    109.230.137.34:11294   
tcp    ESTAB      0      0          192.168.1.3:57714      77.88.57.178:xmpp-client 
tcp    CLOSE-WAIT 1      0          192.168.1.3:38236    195.82.146.122:http    
tcp    ESTAB      0      0          192.168.1.3:40349   213.180.204.124:imaps   
tcp    ESTAB      0      0          192.168.1.3:41095     173.194.65.95:http    
tcp    CLOSE-WAIT 1      0          192.168.1.3:44840    195.82.146.123:http 

меня этот кусок интересует и печалит (правда, xmpp-client понятен)

DoctorSinus ★★★★★ ()
Последнее исправление: DoctorSinus (всего исправлений: 1)
Ответ на: комментарий от DoctorSinus

4200
4220-4220

Хмм...

Пробовал с другим торрент-клиентом?

меня этот кусок интересует и печалит (правда, xmpp-client понятен)

Думаю половина торренты, а остальное серфинг, почтовый клиент и XMPP.

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

4200
4220-4220

same shit :)

 # ss dport = :4220
Netid  State      Recv-Q Send-Q   Local Address:Port       Peer Address:Port

Пробовал с другим торрент-клиентом?

пробую трансмишон и flush, и трансмишон на роутере

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

То есть если на роутере запустить торрент-клиент, он ничего не сливает с ноута? Покажите тогда ″iptables-save″ ноута.

С чем связана такая странность в записи правил PREROUTE на маршрутизатора, в том плане, что сначала идут правила для ″-d 172.16.21.46″, а потом для ″-i ppp0″, если адрес 172.16.21.46 назначен на ppp0?

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

не сливает

iptables на ноуте не запущен вообще

 # iptables-save 
 # 

С чем связана такая странность в записи правил PREROUTE на маршрутизатора, в том плане, что сначала идут правила для ″-d 172.16.21.46″, а потом для ″-i ppp0″, если адрес 172.16.21.46 назначен на ppp0?

Хз, эти правила роутер сам создаёт при коннекте к pppoe-соединению

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

во!

# nmap -p 4220 192.168.1.3 

Starting Nmap 5.51 ( http://nmap.org ) at 2013-02-26 22:36 MSK
Nmap scan report for 192.168.1.3
Host is up (0.0018s latency).
PORT     STATE SERVICE
4220/tcp open  vrml-multi-use
MAC Address: 38:59:F9:05:37:39 (Unknown)

Nmap done: 1 IP address (1 host up) scanned in 11.95 seconds
DoctorSinus ★★★★★ ()
Ответ на: комментарий от DoctorSinus
    0     0 DNAT       tcp  --  any    any     anywhere             172.16.21.46        tcp dpts:4201:4299 to:192.168.1.3 
  234  148K DNAT       udp  --  any    any     anywhere             172.16.21.46        udp dpts:4201:4299 to:192.168.1.3 

Странно.

1. Что если на роутере запустить:

tcpdump -n -i внешний_интерфейс port 4220
и попробовать провериться на canyouseeme? Может быть вообще провайдер режет?

2. Каким-нибудь netcat'ом отправлять всякий мусор на 172.16.24.46:4220 (UDP) и смотреть tcpdump'ом на 192.168.1.3 — будет мусор приходить?

edigaryev ★★★★★ ()
Последнее исправление: edigaryev (всего исправлений: 2)
Ответ на: комментарий от DoctorSinus

А когда запускаете трансмишон на маршрутизаторе, в указываете ему порт (порты) вне диапазона 4201:4299 и разрешаете входящие соединения в INPUT?

mky ★★★★★ ()
Ответ на: комментарий от edigaryev
/media/DISK_A1/system/root # tcpdump -w -n -i ppp0 port 4220
tcpdump: listening on ppp0, link-type LINUX_SLL (Linux cooked), capture size 65535 bytes
0 packets captured
0 packets received by filter
0 packets dropped by kernel

canyouseeme cannot see me :)

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

В интернете есть заявления, что торент режется на беспроводных и в часы пик ограничивается в пользу остального трафика. Так что торренты МТС резать умеет. Навеное, имеет смысл поспрашивать на вашем местном форуме, может дейстивительно МТС режет отдачу.

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