Как я могу использовать пользовательский сервер DNS?

У меня есть работа сервера DNS 172.18.0.2 и я хочу использовать его в качестве своего сервера DNS. Я вошел в администратора сети и настроил мое соединение:

enter image description here

Работы сервера:

$ host test 172.18.0.2
Using domain server:
Name: 172.18.0.2
Address: 172.18.0.2#53
Aliases: 

test has address 93.184.216.34

но Ubuntu не использует его:

$ host test
Host test not found: 2(SERVFAIL)

Как я могу получить ожидаемое поведение?

Версия 19.04 Ubuntu.

systemd-resolve --status вывод:

Link 2 (enp0s31f6)
      Current Scopes: DNS
DefaultRoute setting: yes
       LLMNR setting: yes
MulticastDNS setting: no
  DNSOverTLS setting: no
      DNSSEC setting: no
    DNSSEC supported: no
  Current DNS Server: 172.18.0.2
         DNS Servers: 172.18.0.2
          DNS Domain: ~.

dig host вывод:

; <<>> DiG 9.11.5-P1-1ubuntu2.6-Ubuntu <<>> host
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 39546
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;host.              IN  A

;; Query time: 0 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: dim. déc. 15 21:08:57 CET 2019
;; MSG SIZE  rcvd: 33
0
задан 15 December 2019 в 23:09

1 ответ

Самый верный способ заставить все сотрудничать с Вашим пользовательским DNS будет состоять в том, чтобы использовать Ваш собственный TLD, такой как .local или подобный, и создание что область поиска в Вашем/etc/resolv.conf. Тот путь при поиске 'хоста', он будет автоматически знать для поиска .local домена. DNS был разработан на основе доменов.

, Если бы Вы действительно не хотите использовать TLD, возможно, запись в /etc/hosts удовлетворила бы Вашему варианту использования. Это отобразило бы 'хост' непосредственно ресурса, который Вы предназначаете.

Вот один метод для того, чтобы вручную указать серверы имен, если Вы в настоящее время получаете получение забавного бизнеса из-за systemd тупикового сопоставителя (похоже, что это могло иметь место на вырыть вывод Вы, если, и у меня были проблемы в прошлом с ним. Создайте резервную копию всех конфигураций прежде, чем внести любые изменения и знать, что это принимает неизмененный/etc/nsswitch.conf):

ниже команды укажет, является ли Ваш/etc/resolv.conf символьной ссылкой:

kano@:~$ file -s /etc/resolv.conf 
/etc/resolv.conf: symbolic link to ../run/systemd/resolve/stub-resolv.conf

Для тестирования этого метода создайте резервную копию исходной resolv.conf символьной ссылки в конечном счете, необходимо откатывать (для откатывания, просто переименуйте резервное копирование/etc/resolv.conf, Вы не должны должны быть перезагружать для любого из этого для вступления в силу). Изменение существующей символьной ссылки не будет работать:

kano@:~$ mv /etc/resolv.conf /etc/resolv.conf.bak

Наконец, укажите желаемый сервер имен и поисковые значения в Вашем новом, пользовательском/etc/resolv.conf использование текстового редактора по Вашему выбору (мой экземпляр AWS/etc/resolv.conf содержание ниже, необходимо будет адаптировать это в соответствии со средой).

    kano@:~$ cat /etc/resolv.conf
    nameserver 172.31.0.2  
    search us-west-2.compute.internal

, Если это сортирует проблему определения имен (и можно проверить через dig host, что она запрашивает указанный сервер имен вместо тупикового сопоставителя 127.0.0.53), я рассмотрел бы добавление неизменного атрибута (можно проверить атрибуты с lsattr filename) к/etc/resolv.conf, чтобы препятствовать тому, чтобы upgrades/systemd перезаписал его через:

chattr +i /etc/resolv.conf

необходимо будет удалить неизменный атрибут через болтовню-i для изменения этого файла в будущем.

0
ответ дан 21 December 2019 в 23:32

Другие вопросы по тегам:

Похожие вопросы: