Я работаю с «виртуальным частным сервером» в облаке, на котором установлена Ubuntu 20.04.
Я заметил, что иногда, когда я перезагружаю сервер, я ничего не могу пропинговать:
$ пинг yahoo.com
ping: yahoo.com: временная ошибка в разрешении имен
$ разрешение запроса yahoo.com
yahoo.com: ошибка разрешения вызова: не найдены подходящие серверы имен или сети для имени
Насколько я понимаю, так как это Ubuntu 20.04, /etc/resolv.conf
фактически больше не используется, и системад
обгоняет обработку DNS.
Но, в любом случае, я бы не хотел вручную указывать DNS-серверы (поскольку старый трюк с размещением гугловской 8.8.8.8 в /etc/resolv.conf
) - видимо, большую часть времени при работе DNS: сервер при загрузке каким-то образом "добывает" DNS-сервер. Итак, я хотел бы повторить этот процесс, но я понятия не имею, как это сделать.
(По аналогии, если бы я хотел обновить/получить новый IP-адрес для машины, я знаю, что машина должна запросить его у DHCP-сервера, так что, в конце концов, это легко найти, и для этого я стоит сделать sudo dhclient -r eth0
например)
Также обратите внимание, что когда разрешение имен DNS не работает, у меня нет DNS-серверы
перечисленные в этом выводе:
$ systemd-разрешение --статус
Глобальный
Настройка LLMNR: нет
Настройка MulticastDNS: нет
Настройка DNSOverTLS: нет
Настройка DNSSEC: нет
Поддерживается DNSSEC: нет
DNSSEC NTA: 10.in-addr.arpa
16.172.in-addr.arpa
168.192.in-addr.arpa
17.172.in-addr.arpa
18.172.in-addr.arpa
19.172.in-addr.arpa
20.172.in-addr.arpa
21.172.in-addr.arpa
22.172.in-addr.arpa
23.172.in-addr.arpa
24.172.in-addr.arpa
25.172.in-addr.arpa
26.172.in-addr.arpa
27.172.in-addr.arpa
28.172.in-addr.arpa
29.172.in-addr.arpa
30.172.in-addr.arpa
31.172.in-addr.arpa
корпорация
д.ф.ip6.arpa
дом
внутренний
интранет
лан
местный
частный
тестовое задание
Ссылка 2 (eth0)
Текущие области применения: нет
Настройка DefaultRoute: нет
Настройка LLMNR: да
Настройка MulticastDNS: нет
Настройка DNSOverTLS: нет
Настройка DNSSEC: нет
Поддерживается DNSSEC: нет
Я видел, что для очистки кеша DNS они (https://unihost.com/help/how-to-clear-the-dns-cache/) рекомендовать:
sudo /etc/init.d/сетевой перезапуск
... однако я бы не стал запускать эту команду, так как я подключен к серверу через ssh
, поэтому я предполагаю, что перезапуск всей сети также убьет мой ssh
терминальный сеанс и, возможно, иметь другие непредвиденные последствия.
Итак, мне интересно: есть ли команда, которую я мог бы запустить в ssh
сеанс, который будет обновлять или получать новые DNS-серверы для этой машины — с использованием аналогичного механизма, который используется при загрузке, когда DNS действительно работает на этой машине?