Система доменных имен (DNS) является центральной частью сетевой инфраструктуры, предоставляя способ преобразования доменных имен в IP-адреса. Вы можете думать о DNS как о телефонной книге Интернета.

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

После разрешения домена система кэширует запрос и сохраняет запись для домена и соответствующего IP-адреса.

Серверы имен DNS (преобразователи) — это серверы, которые используются другими устройствами для выполнения поиска DNS для запрошенного домена.

Обычно резолверы DNS назначаются вашим интернет-провайдером. Однако эти сопоставители могут работать медленно или не обновляться регулярно, что может привести к задержке при запросе домена, разрешению на неправильный IP-адрес, а иногда вы вообще не сможете разрешить нужный домен.

Существует множество бесплатных общедоступных распознавателей DNS, которые являются быстрыми, частными и регулярно обновляются.
Ниже приведены некоторые из самых популярных публичных преобразователей DNS:

  • Google (8.8.8.8, 8.8.4.4)
  • Cloudflare (1.1.1.1 и 1.0.0.1)
  • OpenDNS (208.67.222.222, 208.67.220.220)
  • Level3 (209.244.0.3, 209.244.0.4)

В этом руководстве вы узнаете, как настроить серверы имен DNS (преобразователи) в Ubuntu 18.04.

Раньше всякий раз, когда вы хотели настроить преобразователи DNS в Linux, вы просто открывали /etc/resolv.confфайл, редактировали записи, сохраняли файл, и все готово. Этот файл все еще существует, но это символическая ссылка , управляемая службой systemd-resolved, и ее нельзя редактировать вручную.

systemd-resolved — это служба, которая обеспечивает разрешение имен DNS для локальных служб и приложений, и ее можно настроить с помощью Netplan , инструмента управления сетью по умолчанию в Ubuntu 18.04.

Файлы конфигурации Netplan хранятся в /etc/netplanкаталоге. Вы, вероятно, найдете один или два файла YAML в этом каталоге. Имя файла может отличаться от установки к настройке. Обычно файл называется либо, 01-netcfg.yamlлибо 50-cloud-init.yaml, но в вашей системе оно может быть другим.

Эти файлы позволяют настраивать сетевой интерфейс, включая IP-адрес, шлюз, DNS-серверы имен и так далее.

Чтобы настроить серверы имен DNS, откройте файл конфигурации интерфейса в текстовом редакторе:

sudo nano /etc/netplan/01-netcfg.yaml

Содержимое файла будет выглядеть примерно так:

/etc/netplan/01-netcfg.yaml

network:
  version: 2
  renderer: networkd
  ethernets:
    ens3:
      dhcp4: no
      addresses:
        - 192.168.121.199/24
      gateway4: 192.168.121.1
      nameservers:
          addresses: [8.8.8.8, 8.8.4.4]

Чтобы настроить DNS-серверы имен интерфейса, измените текущие IP-адреса на предпочтительные DNS-серверы. Например, если вы хотите использовать DNS-серверы Cloudflare, вы должны изменить addressesстроку на:

      nameservers:
          addresses: [1.1.1.1, 1.0.0.1]

DNS-серверы должны быть разделены запятыми. Вы также можете добавить более двух серверов имен.

Если запись не существует, добавьте ее в блок имени интерфейса. При редактировании файлов Yaml убедитесь, что вы следуете стандартам отступов кода YAML . Если в конфигурации есть синтаксическая ошибка, Netplan не сможет проанализировать файл.

После этого сохраните файл и примените изменения с помощью:

sudo netplan apply

Netplan сгенерирует файлы конфигурации для службы с разрешением systemd.

Чтобы убедиться, что новые преобразователи DNS установлены, выполните следующую команду:

systemd-resolve --status | grep 'DNS Servers' -A2

systemd-resolve -statusпечатает много информации. Мы используем grep для фильтрации строки «DNS-серверы». Вывод будет выглядеть примерно так:

         DNS Servers: 1.1.1.1
                      1.0.0.1

Netplan — это инструмент управления сетью по умолчанию в Ubuntu 18.04, заменяющий файлы /etc/resolv.confи /etc/network/interfacesфайлы конфигурации, которые использовались для настройки сети в предыдущих версиях Ubuntu.