Ubuntu 19.04 привязка не разрешается локально

Просто пробую новейшую Ubuntu 19.04, и она имеет некоторые отличия с resolv.conf при локальном запуске моего связывания. Ранее, в 18.04, resolv.conf выглядел следующим образом

nameserver 127.0.0.1
nameserver 127.0.0.53

, в то время как в 19.04 он изменился на этот

nameserver 127.0.0.53
options edns0

Если я использую dig или nslookup для проверки поиска DNS, это не использовать конфигурацию локального связывания и получить не найден.

Если я поставлю

dig www.example.com @127.0.0.1

против стандартного раскопа www.example.com

dig www.example.com @127.0.0.53 

, он будет работать и получит правильный ответ на поиск.

Я попытался добавить файл yaml netplan /etc/netplan/00-private-nameservers.yaml

network:
    version: 2
    ethernets:
        enp0s3:
            nameservers:
                addresses:
                - 127.0.0.1
                - 1.1.1.1
                - 1.0.0.1
                - 8.8.8.8
                - 4.4.4.4
                #search: [ nyc3.example.com ]

, но он не изменяет resolv.conf для локального поиска, как мне кажется.

Эта версия нова для меня, и я не уверен, что это ошибка или что? Я снова запускаю связывание локально и ожидаю, что оно разрешит поиск доменов локально.

[Я добавил это в отношении комментария ниже.]

root@server:/tmp# systemd-resolve --status
Global
       LLMNR setting: no
MulticastDNS setting: no
  DNSOverTLS setting: no
      DNSSEC setting: no
    DNSSEC supported: no
          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
                      corp
                      d.f.ip6.arpa
                      home
                      internal
                      intranet
                      lan
                      local
                      private
                      test

Link 2 (enp0s3)
      Current Scopes: DNS
DefaultRoute setting: yes
       LLMNR setting: yes
MulticastDNS setting: no
  DNSOverTLS setting: no
      DNSSEC setting: no
    DNSSEC supported: no
         DNS Servers: 127.0.0.1
                      1.1.1.1
                      1.0.0.1
                      8.8.8.8
                      4.4.4.4
                      192.168.2.1
                      2001:569:7552:3900:4a5f:38ee:fe29:130

Без частных серверов имен yaml показывает

Link 2 (enp0s3)
      Current Scopes: DNS
DefaultRoute setting: yes
       LLMNR setting: yes
MulticastDNS setting: no
  DNSOverTLS setting: no
      DNSSEC setting: no
    DNSSEC supported: no
         DNS Servers: 192.168.2.1
                      2001:569:7552:3900:4a5f:38ee:fe29:130
1
задан 3 May 2019 в 10:02

4 ответа

1111 Да, это также сводит меня с ума. И, честно говоря, у меня не было достаточно терпения, чтобы тщательно проанализировать это, поэтому я не буду отвечать на ваш вопрос прямым способом.

Но в основном есть еще одно-еще одно-сумасшедшее системное устройство, называемое системно-разрешенным , которое связывает 127.0.0.53:53 как tcp, так и udp. Вот почему вы видите nameserver 127.0.0.53 в вашем /etc/resolv.conf.

Более того /etc/resolv.conf оставлено для совместимости системным разрешением как символическая ссылка на /run/systemd/resolve/stub-resolv.conf.

И это та часть, которую я не до конца понимаю, но даже если я установлю свои DNS-серверы в /etc/systemd/resolved.conf, который выглядит как системный файл конфигурации, некоторые программы просто не используют его. Зачем? Пока не имею понятия.

1115 Как мне с этим жить? Я также установил свои DNS-серверы в NetworkManager. Затем с моими DNS-серверами, установленными внутри /etc/systemd/resolved.conf и в NetworkManager, я действительно настроил их.

Как насчет netplan.io? Я еще не понял. Но когда дело доходит до DNS-серверов, мне кажется, что сейчас они ничего не делают.

0
ответ дан 3 May 2019 в 10:02

Вы можете отредактировать /etc/systemd/resolved.conf

и установить DNS для локально работающего DNS-сервера bind aka через

[Resolve]
DNS=127.0.0.1

перезапустить с

systemctl restart systemd-resolved.service

и когда вы копаете (или ищите, как описано выше), вы действительно получаете (просто) www.example.com Запись с файлами зон локально обслуживаемого DNS, соответствующие IP-результату, но это не так отображать столько информации, сколько вы получаете, если добавляете @ 127.0.0.1 или в resolv.conf 127.0.0.1 опережает 127.0.0.53

Это частичный ответ, полученный из помощи в комментариях, и его следует сохранить и не удаляются, как и все другие ответы, которые я добавил, которые были удалены на том основании, что они не были объявлены, как этот, как действительный / полезный ответ или частичные ответы, но они, вероятно, были полезны для определенной ситуации. В моем случае я делаю DNSSEC и т. Д., И мне нужно увидеть более существенные результаты, такие как @ 127.0.0.1 или, по крайней мере, именно поэтому я не уточнил, насколько это правильно в некоторых случаях. Я, конечно, ожидал полного ответа, который вы получите, когда resolv.conf указывает непосредственно на DNS, работающий в системе на 127.0.0.1 и не прикованный через 127.0.0.53 к шлюзу маршрутизатора, предоставленному DHCP (обычно).

[Также обратите внимание, что скудных комментариев недостаточно, чтобы показать работу с блоками кода и результатами, поэтому важно не удалять обсуждение сообществ по совместному решению этих проблем. Пожалуйста, рассмотрите несколько пользовательских флагов для статуса удаления.]

0
ответ дан 3 May 2019 в 10:02

Хорошо, хорошо, спасибо. Я сопротивлялся очевидному, потому что это не было включено. Я почти уверен, что это ошибка, но ожидания разработчиков ОС и предполагаемое использование должны отличаться или изменяться. Я думаю, что они думают, что если вы запускаете DNS, то, на мой взгляд, он ничего не ищет. Мне показалось странным, что они убрали способ, которым он работал раньше, и не покрыли свои базы должным образом. (Опять же, я попытаюсь сообщить об ошибке, так как может показаться недосмотр или расхождение во взглядах, пытаясь быть скудным и т. Д. Я надеялся (и есть еще шанс), что кто-то нашел лучший способ (и прокомментирует здесь), а затем восстановит предыдущий функционал вручную, так что он на самом деле работает. Во всяком случае, пока они снова не войдут в Ubuntu 20.04 или что-то еще, что делают это.

apt install resolvconf

затем отредактируйте или добавьте в файл conf службы демона resolvconf для указания на локальный ip 127.0 .0.1

pico /etc/resolvconf/resolv.conf.d/head

примерно так, он будет выглядеть

nameserver 127.0.0.1

, затем перезапустите эту часть

service resolvconf restart

и вуаля раскоп www.example.com вернется и /etc/resolve.conf будет восстановлен в соответствующее состояние

nameserver 127.0.0.1
nameserver 127.0.0.53
options edns0

. Ну, параметры edns0 недавно добавлены в Ubuntu 19.04, где, как этого не было в 18.04, и, как вы знаете, это так, как мы добавляем пакет bind9, поэтому я полагаю, что вам также нужно добавить / восстановить этот пакет resolconf, если вы хотите, чтобы локальный компьютер мог разрешать записи DNS, которые он предоставляет. Возможно, они правильно подключены к глобальной системе, и вам это может и не понадобиться, так что, может быть, вам / нам нужна вера больше, чем resolconf, но нужно проверить, работает ли он локально, я думаю, и я хочу, чтобы он работал локально, не сообщая каждой команде, как сначала найдите локальный сервер и т. д.

0
ответ дан 3 May 2019 в 10:02
  1. Убедитесь, что следующие службы работают правильно: bind9, netplan и systemd-resolved
  2. Предоставьте службу рекурсии доверенным клиентам только в /etc/bind/ named.conf.options разрешить-рекурсию { localhost; }; (Также могут быть локальные сети) См. https://kb.isc.org/docs/aa-00269
  3. Удалите серверы имен из файла конфигурации сетевого плана
  4. Убедитесь, что содержимое /etc/resolv.conf правильно установлено на nameserver 127.0.0.53 (systemd-resolved)
  5. Отредактируйте файл /etc/systemd/resolved.conf и измените параметр DNS to DNS=127.0.0.1
  6. Проверьте вывод systemd-resolve --status

Вам не нужен пакет resolveconf или NetworkManager.
Возможные команды, чтобы убедиться, что все работает:

  1. host -tTXT askubuntu.com
  2. dig A askubuntu.com
  3. systemd-resolve query askubuntu.com
  4. nslookup askubuntu.com

Установка локального хоста в вашем Конфигурация netplan будет поканальной сетью.
0
ответ дан 5 August 2020 в 12:11

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

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