Mein DNS-Server ist 192.168.1.152
.
Dieser DNS wird Clients von DHCP bereitgestellt. Die Windows-Clients in meinem LAN lösen Namen mithilfe dieses DNS ordnungsgemäß auf, meine Ubuntu-VM jedoch nicht.
Die VM ist für das Bridge-Netzwerk eingerichtet und der DNS-Server wird ordnungsgemäß bereitgestellt, meine lokalen Hostnamen werden jedoch nicht von nslookup oder Browsern aufgelöst.
Hier ist eine nslookup
meiner lokalen Domains:
# nslookup unraid.local
Server: 127.0.0.53
Address: 127.0.0.53#53
** server can't find unraid.local: SERVFAIL
Folgendes sollte mithilfe meines DNS-Servers behoben werden:
# nslookup unraid.local 192.168.1.152
Server: 192.168.1.152
Address: 192.168.1.152#53
Name: unraid.local
Address: 192.168.1.152
/etc/resolv.conf
hat einen falschen Nameserver:
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
# 127.0.0.53 is the systemd-resolved stub resolver.
# run "systemd-resolve --status" to see details about the actual nameservers.
nameserver 127.0.0.53
Ich habe diesen Befehl ausgeführt. Verwirrenderweise gibt es unter DNS-Server den richtigen Server (und mein Standard-Gateway) an.
root@ubuntu:~# systemd-resolve --status
Global
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 (ens33)
Current Scopes: DNS LLMNR/IPv4 LLMNR/IPv6
LLMNR setting: yes
MulticastDNS setting: no
DNSSEC setting: no
DNSSEC supported: no
DNS Servers: 192.168.1.152
192.168.1.1
Ich möchte die IP des DNS-Servers in einer Konfigurationsdatei nicht "fest codieren", da ich sie nicht auflösen kann, wenn ich das Netzwerk ändere.
Wie kann ich resolvconf und NetworkManager dazu bringen , die IP des DHCP-Servers automatisch festzulegen /etc/resolv.conf
?
quelle
Bekannte systemd Fehler .
Temporäre Problemumgehung, ohne dass eine Neukonfiguration erforderlich ist, wenn sich die DNS-IP ändert:
quelle
/etc/resolv.conf
kommt, von/run/systemd/resolve/stub-resolv.conf
dem Bollox ist, es sollte/run/systemd/resolve/resolv.conf
beachtet werden, dass/etc/resolv.conf
es in beiden Fällen nicht wirklich existiertping
dann?host
undnslookup
Hostnamen anders auflösen alsping
oderwget
. Möglicherweise müssen Sie nach/etc/nsswitch.conf
einer Lösung suchen.Ich habe endlich eine Lösung für dieses Problem für Ubuntu 17.10. Standardmäßig wird diese Ubuntu-Version verwendet
systemd-resolved
, von der ich hoffe, dass sie für die nächsten Versionen stabil bleibt.Gehen Sie folgendermaßen vor, um benutzerdefinierte DNS anstelle des vom lokalen System aufgelösten Caches zu verwenden:
füge neue Nameserver hinzu. Bearbeiten Sie die Datei
/etc/systemd/resolved.conf
als Sudoer. Hier habe ich den DNS-Eintrag auskommentiert und meine DNS platziert[Resolve] DNS=10.96.0.10 8.8.8.8 8.8.4.4
storniere den aktuellen Symlink zu
/etc/resolv.conf
sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
sudo service systemd-resolved restart
sudo systemctl restart networking
Und jetzt, wenn Sie zu einem Namen graben, der von Ihrem DNS zur Verfügung gestellt wird, sollten Sie den aufgelösten Satz sehen
dig nexus.default.svc.cluster.mydomain
Der letzte Schritt besteht darin, die Auflösungsreihenfolge in zu aktualisieren
/etc/nsswitch.conf
, indem Sie die DNS vor dem mdns4_minimal platzierenquelle
Ich habe ein Skript zusammengestellt, das das Problem von Netplan umgeht, das derzeit nicht die Möglichkeit unterstützt, von DHCP bereitgestellte DNS-Server und die Domänen-Suchreihenfolge zu ersetzen. Es erstellt die Netplan-yaml-Datei und konfiguriert systemd-resolved so, dass es wie erwartet funktioniert.
quelle
Die Lösung, die für mich funktioniert hat, finden Sie hier in meinem Blog
Verwenden Sie den Nano-Editor, um diese 2 Dateien zu bearbeiten
Fügen Sie die DNS-Server hinzu, die Sie verwenden möchten
Starten Sie dann den Dienst neu
Letzter Check:
Mach nslookup
Ich habe dies nur verwendet und es hat das Problem auf meinem Laptop zu Hause behoben, aber irgendwann in der Zukunft, wenn ich nicht in meinem Heimnetzwerk bin, kann ich sehen, dass es Probleme verursachen wird, weil der primäre und sekundäre DNS-Server immer noch mein Zuhause sein werden Server mit ihren LAN-Adressen.
quelle
/etc/resolv.conf
funktioniert nicht, da die Datei beimsystemd-resolved
Neustart überschrieben wird . Einfach bearbeiten/etc/systemd/resolved.conf
. Siehe meine Antwort hier: askubuntu.com/questions/977243/ubuntu-17-10-disable-netplan/…Dein
/etc/resolv.conf
ist nicht das Problem.systemd-resolved
Der Standardwert ist "nicht konfiguriert", sodass alle Suchvorgänge fehlschlagen. Sie können sich gerne über Unconfigured vs A Reasonable Default austoben.Fügen Sie Nameserver manuell hinzu
systemd-resolved
. (Bearbeiten von Olorins Kommentar untenmkdir
, um den Pfad/etc
nicht zu korrigieren/lib
, um Systemaktualisierungen zu überleben)Hinzufügen:
Dann...
systemd-resolved
ist klug, aber von Paketbetreuern nicht so konfiguriert, wie es ist, es SCHAUT nur dumm, weil Paketbetreuer nicht an einen vernünftigen Standard glauben. Wir können dort 13 Internet-Root-Server, auch bekannt als "DJB Way", oder 10 OpenNic-Server unterbringen: https://pastebin.com/JBfYVVtG oder die drei schnellsten OpenNic-Server, gemessen von namebench. Plus ISP Nameserver, klar. Plus Google, klar.systemd-resolved
ist nicht das problem. Ich bin das Problem.quelle
/usr/lib
werden diese beim Upgrade des Pakets wahrscheinlich überschrieben. Ich denke, eine entsprechende Datei irgendwo in/etc/systemd
ist der Weg zu gehen (es sollte bereits/etc/systemd/resolved.conf
bereit sein, von Administratoren bearbeitet zu werden).Auf meinem System habe ich einen fehlerhaften Symlink gefunden:
/etc/resolv.conf
War ein Symlink, der auf zeigt/run/systemd/resolve/stub-resolv.conf
Diese Datei enthält nur eine Zeile:
Infolgedessen fehlte häufig die DNS-Suche des lokalen Netzwerks.
Also wechselte ich stattdessen
/etc/reolv.conf
zu/run/systemd/resolve/resolv.conf
und jetzt funktioniert es richtig.
quelle
Es ist seltsam, aber die einzige Lösung, die für mich unter Ubuntu 18.04 funktioniert hat, war die, die ich hier gefunden habe :
Ändern Sie zunächst,
/etc/resolv.conf
indem Sie den gewünschten Nameserver einstellen :Stellen Sie zum Beispiel ein,
Und dann tu es
Dies schützt die
/etc/resolv.conf
Datei, so dass niemand sie ändern kann, einschließlich des Root-Benutzers.quelle
Ich habe das gleiche Problem. Bei jedem Neustart wird nichts behoben. Ich habe alles deinstalliert und es bereits etwa 50 Mal neu installiert. Es ist einfach nur kaputt.
Das Update lautet also ... "Nehmen Sie bei jedem Start Ihres PCs ein paar Einstellungen vor, damit 90% der Hostnamen aufgelöst werden können. Wget- und Apt-Get-Updates und -Upgrades schlagen jedoch ohne Grund nach dem Zufallsprinzip fehl."
cat /etc/systemd/resolved.conf
Wenn Sie Ubuntu 17.10 Desktop verwenden, müssen Sie die Datei bearbeiten, in der steht: DIESE DATEI NICHT BEARBEITEN BLAH BLAH BLAH
Nun, das ist die einzige Möglichkeit, wie es funktioniert ~!
Entfernen Sie also die IP-Adresse 127.0.0.53 als Nameserver und geben Sie eine andere ein, z. B. Google. Es scheint, dass meine tatsächliche DNS-IP-Adresse auch keine Hostnamen auflöst (obwohl sie auf 10 anderen Computern und Geräten im Haus funktioniert), aber Google funktioniert einwandfrei.
quelle