Если после падения туннеля вы открываете сайт по IPv4, вы ничего не доказали про IPv6. macOS настраивает два семейства отдельно, для каждой сетевой службы, и клиент VPN может изменить одно, не затрагивая другое. Пройдите три уровня по порядку: настройка адреса, выбор маршрута, а затем любая политика, которую клиент устанавливает в отключённом состоянии. Пока не меняйте сеть доступа, иначе вы сравните две разные проблемы.

Начните с семейства, которое действительно сломалось

Страница, которая загружается по IPv4, говорит, что физическая сеть жива. Она ничего не говорит о том, есть ли у службы глобальный адрес IPv6, объявляется ли ещё префикс и не фильтрует ли что-то семейство. Подтвердите, что именно не работает, прежде чем выбирать инструмент, потому что имя, которое разрешается в недоступный адрес, выглядит точно так же, как имя, которое вообще не разрешается. Спросите, какой уровень ответил неверно, и запишите ответ. Без этого каждый следующий шаг — догадка в одежде процедуры.

Сохраняйте одну и ту же сеть Wi-Fi и одну и ту же точку доступа на всё время сравнения. Сеть кафе, которая вчера предлагала IPv6, ничего не говорит о той, в которой вы сейчас.

Прочитайте адрес до маршрута

В Системных настройках панель TCP/IP активной службы показывает, включён ли IPv6 автоматически, вручную или только локально для канала. Сравните это с ожидаемым, помня, что организация могла намеренно выбрать ручную настройку. Затем выполните ifconfig и прочитайте нужный интерфейс. Один только адрес fe80:: означает, что интерфейс может общаться с соседями и не более того, поэтому наличие локального адреса не доказывает пригодный путь.

Поищите также интерфейсы utun, оставленные клиентом. Устаревшее туннельное устройство может долго держать адрес и маршрут после того, как клиент перестал его использовать. Если такое есть, это находка о жизненном цикле для владельца клиента, а не то, что нужно удалять на месте.

Прочитайте таблицу маршрутов для недоступного назначения

Спросите ядро о назначении, которое не сработало, а не о маршруте по умолчанию. route -n get 2001:db8::25 печатает интерфейс и шлюз, выбранные для этого адреса, а netstat -rn -f inet6 показывает всю таблицу для сравнения. Маршрут по умолчанию говорит, что значение по умолчанию существует; он не говорит, что это назначение его использует.

Держите DNS в отдельном отсеке. Резолвер, доступный по IPv4, всё равно может возвращать записи AAAA, поэтому сбой поиска и сбой маршрутизации дают одинаковый симптом в браузере.

Отделите политику блокировки клиента от остатка

Некоторые клиенты созданы, чтобы блокировать трафик, пока они отключены, включая другое семейство адресов, и такое поведение — функция, а не дефект.

Выясните, какое поведение документирует ваш клиент, прежде чем считать блокировку повреждением. scutil --dns показывает резолверы, действующие для каждой службы, и именно там становится виден резолвер, установленный клиентом, или DNS-настройка с ограниченной областью. Затем проверьте, были ли установлены и оставлены правила фильтра пакетов. Ожидаемая блокировка и оставшееся правило требуют противоположных реакций, и различить их может только документация владельца.

Соберите доказательства, затем измените одну вещь

Запишите версию клиента, версию macOS, сетевую службу, предполагаемую политику отключения и вывод адресов и маршрутов с обеих сторон одного цикла подключения и отключения. Именно эта запись превращает жалобу в проблему жизненного цикла, которую кто-то может исследовать. Затем внесите одно изменение и измерьте снова.

Сопротивляйтесь сбросу. Удаление виртуальных интерфейсов, очистка таблицы маршрутов и отключение IPv6 на всей машине уничтожают состояние, которое нужно было зафиксировать, и могут унести с собой несвязанную конфигурацию. Если у клиента есть поддерживаемый сценарий паузы, восстановления или удаления, используйте его и следуйте процедуре администратора там, где сетью управляют. Машина, которую уже сбросили, ничего не даёт владельцу для работы, и обычно воспроизводит дефект при следующем подключении.

Похожие статьи