Re: Проблемы со связностью по ipv6 сайта nginx.org

Eugene Grosbein eugen на grosbein.net
Чт Сен 24 14:13:39 UTC 2020


24.09.2020 20:54, Vladislav V. Prodan пишет:
> 
> 
> чт, 24 сент. 2020 г. в 16:27, Maxim Dounin <mdounin на mdounin.ru <mailto:mdounin на mdounin.ru>>:
> 
>     Hello!
> 
>     On Thu, Sep 24, 2020 at 02:03:37PM +0300, Sergey Budnevitch wrote:
> 
>     > > Продемонстрированная проблема ровно одна: пакетный менеджер не
>     > > может получить
>     > > http://nginx.org/packages/debian/dists/buster/InRelease с
>     > > IPv6-адреса 2a05:d014:edb:5704::6, жалуясь на разрыв соединения.
>     > >
>     > >
>     > > Первый запрос дождался таймаута (непонятно почему).
>     > > Второй запрос выполнился мгновенно.
>     > > https://pastebin.com/dWbffATH
>     >
>     > Смотрите:
>     > a) вы продемонстрировали проблему с первым подключением к nginx.org <http://nginx.org>
>     > b) вы утверждаете что бывает проблема с резолвером, когда используется ipv6
>     > c) вы используете  Hurricane Electric tunnel brocker для ipv6
>     >
>     > Поскольку a) и b) не связаны, я бы грешил на конфигурацию туннеля и/или на какие-то проблемы в he.
>     >
>     > nginx.org <http://nginx.org> доступен по ipv6 c нескольких точек с которых я мог проверить, и судя по логам подключаются
>     > по ipv6 к nginx.org <http://nginx.org> как обычно.
> 
>     Насколько я вижу, соединение нормально устанавливается, запрос
>     отправляется, а ответ не приходит и ждёт таймаута.  После чего на
>     некоторое время всё исправляется.
> 
>     Если используется тоннель, то это выглядит и пахнет как
>     классическая проблема с MTU, которая лечится за счёт PMTU black
>     hole detection.
> 
>     Я со своей стороны давно разочаровался в идее работоспособности
>     PMTU discovery в современном интернете, и жить с тоннелями без
>     правки MSS никому не рекомендую.

+100500

>     Но с нашей стороны явно имеет смысл проверить, что ICMP
>     fragmentation needed (ICMPv6 Packet Too Big) в зоне нашей
>     ответственности ходят нормально и не зафильтрованы.  С учётом
>     того, что пинги не ходят - у меня вот лично в этом сомнения.
> 
> 
> Благодарю.
> Похоже таки проблема в MTU/PMTU.
> Выставил в туннеле MTU 1480 при MTU 1500 физическом интерфейсе и заработало.
> Подозреваю опцию
> net.ipv4.tcp_mtu_probing = 0
> на маршрутизаторе.

IPv4 PMTUD в современном (и уже лет 20 как, а то и больше) интернете сломан бесповоротно
и время, которое тратится на восстановление его работы в публичном интернете,
лучше потратить на что-нибудь другое.

Это не касается контролируемых сетей и до определенной степени сетей
с вменяемыми партнёрскими отношениями с их администрацией. Но для публичного интернета
только занижение размера пакета любыми способами; в порядке уменшения предпочтительности:
TCP MSS adjust, или занижение MTU на туннеле (иногда это лекарство хуже болезни),
или принудительное снятие флага DF.




Подробная информация о списке рассылки nginx-ru