Дома следующая схема:
Провайдер <=> (eth0) linux router (eth1) <=> wifi-точка NWA1123-AC HD <=> клиенты, подключенные по wifi
Решил настроить работу сети так, чтобы при подключении к разным wifi сетям клиенты попадали в разные vlan.
Теперь наблюдаю, что на клиентах некоторые сайты (предположительно те, которые по http2), не открываются. С linux router все сайты доступны без проблем.
curl -v --trace-ascii - https://www.linux.org.ru/
Warning: --trace-ascii overrides an earlier trace/verbose option
== Info: Trying 178.248.233.6...
== Info: TCP_NODELAY set
== Info: Connected to www.linux.org.ru (178.248.233.6) port 443 (#0)
== Info: ALPN, offering h2
== Info: ALPN, offering http/1.1
== Info: successfully set certificate verify locations:
== Info: CAfile: /etc/ssl/cert.pem
CApath: none
== Info: TLSv1.2 (OUT), TLS handshake, Client hello (1):
=> Send SSL data, 230 bytes (0xe6)
0000: ...............eY..........S\...c......\.0.,.(.$.......k.9.....
0040: ............=.5...../.+.'.#.......g.3...E...<./...A.............
0080: ........].........www.linux.org.ru..............................
00c0: ...........................h2.http/1.1
== Info: Operation timed out after 300948 milliseconds with 0 out of 0 bytes received
== Info: Closing connection 0
curl: (28) Operation timed out after 300948 milliseconds with 0 out of 0 bytes received
Настройки на linux router:
# cat /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
auto eth1
iface eth1 inet static
mtu 1448
address 10.255.0.1
netmask 255.255.255.0
auto eth1.100
iface eth1.100 inet static
address 10.255.100.1
netmask 255.255.255.0
vlan-raw-device eth1
auto eth1.200
iface eth1.200 inet static
address 10.255.200.1
netmask 255.255.255.0
vlan-raw-device eth1
# ip route
default via xxx.yyy.zzz.1 dev eth0
10.255.0.0/24 dev eth1 proto kernel scope link src 10.255.0.1
10.255.100.0/24 dev eth1.100 proto kernel scope link src 10.255.100.1
10.255.200.0/24 dev eth1.200 proto kernel scope link src 10.255.200.1
xxx.yyy.zzz.0/24 dev eth0 proto kernel scope link src xxx.yyy.zzz.131
169.254.0.0/16 dev eth1 scope link metric 1000
# ip -d addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 promiscuity 0 numtxqueues 1 numrxqueues 1
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 1000
link/ether 6e:56:01:ed:fa:7e brd ff:ff:ff:ff:ff:ff promiscuity 0 numtxqueues 1 numrxqueues 1
inet xxx.yyy.zzz.131/24 brd xxx.yyy.zzz.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::6c56:1ff:feed:fa7e/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1448 qdisc fq_codel state UP group default qlen 1000
link/ether 9c:eb:e8:b4:d3:4c brd ff:ff:ff:ff:ff:ff promiscuity 0 numtxqueues 1 numrxqueues 1
inet 10.255.0.1/24 brd 10.255.0.255 scope global eth1
valid_lft forever preferred_lft forever
inet6 fe80::9eeb:e8ff:feb4:d34c/64 scope link
valid_lft forever preferred_lft forever
6: eth1.100@eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1448 qdisc noqueue state UP group default qlen 1000
link/ether 9c:eb:e8:b4:d3:4c brd ff:ff:ff:ff:ff:ff promiscuity 0
vlan protocol 802.1Q id 100 <REORDER_HDR> numtxqueues 1 numrxqueues 1
inet 10.255.100.1/24 brd 10.255.100.255 scope global eth1.100
valid_lft forever preferred_lft forever
inet6 fe80::9eeb:e8ff:feb4:d34c/64 scope link
valid_lft forever preferred_lft forever
7: eth1.200@eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1448 qdisc noqueue state UP group default qlen 1000
link/ether 9c:eb:e8:b4:d3:4c brd ff:ff:ff:ff:ff:ff promiscuity 0
vlan protocol 802.1Q id 200 <REORDER_HDR> numtxqueues 1 numrxqueues 1
inet 10.255.200.1/24 brd 10.255.200.255 scope global eth1.200
valid_lft forever preferred_lft forever
inet6 fe80::9eeb:e8ff:feb4:d34c/64 scope link
valid_lft forever preferred_lft forever
# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- anywhere anywhere
Из того, что попробовал, добавил «mtu 1448» в настройки интерфейса eth1.
Подскажите, куда копать?
ps: прошу простить, если разместил сообщение в неправильной ветке
update
Добавил это правило и все заработало:
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu