Компьютеры · Инструкция
WSL: DNS suffix Windows не появляется в /etc/resolv.conf
WSL DNS suffix Windows не появляется в Linux из-за режима сети и параметров DNS WSL.
Короткий ответ
В NAT-режиме поведение DNS suffix зависит от `dnsTunneling`/`dnsProxy`. При включённом DNS tunneling Microsoft добавляет Windows DNS suffixes в `search` `/etc/resolv.conf`; без него поведение другое.
Как WSL переносит DNS suffix из Windows
Короткое имя вроде `server01` разрешается только если resolver знает домен поиска, например `corp.example`. Windows может получать suffix через DHCP/VPN/политику, а WSL — не всегда копировать его одинаково. Microsoft документирует три режима для NAT: по умолчанию suffix может отсутствовать; с DNS tunneling Windows suffixes попадают в `search`; при отключённых tunneling/proxy используется иное поведение. Поэтому ручная правка resolv.conf до проверки `.wslconfig` часто маскирует причину.
Совет: Сравнивайте FQDN и короткое имя: если полное имя работает, DNS-сервер доступен, а проблема уже ближе к search suffix.
Проверка `ipconfig /all` и resolv.conf
- В Windows выполните `ipconfig /all` и запишите DNS Suffix Search List/суффиксы активных адаптеров или VPN.
- В WSL откройте `/etc/resolv.conf` и проверьте строки `search`/`domain`, затем протестируйте полное имя `host.corp.example`.
- Проверьте `.wslconfig`: в поддерживаемом NAT-режиме `dnsTunneling=true` помогает передавать Windows DNS-политику в WSL.
- После изменения параметров выполните `wsl --shutdown` и снова сравните `/etc/resolv.conf`, не редактируя его вручную в промежутке.
- Если полное FQDN работает, а короткое имя нет, проблема локализована в suffix/search; если не работает и FQDN — диагностируйте сам DNS/VPN.
Важно: Ручная строка `search` может быть перезаписана при следующем запуске WSL; сначала разберитесь с источником конфигурации.
Что меняет dnsTunneling в NAT
- Ручной `search` в resolv.conf может быть перезаписан WSL при следующем запуске; сначала решите источник конфигурации.
- Корпоративный VPN может добавлять supplemental suffix только при подключении — сравнивайте состояние до и после VPN.
- Не путайте DNS suffix с hosts-файлом: suffix дополняет короткое имя при DNS-поиске, но не создаёт запись сам.
- В mirrored mode сетевое поведение отличается от NAT, поэтому применяйте рекомендации к фактическому `networkingMode`.
Предупреждение: При подключении VPN Windows suffixes могут изменяться динамически — снимайте `ipconfig /all` в том же состоянии, где проявляется проблема.
Как отделить suffix от проблем DNS-сервера
Диагностика занимает минуты, если идти от FQDN к короткому имени. Успешный `getent hosts server01.corp.example` доказывает, что DNS-сервер и маршрут доступны; неуспешный `getent hosts server01` после этого указывает именно на search suffix. Такой тест гораздо точнее, чем бесконечная замена nameserver в resolv.conf.
Почему VPN меняет список поиска
Точный тест выглядит так: сначала `getent hosts server01.corp.example`, затем `getent hosts server01`. Если FQDN разрешается, а короткое имя нет, не меняйте nameserver — проверяйте `search` в `resolv.conf` и фактические значения `dnsTunneling`/`networkingMode`. Это сильно сужает область поиска.
Когда не стоит править resolv.conf вручную
После изменения `.wslconfig` выполните `wsl --shutdown` и заново посмотрите `resolv.conf` до ручного редактирования. Если нужный suffix появляется автоматически, проблема решена на уровне источника. Если он исчезает только после VPN reconnect, фиксируйте этот переход как отдельный сценарий синхронизации Windows DNS policy.
Search suffix полезен только при корректном DNS пути
Строка `search` в `/etc/resolv.conf` помогает дополнять короткие имена доменными суффиксами, но сама не чинит недоступный DNS‑сервер. Если суффиксы появились, а внутреннее имя всё равно не открывается, отдельно проверяйте маршрутизацию/VPN и доступность корпоративного DNS, а не добавляйте ещё больше доменов вручную.
Что учитывать
Точный тест выглядит так: сначала `getent hosts server01.corp.example`, затем `getent hosts server01`. Если FQDN разрешается, а короткое имя нет, не меняйте nameserver — проверяйте `search` в `resolv.conf` и фактические значения `dnsTunneling`/`networkingMode`. Это сильно сужает область поиска.
Источники и проверка
Фактическая часть сверена по первичным источникам (в т.ч. Troubleshooting Windows Subsystem for Linux). Пример и формулировки — редакция N1RO на 2026-09-23.