LINUX.ORG.RU

Избранные сообщения orlow

Настройка MTU для Wireguard.

Форум — Admin

На клиенте и сервере установлен Wireguard.
И там и там был выставлен MTU в 1412, т.к. все значения выше не пропускают нормально трафик.
Выглядит это так, что сайты вообще не открываются. Никакие.
1. Почему работает только со значением 1412 (по дефолту WG ставит 1420, но оно не работает).
2. Если eth0 с MTU 1500, то wg0 должен быть со значением меньшим, чем eth0?
И на сколько меньшим? 1500 минус дополнительный размер заголовка от Wireguard?

[root@localhost ~]# ip a
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
3: wg0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1412 qdisc noqueue state UNKNOWN group default qlen 1000

3. В схеме ISP провайдер <-> Router with PPPoE <-> OpenWRT with Wireguard <-> Client почему-то некоторые сайты не открываются.
Трафик зависает на этапе инициализации TLS.
Вот пример трафика, пойманного TCPdump-ом в момент открытия сайта.
11:17:38.080131 IP (tos 0x0, ttl 64, id 43434, offset 0, flags [DF], proto TCP (6), length 60)
    10.0.1.177.40572 > 52.71.38.59.443: Flags [S], cksum 0x5899 (correct), seq 2150728512, win 64240, options [mss 1460,sackOK,TS val 999534342 ecr 0,nop,wscale 7], length 0
11:17:38.214844 IP (tos 0x0, ttl 238, id 0, offset 0, flags [DF], proto TCP (6), length 60)
    52.71.38.59.443 > 10.0.1.177.40572: Flags [S.], cksum 0xb1a6 (correct), seq 2270306161, ack 2150728513, win 28960, options [mss 1460,sackOK,TS val 768039974 ecr 999534342,nop,wscale 8], length 0
11:17:38.214884 IP (tos 0x0, ttl 64, id 43435, offset 0, flags [DF], proto TCP (6), length 52)
    10.0.1.177.40572 > 52.71.38.59.443: Flags [.], cksum 0x4f17 (correct), seq 1, ack 1, win 502, options [nop,nop,TS val 999534477 ecr 768039974], length 0
11:17:38.224076 IP (tos 0x0, ttl 64, id 43436, offset 0, flags [DF], proto TCP (6), length 569)
    10.0.1.177.40572 > 52.71.38.59.443: Flags [P.], cksum 0xed75 (correct), seq 1:518, ack 1, win 502, options [nop,nop,TS val 999534486 ecr 768039974], length 517
11:17:38.358734 IP (tos 0x0, ttl 238, id 17205, offset 0, flags [DF], proto TCP (6), length 52)
    52.71.38.59.443 > 10.0.1.177.40572: Flags [.], cksum 0x4e65 (correct), seq 1, ack 518, win 118, options [nop,nop,TS val 768040010 ecr 999534486], length 0
11:17:38.638119 IP (tos 0x0, ttl 238, id 17210, offset 0, flags [DF], proto TCP (6), length 1310)
    52.71.38.59.443 > 10.0.1.177.40572: Flags [P.], cksum 0x5b4a (correct), seq 4345:5603, ack 518, win 118, options [nop,nop,TS val 768040080 ecr 999534486], length 1258
11:17:38.638189 IP (tos 0x0, ttl 64, id 43437, offset 0, flags [DF], proto TCP (6), length 64)
    10.0.1.177.40572 > 52.71.38.59.443: Flags [.], cksum 0xa0cc (correct), seq 518, ack 1, win 502, options [nop,nop,TS val 999534900 ecr 768040010,nop,nop,sack 1 {4345:5603}], length 0
А вот пример того, как это выглядит в Curl
archlinux% curl --verbose --head https://appcrawler.com --raw
*   Trying 2606:4700:30::6812:3e42...
* TCP_NODELAY set
* Connected to appcrawler.com (2606:4700:30::6812:3e42) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: none
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to appcrawler.com:443 
* Closing connection 0
curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to appcrawler.com:443 
Доступ к некоторым сайтам удаётся «пофиксить» правкой MTU, но некоторые не открываются даже после правки MTU.
Может кто-нибудь сталкивался с подобным? И как это починить?
Если это MTU, то каким должно быть значение на каждом узле? Спасибо.

 , ,

Sorcus
()