Wie füge ich zwei IPv6-DNS-Nameserver zu / etc / network / interfaces hinzu?

7

Mit IPv4 kann ich problemlos zwei DNS-Nameserver hinzufügen:

"dns-nameservers 8.8.4.4 8.8.8.8"

Dann habe ich auf meiner resolv.conf:

   nameserver 8.8.4.4
   nameserver 8.8.8.8

ABER es funktioniert nicht für IPv6, nur der erste IPv6-DNS-Server wird in meiner resolv.conf angezeigt.

"dns-nameservers 2001:4860:4860::8844 2001:4860:4860::8888"

Aber dann bleibt meine resolv.conf nur bei der ersten:

   nameserver 2001:4860:4860::8844

Anscheinend ignoriert Ubuntu (resolvconf / ifupdown) den zweiten DNS-Nameserver. Wie kann man das beheben?!

EDITIERT:

Hier ist meine Datei / etc / network / interfaces:

auto lo
iface lo inet loopback
iface lo inet6 loopback

auto eth0
iface eth0 inet6 static
        address 2800:210:0:4::2
        netmask 64
        gateway 2800:210:0:4::1
        dns-nameservers 2001:4860:4860::8844 2001:4860:4860::8888

Tks! Thiago

ThiagoCMC
quelle
Datei / etc / network / interfaces gepostet!
ThiagoCMC
Sie scheinen einen Fehler gefunden zu haben. Ich würde einen Bericht beim Launchpad einreichen.
Michael Hampton

Antworten:

2

In der resolv.conf können nur drei Nameserver vorhanden sein. Wenn Sie einen der IPv4-Nameserver entfernen, wird der zweite IPv6-Nameserver hinzugefügt.

Sander Steffann
quelle
Ist dies eine Einschränkung der Implementierung oder folgt dies tatsächlich einer Spezifikation? Sieht so aus, als müssten Sie MAXNS in resolv.h ändern und neu kompilieren. Es sei denn, es gibt spezielle v6-Regeln.
Belacqua
@ThiagoCMC teilt uns mit, ob dies das Problem behebt (und wenn dies der Fall ist, können Sie dieses Häkchen setzen, um es als Antwort zu akzeptieren).
Belacqua
Ebenfalls relevant: unix.stackexchange.com/questions/28004/… . Es werden> 3 Nameserver, mögliche erhöhte Zeitüberschreitungen und das Ausführen eines lokalen DNS-Caches erwähnt, anstatt weitere Nameserver hinzuzufügen.
Sander Steffann
2

Ich dachte anfangs, dies sei ein Fehler, aber ich gehe davon aus, dass die Antwort von @ Sander hier richtig ist. Ich bin mir nicht sicher, ob resolvconf resolv.h oder etwas anderes für den maximalen Nameserver-Wert verwendet.

Anstatt resolv.conf zu verwenden, sollten Sie im Allgemeinen einige Dinge ausprobieren:

Sie können versuchen, dhclient.conf wie in den Google- Entwicklungsdokumenten vorgeschlagen zu bearbeiten :

prepend domain-name-servers 2001:4860:4860::8888, 2001:4860:4860::8844;

Für diese Methode unter Ubuntu glaube ich, dass der aktuelle Pfad ist /etc/dhcp/dhclient.conf.

Das gleiche Dokument enthält Anweisungen zur Verwendung von NetworkManager. Wenn Sie dies verwenden, können Sie mit der rechten Maustaste auf Ihr Netzwerksymbol klicken, Ihre Verbindung suchen, "Bearbeiten" auswählen und dann zur Registerkarte IPv6 wechseln. Dort können Sie "zusätzliche DNS-Server" einstellen.

belacqua
quelle
2

@ThiagoCMC sagte "Nein, ich kann es nicht manuell hinzufügen, resolv.conf ...": Ja, Sie haben Recht - aber Sie können das System zwingen, diese Datei NICHT zu ändern: Bearbeiten Sie sie und (als root) chattr + i resolv.conf dann kann es nie wieder von Skripten bearbeitet werden. Leider muss man es von diesem Moment an immer selbst pflegen ...

opinion_no9
quelle
Ubuntu 19.xx sucht in einigen DNS-bezogenen Aufgaben aktiv nach dem Link-Zeichen von resolv.conf. Wenn kein Link gefunden wird, schlagen einige Prozesse fehl. >> Vermeiden Sie diese Brute-Force-Lösung!
opinion_no9
1

Fügen Sie es manuell zur Datei /etc/resolv.conf hinzu

 nameserver 2001:4860:4860::8844

 nameserver 2001:4860:4860::8888
Maythux
quelle
1
Nein, ich kann es nicht manuell hinzufügen, resolv.conf haben: "Bearbeiten Sie diese Datei nicht per Hand - Ihre Änderungen werden überschrieben"
ThiagoCMC
3
@maythux leider (meiner Meinung nach) ist die Bearbeitung von resolv.conf veraltet .... Dies kann jedoch als Test verwendet werden. Du wirst nichts kaputt machen.
Belacqua
@belacqua Ja sicher traurig ...
Maythux
Das ist also ein Fehler, oder?!
ThiagoCMC
@ ThiagoCMC nein, es ist nicht, aber das Bearbeitungshandbuch war veraltet
Maythux
0

Obwohl MAXNS festgelegt ist, kann resolvconf mithilfe von /etc/resolvconf/resolv.conf.d beliebig viele NS hinzufügen

Dort finden Sie 'head', das die Warnmeldung oben in /etc/resolv.conf und eine (wahrscheinlich leere) Datei namens 'base' enthält.

Sie können diese Dateien freihändig bearbeiten, um zusätzliche Zeilen in resolv.conf hinzuzufügen (z. B. 'Nameserver xx.xx.xx.xx').

Ob das Hinzufügen von> MAXNS-Zeilen tatsächlich funktioniert oder nicht, ist eine andere Frage, aber auf diese Weise werden benutzerdefinierte Inhalte in die resolv.conf selbst gezwungen.

MadPsy
quelle