So richten Sie DNS und die Datei resolv.conf ein

So richten Sie DNS und die Datei resolv.conf ein

Ich habe Ubuntu Server 18.04 seit ein paar Wochen am Laufen. Eine Zeit lang konnte meine Netzwerkschnittstelle keine Verbindung herstellen. Schließlich habe ich eine richtige Netplan-YAML-Datei eingerichtet. Ich kann jetzt von einem anderen Computer in meinem Netzwerk aus die IP-Adresse meines Servers (nicht den Hostnamen) anpingen und auch externe IP-Adressen (nicht Domänennamen) anpingen. Wie gesagt kann ich keine Domänennamen verwenden. Daher schlagen Dinge wie ping google.comund sudo apt updatefehl. Ich glaube, es ist ein DNS-Problem, bin mir aber nicht 100 % sicher.

Ergebnis von ping google.com:

ping: google.com: Temporary failure in name resolution

Ergebnis von sudo apt update:

 Err3: http://archive.ubuntu.com/ubuntu bionic InRelease
     Temporary failure in resolving 'archive.ubuntu.com'

Beim Aktualisieren treten noch einige weitere Fehler auf, aber bei allen schlägt die Auflösung von „archive.ubuntu.com“ fehl.

Meine Netplan-Datei ist /etc/netplan/01-netcfg.yaml:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s25:
      dhcp4: no
      dhcp6: no
      addresses: [192.168.1.40/22]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.4.4, 8.8.8.8, 1.1.0.0, 1.1.1.1]

Ich habe viele Beiträge und Artikel gelesen, in denen darüber gesprochen wurde /etc/resolv.conf, aber meiner war immer nicht vorhanden. Wenn ich versuchen würde, catden Inhalt zu löschen, würde ich eine Fehlermeldung erhalten no such file or directory. Ich denke, hier liegt mein Problem, aber ich verstehe auch nicht genug von Linux-Netzwerken, um zu erkennen, was falsch ist.

Einige Leute konnten dieses Problem beheben, indem sie ihre symbolischen Links zu erstellt oder repariert haben /etc/resolv.conf. Sie verwendeten jedoch run/systemd/resolve/resolv.conf, /run/resolvconf/resolv.conf, und andere Dateien. Diese Dateien/Dienste existieren auf meinem Rechner nicht. Ich habe nur eine netzwerkbezogene Datei unter /run. /run/systemd/network/10-netplan-enp0s25.networkIhr Inhalt ist:

[Match]
Name=enp0s25

[Network]
LinkLocalAddressing=ipv6
Address=192.198.1.40/22
Gateway=192.168.1.1
DNS=8.8.4.4
DNS=8.8.8.8
DNS=1.1.0.0
DNS=1.1.1.1

Ich habe einen symbolischen Link von zur erstellt /etc/resolv.conf. /run/systemd/network/10-netplan-enp0s25.networkDer Inhalt meiner resolv.confist genau derselbe wie der von 10-netplan-enp0s25.network.

Ich bin verwirrt, was sonst noch getan werden muss, um meine Maschine zu konfigurieren. Alles, was ich bisher gefunden habe, war sehr widersprüchlich und hat nicht geholfen.


Antwort1

Auf einem Ubuntu 18.04-System /etc/resolv.confsollte immer ein symbolischer Link zu sein /run/systemd/resolve/stub-resolv.conf, es sei denn, das resolvconfPaket ist installiert (nicht empfohlen für neue Systeme). In diesem Fall sollte es ein symbolischer Link zu sein /run/resolvconf/resolv.conf. Wenn /run/systemd/resolve/stub-resolv.confnicht vorhanden, überprüfen Sie, ob der systemd-resolvedDienst ausgeführt wird ( systemctl status systemd-resolved). Wenn er nicht aktiv ist, aktivieren und starten Sie ihn ( sudo systemctl enable systemd-resolved && sudo systemctl start systemd-resolved), wodurch das Problem behoben werden sollte.

verwandte Informationen