Моя компания распространяет программное обеспечение среди клиентов на виртуальных машинах Ubuntu. Недавно мы обновили все клиентские ВМ с Ubuntu 16/18 до Ubuntu 20.04.
У нас возникла проблема, из-за которой разрешение имен DNS не работает во внутренней сети. Он работает вне сети (мы можем пинговать внешние веб-сайты), но мы не можем подключаться к машинам во внутренней сети по DNS-имени — только по IP-адресу. Во многих случаях нам удавалось разрешить внутренние DNS-имена на старых виртуальных машинах (Ubuntu 16/18), но это не работает, когда мы устанавливаем новую виртуальную машину с теми же сетевыми настройками.
Обычно мы настраиваем виртуальную машину со статическим IP-адресом. ИТ-отдел клиента предоставляет нам информацию о своей сети и внутренних DNS-серверах, и мы настраиваем наши 00-установщик-config.yaml
файл соответственно
/etc/netplan/00-installer-config.yaml
пример установки:
сеть:
Ethernet:
enp0s10f0:
адреса: [192.168.10.200/24]
шлюз4: 192.168.10.1
серверы имен:
адреса: [192.168.10.1, xxx.xxx.xxx.xxx и т.д.]
версия: 2
На старых виртуальных машинах мы часто не могли пропинговать внутренние машины по DNS-имени, пока не добавили локальное доменное имя. Например. пинг fs01
не сработает, но ping fs01.clientdomain.local
должно сработать. Однако на виртуальных машинах Ubuntu это, похоже, совсем не помогает. Нам всегда приходится возвращаться к IP-адресу файлового сервера, а не использовать доменное имя. В большинстве случаев это нормально, поскольку IP-адрес статичен и не подлежит изменению, но это не всегда так, и мы бы предпочли возможность подключения через DNS-имя.
Сеть и домены действительно не моя сильная сторона. Если бы кто-нибудь мог предложить что-то, что можно попробовать, или области для исследований, это было бы очень признательно!
ОБНОВИТЬ
Я попробовал добавить IP-адрес внутреннего сервера имен в нслукап
команду и сделал несколько скриншотов. Похоже, что виртуальная машина может найти хост с нслукап
, но только когда я явно включаю IP-адрес сервера имен.
192.168.1.4 — это сервер имен, а также хост, к которому мы пытаемся подключиться.
Примечание: Это работало на старой виртуальной машине Ubuntu 18.04, используя тот же внутренний сервер имен и полное доменное имя хоста.
Обычный пинг
user@ubuntu:~$ ping <hostname.domain.local>
ping: <hostname.domain.local>: временный сбой в разрешении имени
Простой нслукап
user@ubuntu:~$ nslookup <hostname.domain.local>
Сервер: 127.0.0.53
Адрес: 127.0.0.53
** сервер не может найти <hostname.domain.local>: SERVFAIL
nslookup с IP-адресом сервера имен
user@ubuntu:~$ nslookup <hostname.domain.local> 192.168.1.4
Сервер: 192.168.1.4
Адрес: 192.168.1.4
Имя: <hostname.domain.local>
Адрес: 192.168.1.85
Имя: <hostname.domain.local>
Адрес: 192.168.1.4
В этом случае сервер имен 192.168.1.4 был единственной записью сервера имен в нашем файле yaml. Поэтому я не понимаю, как это может быть проблемой с порядком серверов имен в файле:
сеть:
Ethernet:
enp0s10f0:
адреса: [192.168.1.21/24]
шлюз4: <шлюз>
серверы имен:
поиск: [<domain.local>]
адреса: [192.168.1.4]
версия: 2