Обновления Ubuntu 20.04 — разрешение имен DNS не удается во внутренней сети

Обновления Ubuntu 20.04 — разрешение имен DNS не удается во внутренней сети

Моя компания распространяет программное обеспечение клиентам на Ubuntu VMs. Недавно мы обновили все клиентские VM с Ubuntu 16/18 до Ubuntu 20.04.

У нас возникла проблема, когда разрешение имен DNS не работает во внутренней сети. Оно работает вне сети (мы можем пинговать внешние веб-сайты), но мы не можем подключиться к машинам во внутренней сети по имени DNS — только по IP-адресу. Во многих случаях нам удавалось разрешить внутренние имена DNS на старых виртуальных машинах (Ubuntu 16/18), но оно не работает, когда мы устанавливаем новую виртуальную машину с теми же сетевыми настройками.

Обычно мы настраиваем VM со статическим IP. IT-отдел клиента дает нам информацию о своей сети и внутренних DNS-серверах, и мы настраиваем наш 00-installer-config.yamlфайл соответствующим образом

/etc/netplan/00-installer-config.yamlпример настройки:

network:
  ethernets:
    enp0s10f0:
      addresses: [192.168.10.200/24]
      gateway4: 192.168.10.1
      nameservers:
        addresses: [192.168.10.1, xxx.xxx.xxx.xxx, etc.]
  version: 2

На старых виртуальных машинах мы часто не могли пинговать внутренние машины по имени DNS, пока не добавляли локальное доменное имя. Например, ping fs01не сработает, но ping fs01.clientdomain.localсработает. Однако на виртуальных машинах Ubuntu это, похоже, вообще не помогает. Нам всегда приходится возвращаться к IP-адресу файлового сервера, а не использовать доменное имя. В большинстве случаев это нормально, поскольку IP-адрес статичен и не подлежит изменению, но это не всегда так, и мы бы предпочли иметь возможность подключаться через имя DNS.

Сетевое взаимодействие и домены — это не мои сильные стороны. Если кто-то может предложить что-то попробовать или области для исследования, это было бы очень ценно!

ОБНОВЛЯТЬ

Я попробовал добавить IP-адрес внутреннего сервера имен в nslookupкоманду и сделал несколько снимков экрана. Похоже, что виртуальная машина может найти хост с помощью nslookup, но только когда я явно включаю IP-адрес сервера имен.

192.168.1.4 — это сервер имен, а также хост, к которому мы пытаемся подключиться.

Примечание:Это работало на старой виртуальной машине Ubuntu 18.04, используя тот же внутренний сервер имен и полное доменное имя хоста.

Регулярный пинг

user@ubuntu:~$ ping <hostname.domain.local>
    ping: <hostname.domain.local>: Temporary failure in name resolution

Простой nslookup

user@ubuntu:~$ nslookup <hostname.domain.local>
    Server:     127.0.0.53
    Address:    127.0.0.53#53

    ** server can't find <hostname.domain.local>: SERVFAIL

nslookup с IP-адресом сервера имен

user@ubuntu:~$ nslookup <hostname.domain.local> 192.168.1.4 
    Server:     192.168.1.4## Heading ##
    Address:    192.168.1.4#53

    Name:       <hostname.domain.local>
    Address:    192.168.1.85
    Name:       <hostname.domain.local>
    Address:    192.168.1.4

В этом случае сервер имен 192.168.1.4 был единственной записью сервера имен в нашем файле yaml. Поэтому я не вижу, как это может быть какой-то проблемой с порядком серверов имен в файле:

network:
  ethernets:
    enp0s10f0:
      addresses: [192.168.1.21/24]
      gateway4: <gateway>
      nameservers:
        search: [<domain.local>]
        addresses: [192.168.1.4]
  version: 2

Связанный контент