From 019bbe845f71ffbd48115c979842682c16b43980 Mon Sep 17 00:00:00 2001 From: bol-van Date: Wed, 28 Oct 2026 10:03:42 +0300 Subject: [PATCH] update docs --- docs/readme.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/readme.md b/docs/readme.md index 037fd1e..b842126 100644 --- a/docs/readme.md +++ b/docs/readme.md @@ -435,6 +435,8 @@ nfqws2 \ Если NAT не меняет поле Identifier в icmp (типично для Linux NAT), можно использовать легкий stateless вариант, когда размер пакета не меняется, и он с гарантией влезает в MTU. Провайдерский CGNAT меняет Identifier. Для его поддержки существует параметр udp2icmp `cgnat`. Клиент увеличит размеры исходящих пакетов на 2 байта, поэтому нужно предварительно уменьшить MTU интерфейса wireguard на 2, если он выбран "под завязку". В режиме cgnat серверный конец будет вести базу измененных идентификаторов и сохранять их при ответе. +Обычно на CGNAT время жизни icmp identifier небольшое - 30 секунд, но может быть еще меньше, и освежаться может только исходящими пакетами. Поэтому нужен частый keepalive со стороны клиента. +Если этого не сделать, будет обрыв до момента, когда wireguard клиент что-либо пошлет. Некоторые операторы троттлят icmp, поэтому могут быть проблемы со скоростью. Будем загонять исходящие с клиента в icmp type 8 (echo request) code 199 , исходящие с сервера в icmp type 0 (echo reply) code 199. Код у обоих концов делаем одинаковый, иначе NAT не соотнесет. Без NAT можно коды делать разными для клиента и сервера.