Ich benutze einen Raspberry Pi 3 mit Ubuntu 18.04. In meiner Firma haben wir einen DNS-Server und einige Domains mit ".local". Ich weiß, dass dies technisch nicht korrekt ist und stattdessen ".lan" lauten sollte, da .local für Multicast-DNS reserviert ist. Aber so ist es und es kann nicht einfach geändert werden. Auf meinem Windows-Rechner kann ich also problemlos pingen und nach diesen Domain-Namen suchen. Auf meinem Ubuntu kann ich das allerdings nicht.
Ich kann keine IPs verwenden, da sich einige Domänen auf demselben Computer befinden und der IIS-Webserver die Dinge aussortiert, die wohin führen.
Ich habe gesucht und es kommt ziemlich oft vor:
- https://smallbusiness.chron.com/resolving-local-ubuntu-38861.html
- Warum löst keiner meiner lokalen Server auf?
- Ubuntu-Server löst LAN-Hostnamen nicht auf
Das Ändern von /etc/nsswitch.conf reicht für mich jedoch nicht aus. Ich habe es versucht
- hosts: files mdns4_minimal [NOTFOUND = return] dns meinhostname # default
- Hosts: Dateien DNS
- hosts: files mdns4_minimal [NOTFOUND = continue] dns meinhostname
- hosts: files mdns4 [NOTFOUND = return] dns meinhostname
- hosts: files mdns4 [NOTFOUND = continue] dns meinhostname
- hosts: files dns mdsn4_minimal meinhostname
- Hosts: DNS
- ein paar andere
Nichts davon hat funktioniert. Ich habe versucht, nach einer Änderung neu zu starten. Ich habe versucht, avahi mitzuteilen, dass der Domänenname = alocal in /etc/avahi/avahi-daemon.conf nach dem Neustart des Dienstes nicht funktioniert hat und nach dem Neustart nicht funktioniert hat. Nachdem dies nicht funktioniert hat, habe ich versucht, den Avahi-Daemon-Dienst vollständig zu deaktivieren.
sudo systemctl disable avahi-daemon
Nach einem Neustart habe ich einige Permutationen in /etc/nsswitch.conf erneut versucht, ohne dass dies Auswirkungen hatte.
Mit meinen aktuellen Einstellungen in Hosts (Dateien DNS) erhalte ich diese Antwort:
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
Wenn ich dig jedoch anweise, den Server direkt abzufragen, erhalte ich die richtige Antwort:
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
Diese Version von Ubuntu verwendet netplan mit dem Netzwerkmanager. Die richtige DNS-IP ist definitiv in der Liste. (Tatsächlich ist es der primäre DNS.) Auch der DNS-Ip ist derselbe wie der Server-IP, aber das sollte kein Problem sein.
Pingen oder Verbinden über einen Browser und dergleichen funktionieren natürlich nicht. Keiner verwendet die DNS-Abfrage.
Ich weiß nicht, was ich tun soll. Natürlich können wir nicht zu einem anderen Domainnamen wechseln. Ich habe den Servernamen in / etc / hosts eingetragen, aber das ist nur eine vorübergehende Lösung.