Ubuntu 18.04 Server - как проверить настройки DNS-сервера DNS - PullRequest
0 голосов
/ 11 мая 2018

Работа с Ubuntu 18.04 Server LTS.Я пытаюсь найти способ проверить IP-адреса DNS, которые фактически используются при настройке через DHCP.Только resolv.conf будет указывать на 127.0.0.53.Папка / etc / systemd / network пуста.Выход NSLOOKUP также всегда ссылается на внутренний IP 127.0.0.53.Кажется, все старые трюки не работают.

Документация по Ubuntu еще не обновлена, так как она все еще выглядит как справка для 16.04, ссылающаяся на eth0, ifup и ifdown, которые все устарели 18: https://help.ubuntu.com/lts/serverguide/network-configuration.html

Я пытался установитьнастройка статического адаптера с Netplan через пользовательский .yaml.Настройки работают нормально, но я не могу найти DNS-IP, который я установил где-либо.Я ожидаю, что это будет согласовано между DHCP и статическими настройками, но я не уверен, где искать сейчас.

Я бы согласился либо на вызов библиотеки C, либо на метод CLI bash на этом этапе.У кого-нибудь есть способ проверить это на сервере 18.04?

Ответы [ 3 ]

0 голосов
/ 14 мая 2018

Я обнаружил, что следующее показывает мои DNS-серверы по адаптеру в конце вывода:

systemd-resolve --status

Содержит список в разделе «DNS-серверы», организованный Link.Я думаю, что это изменилось по сравнению с предыдущими версиями с Ubuntu.Это займет немного работы по анализу текста, но это даст мне то, что я ищу.

0 голосов
/ 27 июня 2018

Другой способ:

cat /run/systemd/resolve/resolv.conf

Этот файл динамически генерируется системным разрешением, но вместо 127.0.0.53 содержит фактические DNS-серверы.

На самом деле, если вы хотитесделайте это по умолчанию для /etc/resolv.conf, вы просто создадите для него символическую ссылку.(/etc/resolv.conf является символической ссылкой, которая по умолчанию указывает на /run/systemd/resolve/stub-resolv.conf):

sudo mv /etc/resolv.conf /etc/resolv.conf.orig
sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf

Образец /run/systemd/resolve/resolv.conf:

# This file is managed by man:systemd-resolved(8). Do not edit.
#
# This is a dynamic resolv.conf file for connecting local clients directly to
# all known uplink DNS servers. This file lists all configured search domains.
#
# Third party programs must not access this file directly, but only through the
# symlink at /etc/resolv.conf. To manage man:resolv.conf(5) in a different way,
# replace this symlink by a static file or a different symlink.
#
# See man:systemd-resolved.service(8) for details about the supported modes of
# operation for /etc/resolv.conf.

nameserver 10.1.2.3
search host.domain.com

Для получения дополнительной информации:

http://manpages.ubuntu.com/manpages/bionic/man8/systemd-resolved.service.8.html

0 голосов
/ 11 мая 2018

Я тоже удивлен этим. Я использую Ubuntu 16.04 LTS и вижу нечто подобное.

Если вы выдаете

dig www.google.ca +trace | grep 'Received'

Первый хост в ответе выполняет поиск вашего сервера.

$ dig www.google.ca +trace | grep 'Received'
;; Received 525 bytes from 127.0.1.1#53(127.0.1.1) in 19 ms
;; Received 42 bytes from 199.7.91.13#53(d.root-servers.net) in 32 ms

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

Обнаружена проблема в том, что dnsmasq включен. Чтобы отключить его, сделайте следующее.

редактировать файл NetworkManager.conf

sudo gedit /etc/NetworkManager/NetworkManager.conf

закомментируйте строку dnsmasq

#dns=dnsmasq

перезапустить службу сетевого администратора

sudo /etc/init.d/network-manager restart

затем убедитесь, что он использует dns-сервер, назначенный через dhcp

$ dig www.google.ca +trace | grep 'Received'
;; Received 525 bytes from 192.168.30.1#53(192.168.30.1) in 18 ms
;; Received 42 bytes from 198.41.0.4#53(a.root-servers.net) in 32 ms
...