Как сменить приоритет протокола ipv4/ipv6

При наличии двух сетевых карт на сервере в некоторых случаях могут происходить ошибки, связанные со стабильностью работы платформы 1С:Предприятие 8. Одной из рекомендаций является понизить приоритет протокола ipv6 или выключить его совсем.

В ряде случаев эти ошибки обусловлены тем, что клиент запрашивает у сервера его адрес, а сервер вместо адреса в формате IPv4 вида 192.168.1.2 возвращает адрес в формате IPv6 в формате вида fe80::e168:38a1:5a4d:d271.

Увидеть это можно, выполнив в командной строке команду:

ping servername
где вместо servername надо подставить имя своего сервера. Если ответ будет в формате IPv6 — ваш сервер тоже может быть подвержен такой проблеме.
Возможных решений два — полное отключение протокола IPv6 полностью и занесение IP-адреса сервера в файл hosts.

Первое решение может быть неудобно тем, что как минимум требует перезагрузить сервер, второе может быть неудобно или даже неработоспособно в случае нахождения сервера в нескольких подсетях одновременно (например, несколько сетевых карт).

А вот теперь сообщаем более технологичное решение: просто повысить приоритет протокола IPv4 над протоколом IPv6, тем не менее сохранив работоспособность IPv6. Решение не требует перезагрузки, вступает в действие моментально. Нужно открыть командную строку в режиме администратора, и выполнить там две команды:

netsh interface ipv6 set prefix ::/96 60 3
netsh interface ipv6 set prefix ::ffff:0:0/96 55 4
Теперь все должно хаработать. Проверим:

ping test
Обмен пакетами с test [fe80::21c0:ff89:967f:955a%19] с 32 байтами данных:
Ответ от fe80::21c0:ff89:967f:955a%19: время<1мс

Итак, возвращается адрес в формате IPv6: fe80::21c0:ff89:967f:955a.

Применим наше решение:

netsh interface ipv6 set prefix ::/96 60 3
ОК.
netsh interface ipv6 set prefix ::ffff:0:0/96 55 4
ОК.

Снова проверим ping:

ping test
Обмен пакетами с test [192.168.1.5] с 32 байтами данных:
Ответ от 192.168.1.5: число байт=32 время<1мс TTL=128

Как видим — результат изменился - стал возвращаться адрес IPv4. Теперь проверим, что по адресу в формате IPv6 сервер по-прежнему пингуется:

ping fe80::21c0:ff89:967f:955a
Обмен пакетами с fe80::21c0:ff89:967f:955a по с 32 байтами данных:
Ответ от fe80::21c0:ff89:967f:955a: время<1мс

P.S. в некоторых случаях, если не сработало, то выполните дополнительную команду:

netsh interface ipv6 set prefix ::/96 1 3

Опубликовано: 31.01.2016