SSH временами рвет соединение при включенном iptables

Ноут воткнут в роутер. Туда же воткнут настраиваемый сервер. Сервер раздает wifi.

Пока не было iptables ssh работал идеально.
Если подключиться с помощью wifi - с ssh все тоже ок.
Если подключиться через какой-нибудь другой сервер - все ок.
Но в первоначальной конфигурации (ноут и сервер воткнуты в роутер) регулярно разрывается ssh соединение при массовом выводе текста или при попытке отправить блок текста.

Пробовал:
ifconfig eth0 mtu 1420 - немного помогло, по крайней мере соединение перестало рваться при выводе

iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu - ничего не изменилось.

eth0 - WAN
wlan0 - LAN

localhost ~ # iptables -L -v

Chain INPUT (policy DROP 259 packets, 24112 bytes)
 pkts bytes target     prot opt in     out     source               destination         
  129 62294 ACCEPT     udp  --  eth0   any     anywhere             anywhere             udp spt:domain dpts:1024:65535
   20  3020 ACCEPT     icmp --  any    any     anywhere             anywhere             icmp destination-unreachable
    0     0 ACCEPT     icmp --  any    any     anywhere             anywhere             icmp time-exceeded
    0     0 ACCEPT     icmp --  any    any     anywhere             anywhere             icmp echo-reply
    0     0 ACCEPT     icmp --  any    any     anywhere             anywhere             icmp echo-request
 1552 81245 ACCEPT     all  --  wlan0  any     anywhere             anywhere            
    0     0 ACCEPT     all  --  lo     any     anywhere             anywhere            
 4224  207K ACCEPT     tcp  --  any    any     anywhere             anywhere             ctstate RELATED,ESTABLISHED
    2   656 REJECT     udp  --  !wlan0 any     anywhere             anywhere             udp dpt:bootps reject-with icmp-port-unreachable
    0     0 REJECT     udp  --  !wlan0 any     anywhere             anywhere             udp dpt:domain reject-with icmp-port-unreachable
    7   420 SSHCONN    tcp  --  any    any     anywhere             anywhere             ctstate NEW tcp dpt:ssh

Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
   12  1437 DROP       all  --  wlan0  any     anywhere             192.168.0.0/16      
  460 86244 ACCEPT     all  --  wlan0  any     192.168.0.0/16       anywhere            
  494  122K ACCEPT     all  --  eth0   any     anywhere             192.168.0.0/16      

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

Chain LOGACCEPT (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    7   420 LOG        tcp  --  any    any     anywhere             anywhere             LOG level debug prefix "IPT TCP ACCEPTED: "
    0     0 LOG        udp  --  any    any     anywhere             anywhere             LOG level debug prefix "IPT UDP ACCEPTED: "
    7   420 ACCEPT     all  --  any    any     anywhere             anywhere            

Chain LOGDROP (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 LOG        tcp  --  any    any     anywhere             anywhere             LOG level debug prefix "IPT TCP DROPPED: "
    0     0 LOG        udp  --  any    any     anywhere             anywhere             LOG level debug prefix "IPT UDP DROPPED: "
    0     0 DROP       all  --  any    any     anywhere             anywhere            

Chain SSHCONN (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 LOGDROP    all  --  any    any     anywhere             anywhere             ctstate NEW recent: UPDATE seconds: 60 hit_count: 5 name: DEFAULT side: source mask: 255.255.255.255
    7   420 LOGACCEPT  all  --  any    any     anywhere             anywhere             recent: SET name: DEFAULT side: source mask: 255.255.255.255

localhost ~ # iptables -L -v -t mangle

Chain PREROUTING (policy ACCEPT 7326 packets, 632K bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain INPUT (policy ACCEPT 6229 packets, 381K bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy ACCEPT 966 packets, 209K bytes)
 pkts bytes target     prot opt in     out     source               destination         
   53  2544 TCPMSS     tcp  --  any    any     anywhere             anywhere             tcp flags:SYN,RST/SYN TCPMSS clamp to PMTU

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

Chain POSTROUTING (policy ACCEPT 11512 packets, 3431K bytes)
 pkts bytes target     prot opt in     out     source               destination

проблема скорее всего в MTU,

проблема скорее всего в MTU, iptables не при чём

Я такое видал с кривыми D-Link роутерами, решение - перепрошить их или заменить

Нейтральность - высшее достижение сознания!

Но почему тогда без iptables

Но почему тогда без iptables при ровно том же роутере все работает идеально?

Роутер Zyxel Keenetic. Установленный на нем размер MTU - 1460, MRU - 1400. Никаких проблем до этого с ним не было.

а чем так плох стандартный

а чем так плох стандартный MTU:1500 ?

Это было в стандартных

Это было в стандартных рекомендациях по настройке L2TP от Билайна. Я не углублялся в причины.
Попробовал на роутере и 1400-1400, 1460-1460, 1460-1500. В комбинациях с 1500, 1460, 1400 на eth0, увы - ничего не меняется.

Это было потому, что при

Это было потому, что при поднятие l2tp соединения виртуальный интерфейс на котором поднято l2tp соединение (например ppp0) имеет MTU=1460 (в ряде случаев), а у обычных сетевых интерфейсов (eth0, eth1...) обычно MTU=1500 (если в /etc/conf.d/net не заданно иначе), соответственно возникает ситуация когда транзитные пакеты имеют MTU=1500 и не проходят через ppp0.
Вы лучше посмотрите чему равно MTU на вашем виртуальном интерфейсе через которое поднято l2tp соединение:

# ifconfig
...
...
...
ppp0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST>  mtu 1460
        inet XXX.XXX.XXX.XXX  netmask 255.255.255.255  destination 85.21.0.255
        ppp  txqueuelen 3  (Point-to-Point Protocol)
        RX packets 58507864  bytes 14097522287 (13.1 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 93090739  bytes 101127990650 (94.1 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
...
...
...

Не надо бояться, что жизнь закончится - надо бояться, что она не начнется!

Hellsy22 написал(а): Но

Hellsy22 написал(а):
Но почему тогда без iptables при ровно том же роутере все работает идеально?

Роутер Zyxel Keenetic. Установленный на нем размер MTU - 1460, MRU - 1400. Никаких проблем до этого с ним не было.

Надо выверять правила, значит. ИМХО приведенные выше правила переусложнены

Нейтральность - высшее достижение сознания!

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".