18.04: Bionic Beaver: Erzwinge die statische Datei /etc/resolv.conf

10

Zuvor fühlte ich mich unter Ubuntu 16.04 betrogen, als ein Ubuntu-Update- dnsmasqPaket installiert , konfiguriert und Vorrang vor meinem eigenen superstabilen, ultraschnellen und selbst konfigurierten BIND-DNS-Server eingeräumt wurde. Es fühlte sich genau so an, als hätte Ubuntu meine Workstation gehackt.

Da ich zufällig als Systemadministrator arbeitete, war dies äußerst inakzeptabel. Dies war ein ausgeflippter Anruf. Dies ist der Fall, wenn Sie zur Behebung eines Problems gehen und in einem Ihrer Schritte digoder verwenden nslookupund Sie verblüfft sind, wenn die loBenutzeroberfläche auf Sie antwortet. PANIK

Gibt es eine Möglichkeit, dieses Problem nicht nur zu beheben, sondern auch eine /etc/resolv.confManipulationssicherheit zu gewährleisten ?

MK
quelle

Antworten:

5

Eine einfache Bearbeitung /etc/NetworkManager/NetworkManager.confund Deaktivierung systemd-resolved.service(wie in dieser Antwort /ubuntu//a/907249/719422 ). Dies allein ist zwar unerlässlich, garantiert jedoch keine Manipulationssicherheit resolv.conf.

Um eine statische /etc/resolv.confAufladung, von der Sie wissen, dass sie Neustarts jeglicher Art überlebt, wirklich zu erzwingen , müssen Sie das unveränderliche Attribut darauf setzen. Wenn Sie die oben erwähnte Antwort von Bastian Voigt ergänzen, tun Sie dies als SuperUser:

echo nameserver 8.8.8.8 > /etc/resolv.conf
chattr -e /etc/resolv.conf
chattr +i /etc/resolv.conf

... den nameserverauf den von Ihnen gewählten Wert ändern . Auf diese Weise können Sie eine wirklich statische haben /etc/resolv.conf.

MK
quelle
3
Die Datei /etc/NetworkManager/NetworkManager.conf existiert nicht in 18.04
hfranco
@hfranco wenn nicht, was ich bezweifle, dann erstelle du einfach eine! Und übrigens, wenn das Ihr Fall ist, dann ist es kein Standard-Setup; Ihr Fall ist abnormal. Ich würde sagen, Sie haben bei der Suche einen Tippfehler gemacht!
MK
@hfranco So alt wie 12.04 unix.stackexchange.com/questions/154338/…
MK
Dies ist das einzige, was für mich unter Ubuntu 18.04
Lucas Bustamante
1

Die beste Lösung, die ich gefunden habe, besteht darin, zu verhindern, dass NetworkManager /etc/resolv.conf aktualisiert und anschließend eine neue Datei /etc/resolv.conf mit einem statischen DNS-Server erstellt. Informationen dazu finden Sie unter https://www.ctrl.blog/entry/resolvconf-tutorial .

Scubadoo
quelle
1
Danke für den Spam! Aber Sie vermissen trotzdem das Attribut Unveränderlich!
MK
0

Gemäß den Dokumenten können Sie resolv.confin /usr/lib/systemd/resolv.confeine statische Datei schreiben , von der aus eine Verknüpfung hergestellt werden kann /etc/resolv.conf. Das sollte nicht umgeschrieben werden.

sudo ln -sf /usr/lib/systemd/resolv.conf /etc/resolv.conf

http://manpages.ubuntu.com/manpages/bionic/man8/systemd-resolved.service.8.html#contenttoc3

/ETC/RESOLV.CONF

Es werden vier Handhabungsmodi /etc/resolv.conf (siehe resolv.conf (5)) unterstützt:

...

Es wird eine statische Datei /usr/lib/systemd/resolv.conf bereitgestellt, in der der DNS-Stub 127.0.0.53 (siehe oben) als einziger DNS-Server aufgeführt ist. Diese Datei kann über /etc/resolv.conf mit einem Symlink verknüpft werden, um alle lokalen Clients, die lokale DNS-APIs umgehen, mit systemd aufgelöst zu verbinden. Diese Datei enthält keine Suchdomänen.

wisbucky
quelle
2
Nein Entschuldigung. Was passiert, wenn sich die Spezifikation ändert oder die Konfigurationsmethode nach eigenem Ermessen von Ubuntu geändert wird ? Weißt du, das ist das gleiche Fiasko, für das ich Satyas verdorbene Träume von einem Betriebssystem hinterlassen habe. Und dies ist das gleiche Fiasko, das Linux vermeiden sollte. Was ist los mit resolve.conf? Warum der Ärger? Warum sollte man auf die eine oder andere Weise versuchen, die hasserfüllte und langwierige Redhat-Netzwerkkonfiguration nachzuahmen? Entschuldigung, ich werde mich nur an meine Lösung halten.
MK
Woher wissen Sie, dass Ihre Datei in Zukunft nicht einfach ignoriert wird? Ich weiß, dass das Erzwingen der statischen Funktionsweise einiger Apps funktionieren würde und andere nicht. Mit der Lösung von wisbucky können wir zumindest den aktuellen Weg nutzen. Ich habe nicht gesehen, dass sie es ändern müssen, aber ich habe keine Stimme bekommen. Jemand hat diese Lösung abgelehnt, obwohl sie tatsächlich funktioniert und die einfachste ist. +1
Marlon
@Marlon "Woher wissen Sie, dass Ihre Datei in Zukunft nicht einfach ignoriert wird"? Weil es unveränderlich eingestellt ist; und wenn /etc/resolv.conf ignoriert wird, warum also die Aufregung, ein Framework darum herum aufzubauen? Das Ignorieren der Datei wird nur passieren, wenn ein Ubuntu-Wacko entschieden hat, dass sie nutzlos ist (z. B. etwas in die Schnittstellendatei implementieren!)
MK
Wenn ich wollte, dass jemand Entscheidungen für mich trifft, wäre ich zu dem verrückten Microsoft Windows zurückgekehrt, dessen Programmierer und Designer und vor allem Satya glauben, dass sie Ihren Willen besser kennen als Sie und dass Sie kein Recht haben, zu entscheiden, wie sie ausgeführt werden sollen. " Schaffung". Aufregung!
MK
Warum die Aufregung, ein Betriebssystem zum Wohle der Menschheit zu bauen, wenn die Menschheit es nicht genießen kann, es zu betreiben? Was die Aufregung ist Unveränderliches Attribut, wenn mir jemand sagen wird, wann ich es verwenden soll oder nicht. Hier geht es nicht darum, "galaktischen Handbüchern von Vega zu folgen", sondern um Wahlfreiheit; Niemand sollte jemals seinen eigenen starren, zielstrebigen Impuls auf dich richten. Du bist ein Wesen und du hast Rechte.
MK
-2

Die vorhandene Datei ist ein Symlink zu einer anderen Datei. Löschen Sie die Datei

rm /etc/resolve.conf
vim / etc resolve.conf
gib deine Daten ein
: wq

Die Datei ist kein Symlink mehr, sondern eine persistente Datei.

0n10n_
quelle
Schritte, die bereits direkt zum Löschen von /etc/resolv.conf im Voraus führen.
MK