Изменить MTU для интерфейса в Windows Vista, Windows 7, Windows 8, Windows 10

Неожиданно столкнулся с проблемой Path MTU Discovery Black Hole для IPv6 через туннель 6to4. Поскольку до недавнего времени у меня везде был нативный префикс, то я и забыл уже, что такая проблема есть в природе. А она есть.

Собственно, о самой проблеме всё очень хорошо описано по ссылке, я же расскажу, как поменять MTU на интерфейсе Windows.

Открываем cmd от имени администратора и вводим

netsh interface ipv6 show subinterfaces

Видим что-то типа:

MTU         MediaSenseState  Bytes In    Bytes Out  Interface
----------  ---------------  ---------   ---------  -------------
4294967295  1                0           13487914   Loopback Pseudo-Interface 1
1500        1                3734493902  282497358  Local Area Connection

Хехей, а у нас весь туннель с MTU 1480. Вот и не лезет. По идее, как и написано в статье выше, должно всё настраиваться автоматически с помощью ICMPv6 type 2. Но у Windows, как всегда, своё видение ситуации, поэтому приколотим гвоздями размер пакета IPv6.

netsh interface ipv6 set subinterface "Local Area Connection" mtu=1460 store=persistent

Немного занудства — откуда взялось 1460. Вооружаемся командой

ping -6 kruglikov.info -l 1452

и начинаем посылать пинги, уменьшая значение -l на 10 (1442, 1432, etc). Опять же немного занудства — откуда взялось 1452? 1452 = 1500 – 48, где 1500 — это стандартный MTU у Ethernet и 48 — заголовок пакета IPv6. У меня заработало при 1412, прибавляем обратно 48 и получаем 1460.

Я искренне не понимаю, почему не пролазят ICMPv6 type 2 пакеты. Все файрволы разрешают. Возможно, это глюк Windows, возможно Mikrotik, на котором поднят туннель. При раздаче адресов по SLAAC или DHCPv6 в настройках Neighbor Discovery Protocol можно сразу выставлять MTU и тогда всё работает. Но у меня на данный момент инфраструктура сети не готова к внедрению IPv6, поэтому всё прописано руками только на тех машинах, где это надо.

И на прощание — ПАЦАНЫ ЗВОНЮ Я КОРОЧЕ ПРОВАЙДЕРУ И СПРАШИВАЮ ГДЕ МОЙ IPV6, ОН ТАКОЙ ГОВОРИТ ВОТ 6RD, НУ Я ВЗЯЛ И РЕЗКО ПЕРЕ*БАЛ ЕМУ В ЩЩИ С ВЕРТУШКИ ПРЯМО ПО ТЕЛЕФОНУ, ПОЯСНИЛ ЕМУ КРИКОМ «НЕ ЛЮБЛЮ ТУННЕЛИ», ПОТОМУ ЧТО Я УГОРЕЛ ПО НАТИВУ, ПАЦАНЫ ДУХ СТАРОЙ ШКОЛЫ ЖИВЕТ ТОЛЬКО В MTU 1500, ГДЕ ДЕДЫ УПАРЫВАЮТСЯ ПО ETHERNETУ И MAC-АДРЕСАМ, ГДЕ ПАЦАНЫ ЖИВУТ DHCPV6, ГДЕ РОУТ АДВЕРТИЗМЕНТЫ Е*АШАТ ПРЯМО С ПРОВАЙДЕРСКОГО ЛИНКА, ТОЛЬКО IPOE, ТОЛЬКО ПЛАГНПЛЕЙ!!!

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

ipv6 ready