Ubuntu 18.04 .local доменный поиск DNS, не работающий

Я использую Raspberry Pi 3 с Ubuntu 18.04. В моей компании у нас есть сервер DNS и несколько доменов с ".local". Я знаю технически, что это не корректно, и это должен быть ".lan" вместо этого, потому что .local резервируется для многоадресной передачи DNS. Но это - способ, которым это, и это не может легко быть изменено. Таким образом на моей машине окон я могу проверить с помощью ping-запросов и просмотреть к тем доменным именам без проблемы. На моей Ubuntu однако я не могу.

Я не могу использовать дюйм/с, потому что некоторые домены находятся на той же машине, и веб-сервер IIS улаживает вещи, что идет где.

Я искал, и это подходит довольно часто:

Однако изменение/etc/nsswitch.conf не добивается цели для меня. Я попробовал

  • хосты: значение по умолчанию файлов mdns4_minimal [NOTFOUND=return] dns myhostname #
  • хосты: файлы DNS
  • хосты: файлы mdns4_minimal [NOTFOUND=continue] dns myhostname
  • хосты: файлы mdns4 [NOTFOUND=return] dns myhostname
  • хосты: файлы mdns4 [NOTFOUND=continue] dns myhostname
  • хосты: файлы dns mdsn4_minimal myhostname
  • хосты: DNS
  • немногие другие

Ни один из которого работавший. Я пытался перезагрузить после изменения также. Я пытался сказать avahi, что domain-name=alocal в/etc/avahi/avahi-daemon.conf, не работал после сервисного перезапуска, не работал после перезагрузки. После этого не работа я пытался отключить сервис avahi-демона полностью.

sudo systemctl disable avahi-daemon

После перезагрузки я попробовал несколько перестановок в/etc/nsswitch.conf снова без эффекта.

с моими текущими настройками в хостах (файлы DNS) я получаю этот ответ:

dig login.name.local # not the actual name

; <<>> Dig 9.11.3-1ubuntu1.1-Ubuntu <<>> login.name.local
;; global options: +cmd
;; Got answer:
;; WARNING .local is reserved for Multicast DNS
;; You are currently testing what happens when an mDNS query is leaked to DNS
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 33538
;; flags: qr rd ra; QUERY: 1, ANSWER:0, AUTHORITY: 0, ADDITIONAL: 1

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

;; Query time: 2msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Thu Aug 23 10:51:50 CEST 2018
;; MSG SIZE  rcvd: 56

Однако, когда я сообщаю, роют для запросов сервера непосредственно, я получаю корректный ответ:

dig @dnsIP login.name.local
; <<>> Dig 9.11.3-1ubuntu1.1-Ubuntu <<>> login.name.local
; (1 server found)
;; global options: +cmd
;; Got answer:
;; WARNING .local is reserved for Multicast DNS
;; You are currently testing what happens when an mDNS query is leaked to DNS
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 57866
;; flags: qr aa rd ra; QUERY: 1, ANSWER:1, AUTHORITY: 0, ADDITIONAL: 1

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

;; ANSWER SECTION:
login.name.local. 3600 IN    A        serverIP

;; Query time: 2msec
;; SERVER: dnsIP#53(dnsIP)
;; WHEN: Thu Aug 23 10:51:50 CEST 2018
;; MSG SIZE  rcvd: 56

Эта версия Ubuntu использует netplan с администратором сети. Корректный IP DNS находится определенно в списке. (на самом деле это - основной DNS.) Также dnsIp совпадает с serverIP, но это не должно быть проблемой.

Ping или соединяющийся через браузер и такой не работает, конечно. Ни один не использует запрос DNS.

Я в замешательстве в том, что сделать. Конечно, мы не можем переключиться на другое доменное имя. Я поместил имя сервера в/etc/hosts, но это - просто временное решение.

14
задан 23 August 2018 в 06:41

8 ответов

Я столкнулся с очень похожей проблемой (если не точно то же) на Linux Mint 19 (Tara). Мне удалось решить его путем объединения 3 различных сведений. Это кажется всем быть связанным с недавними изменениями с systemd-разрешенным.

Во-первых, да я должен был настроить/etc/nsswitch.conf, как Вы сделали и будете ожидать. Пока DNS появляется, прежде mdns необходимо быть хорошими. Я закончил просто:

hosts:          files dns myhostname

касательно: https://unix.stackexchange.com/a/457172/271210

До обновления до этой версии Монетного двора это - единственная вещь, которую я должен был сделать. Теперь я также закончил тем, что делал ниже двух других изменений для получения его работа...


После этого я настроил свою область поиска так systemd-разрешенную, работал бы, как я хотел. Таким образом, я отредактировал файл/etc/systemd/resolved.conf, установку Domains под [твердость] раздел. В моем случае это закончило тем, что было похоже:

[Resolve]
#DNS=
#FallbackDNS=
Domains=trilliant.local
#LLMNR=no
#MulticastDNS=no
#DNSSEC=no
#Cache=yes
#DNSStubListener=yes

касательно: https://askubuntu.com/a/1031271/872881

Я также изменил avahi конфигурацию на что-то еще ("mdns", если я помню правильно, но она не имеет значения). Это не должно требоваться однако от моего понимания. Просто добавление для полноты.


Но ни один из него не работал, пока я не назвал следующее:

sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf

касательно: https://askubuntu.com/a/938703/872881

После вызова этого все начало работать отлично и как ожидалось!

Таким образом, возможно, что я не должен был действительно изменять/etc/systemd/resolved.conf файл, но я сохранил это изменение, так как это имело смысл и позволяет мне только вводить имя машины, без полного FQDN, для разрешения DNS для работы.

11
ответ дан 23 November 2019 в 02:55

Принятый ответ не решал мой вопрос. Это не имело отношения к avahi - у меня не было avahi сервиса установленным. Мне установили мою систему для получения ее IP И ее настроек сервера DNS от DHCP. Однако dhcp, предоставленный, DNS не проверялся на запросы с помощью .local

, который реальная проблема - то, что Ubuntu 18.4 sym-связали ее resolv.conf с тупиковым файлом, который указывает на localhost для определения имен. Определение имен DNS Localhost означает, что система отказывается проверять предоставленный сервер DNS на имена .local, полагая (неправильно), что такие имена недопустимы. Это - установка по умолчанию/etc/resolv.conf:

ls -la /etc/resolv.conf
lrwxrwxrwx 1 root root 39 Jan 22 13:26 /etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf

содержание тупикового файла (удаленные комментарии):

 cat /run/systemd/resolve/stub-resolv.conf
 .. removed comments..  
nameserver 127.0.0.53
    search reddog.microsoft.com

'реальная' твердость conf имеет 'корректную' установку DNS (от dhcp):

cat /run/systemd/resolve/resolv.conf

..removed comments..
nameserver 10.168.200.250 # This is my server that can resolve .local
nameserver 208.67.220.220 # these are optional, fallback dns servers
nameserver 208.67.222.222
# Too many DNS servers configured, the following entries may be ignored.
nameserver 8.8.8.8
search reddog.microsoft.com

, Чтобы заставить систему использовать Ваш предпочтительный сопоставитель DNS вместо localhost, Вы изменяете символьную ссылку для указания на/run/systemd/resolve/resolv.conf вместо/run/systemd/resolve/stub-resolv.conf:

sudo rm -f /etc/resolv.conf
sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf

Сразу после этого разрешение .local начало работать. никакая потребность перезагрузить или перезапустить любой сервис.

13
ответ дан 23 November 2019 в 02:55

Поскольку меня прокладывающий себе путь для Ubuntu 18.04:

Редактирование avahi conf:

sudo vim /etc/avahi/avahi-daemon.conf

и изменение .local к .alocal:

[server]
domain-name=.alocal

затем, откройте resolved.conf:

sudo vim /etc/systemd/resolved.conf

и некомментарий и Домены редактирования:

[Resolve]
...
Domains=yourdomain.local
...

и наконец перезапускают сервисы:

sudo service systemd-resolved restart
sudo service avahi-daemon restart
2
ответ дан 23 November 2019 в 02:55

Что работало на меня, добавлял локальный DNS как сервер имен к /etc/resolvconf/resolv.conf.d/head (как описано здесь ).

  1. Установка resolvconf пакет.

    sudo apt install resolvconf
    
  2. Редактирование /etc/resolvconf/resolv.conf.d/head и добавляют следующее:

    nameserver 8.8.4.4  
    nameserver 8.8.8.8  
    
  3. Перезапуск resolvconf сервис.

    sudo service resolvconf restart
    

фиксация должна быть постоянной.

2
ответ дан 23 November 2019 в 02:55

Моя ситуация была аналогичной, но несколько отличалась: Мы используем имена серверов как myserver в Windows, но это не работало над Ubuntu 16.04, и я должен был использовать myserver.mycompany.local. После обновления до 18,04, я получил следующее поведение:

$ ping myserver.mycompany.local
ping: myserver.mycompany.local: Name or service not known

$ ping myserver
PING myserver.mycompany.local (192.168.x.y) 56(84) bytes of data.
64 bytes from myserver.mycompany.local (192.168.x.y): icmp_seq=1 ttl=62 time=3.05 ms
...

я просто должен был заменить myserver.mycompany.local myserver в моих приложениях.

0
ответ дан 23 November 2019 в 02:55

Это сработало для меня на нескольких системах Ubuntu:

https://github.com/lathiat/nss-mdns#etcmdnsallow

По существу поместите две строки в /etc/mdns.allow:

.local.
.local

И вам может потребоваться изменить /etc/nsswitch.conf, чтобы использовать модуль mdns4 вместо mdns4_minimal. Примечательно, что это необходимо на Ubuntu Server box, но не на моем рабочем столе Kubuntu.

0
ответ дан 26 April 2020 в 20:03

Для 20.04:

  1. Я обновляю DNS для использования локального DNS-сервера (конфигурация gnome 'wired settings')
  2. Я добавляю локальный домен в: /etc/systemd/resolved.conf & Domains=domain.local
  3. Затем перезапустил службу: service systemd-resolved restart

Спасибо за этот тред, который помог мне заставить это работать.

2
ответ дан 2 July 2020 в 18:40

На Ubuntu Server 18.04/20.04 нам не удалось разрешить имена хостов в нашем домене corpname.local, несмотря на другое разрешение имен, происходящее через наш DNS-сервер AD. Что исправило это для меня, так это отредактировать /etc/systemd/resolved.conf и добавить:

DNS=x.x.x.x
Domains=corpname.local

где x.x.x.x — это IP-адрес нашего DNS-сервера AD. Затем запустите service systemd-resolved restart.

Это мне кажется чище, чем различные решения, опубликованные выше, которые включают добавление символических ссылок для изменения того, какой resolve.conf использует система и т. д.

1
ответ дан 18 November 2020 в 11:17

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

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