#Что происходит и когда это важно
IP-адрес корпоративного ресурса доступен, но его внутреннее имя не находится или находится неверно; при отключении VPN симптомы отличаются.
#Возможные причины и как их отличить
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| VPN не передал DNSТуннель поднялся, но настройки резолвера не обновлены. | resolvectl status не показывает DNS на VPN-интерфейсе. | Сверить профиль и политику сервера VPN. |
| Нет маршрутизируемого доменаDNS доступен, но резолвер выбирает обычный линк для корпоративного имени. | Нет домена вида ~corp.example в списке DNS Domains. | Согласовать split-DNS именно для внутренней зоны. |
| Отсутствует маршрут к DNS VPNРезолвер пытается опросить внутренний DNS, но IP недостижим. | ip route get к DNS показывает неверный путь. | Проверить VPN маршруты без изменения всего default route. |
#Пошаговая диагностика и исправление
- Уточните допустимый способ проверкиНа рабочем ноутбуке сверьте с администратором имя тестового корпоративного домена и DNS-сервера. Не отправляйте внутренние имена или IP в открытые журналы/форумы. Откройте терминал после подключения VPN.
- Посмотрите, какие DNS получил туннельВыполните
resolvectl status. Найдите VPN-интерфейс (часто tun0, wg0 и др.) и поля DNS Servers, DNS Domain. Маршрутизируемая зона начинается со знака~; отсутствие этой зоны может заставлять резолвер выбирать внешний DNS. - Сравните ответы на общедоступное и внутреннее имяВыполните
resolvectl query example.comдля общего теста, затемresolvectl query ВНУТРЕННЕЕ_ИМЯ, заменив пример проверенным доменом компании. Если внутреннее имя не разрешается, но прямой IP доступен, это указывает на отдельную DNS-проблему. - Определите владельца DNSВыполните
nmcli connection show --activeпри использовании NetworkManager, затем посмотрите настройки вашего VPN-профиля. Если конфигурацией управляет отдельный клиент WireGuard/OpenVPN или администратор предприятия, не меняйте параллельно NetworkManager. - Проверьте путь до назначенного DNSАдминистратор может предложить адрес внутреннего DNS. Выполните
ip route get АДРЕС_DNS, подставив только IP-адрес, подтверждённый администратором. Команда покажет интерфейс и выбранный маршрут без передачи пакетов. Если маршрут идёт мимо VPN, проблему нужно решать настройками туннеля, а не отключением брандмауэра. - Настройте split-DNS только для нужной зоныЕсли VPN-профиль управляется вами и корпоративная политика разрешает, в его настройках DNS укажите выданный администратором адрес и маршрутизируемый домен. Для подключения NetworkManager это проверяется через штатные свойства профиля; изменения могут разорвать VPN на время переподключения. Не отправляйте всё разрешение DNS внутрь VPN без необходимости и разрешения.
- Проверьте утечки при повторном подключенииПереподключите VPN и заново выполните
resolvectl status/queryдля разрешённого тестового имени. Убедитесь, что рабочее имя разрешается, а доступ к обычным сайтам не пропал. При неуспехе верните сохранённые параметры.
#Команды из инструкции с пояснениями
resolvectl statusresolvectl query example.comnmcli connection show --active#Как проверить результат
Разрешённое внутреннее имя разрешается через DNS туннеля, общедоступные имена сохраняют предусмотренный маршрут и после переподключения всё повторяется.
#Если проблема не устранена
Если клиент VPN не отдаёт DNS-параметры, обратитесь к его администратору с типом клиента и показаниями resolvectl (без внутренних секретных имён). Не меняйте глобальный resolv.conf вслепую.