Не приходит Server hello через wireguard на определенных сайтах

Столкнулся с непонятной проблемой. Есть VPS и wireguard тунель до роутера. Некоторые сайты не открываются через тунель, не приходит server hello, соединения отваливается по таймауту. Если попытаться зайти с vps то все работает.

curl protonmail.com через туннель

 ./curl -4Iv --http2 https://protonmail.com
*   Trying 185.70.42.12:443...
* Connected to protonmail.com (185.70.42.12) port 443 (#0)
* ALPN: offers http/1.1
*  CAfile: /etc/ssl/certs/ca-certificates.crt
*  CApath: none
* TLSv1.2 (OUT), TLS handshake, Client hello (1):

curl protonmail.com с vps

curl -4Iv --http2 https://protonmail.com
*   Trying 185.70.42.12:443...
* TCP_NODELAY set
* Connected to protonmail.com (185.70.42.12) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: /etc/ssl/certs
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.3 (OUT), TLS handshake, Finished (20):

curl tjournal.ru через туннель

curl -4Iv --http2 https://tjournal.ru
*   Trying 51.15.103.162:443...
* Connected to tjournal.ru (51.15.103.162) port 443 (#0)
* ALPN: offers http/1.1
*  CAfile: /etc/ssl/certs/ca-certificates.crt
*  CApath: none
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* TLSv1.3 (OUT), TLS handshake, Finished (20):

Проблема проявляется только на определенных сайтах! Выше лог с tjournal.ru который почему-то через тунель работает нормально. Уже 2-ой день ломаю голову, не могу понять в чем причина

Нашел причину. По дефолту wireguard ставит mtu 1420 из-за чего начинают фрагментироваться пакеты. Выставил 1500 и все заработало

Вероятно, вы заблокировали ICMP, из-за чего у вас сломался Path MTU Discovery - Wikipedia
Правильное решение — выставлять корректный TCP MSS, соответствующий MTU туннельного интерфейса.

Я правильно понимаю что если разрешить ICMP то проблема будет решена?

Да, в большей степени. Проблема будет наблюдаться только с сайтами, которые также блокируют ICMP на стороне их сервера. Чтобы решить и эту проблему, нужно модифицировать TCP MSS в соответствии с MTU линка.
https://tldp.org/HOWTO/Adv-Routing-HOWTO/lartc.cookbook.mtu-mss.html

Тогда зачем фрагментировать пакеты на роутере под туннель если можно просто выставить mtu у туннеля?

Вслучае с удаленным сервером или ограничением провайдера понятно, нет выбора.

Насколько вижу, протокол Wireguard не поддерживает и не осуществляет внутреннюю фрагментацию, поэтому увеличивая MTU туннельного интерфейса, вы вынуждаете операционную систему осуществлять фрагментацию UDP-пакетов WireGuard на уровне IP, а фрагментированные IP-пакеты во многих сетях блокируются: вы просто не сможете пользоваться вашим VPN через некоторых провайдеров.

Фрагментировать пакеты на IP-уровне в современном интернете официально не рекомендуется:

Век живи - век учись

Спасибо за разъяснения