Wenn man auf Proxmox LXC Container betreibt, wird die /etc/resolv.conf immer wieder beim Neustart überschrieben. Das ist von Vorteil, damit die Einstellungen aus der GUI konsequent gesetzt werden. Allerdings fehlt dadurch die Möglichkeit auch mal keine search(domain) zu setzen. Bei einem leeren Feld werden die Einstellungen des Proxmox Hosts gezogen, und diese dürfen nicht leer sein.
Bei meinen unbound DNS Resolvern müssen diese aber leer sein, u.a. aus mehreren Gründen (dazu später mehr).
Die Lösung ist eine wenig dokumentiertes Proxmox Feature, bei welchem man in der VM bzw. im Container selbst eine „Ignore“-Datei anlegt.
sudo touch /etc/.pve-ignore.resolv.conf
sorgt dafür, dass die resolv.conf nicht mehr verändert wird. Das geht auch mit anderen Dateien, die normalerweise beim Reboot geschrieben werden.
P.S: Fast die Gründe vergessen, warum ein DNS Resolver (der wohlgemerkt das hier in der /etc/resolv.conf stehen hat)
nameserver 127.0.0.1
sich beim selbst befragen nicht auch noch auf eine search(domain) stürzen sollte:
- fehlerhafte oder verlängerte DNS-Auflösungen
- Query-Erweiterungen, die nicht gewollt sind
- potenzielle NXDOMAIN-Fehler
- Debugging-Aufwand bei internen Zonen
By the way, eigene Resolver helfen übrigens hervorragend, wenn man SPAM-Listen mit eigenen Mailservern befragen möchte. Happy Resolving 😉
Hinweis: Bei einigen Distributionen (z. B. Ubuntu-LXCs) oder bei aktiviertem DHCP/systemd-resolved kann Proxmox Standard-Konfiguration trotzdem erneut die resolv.conf überschreiben — selbst wenn die Datei /etc/.pve-ignore.resolv.conf existiert. In diesem Fall kann es notwendig sein, zusätzlich systemd-resolved zu deaktivieren oder einen dhclient-Hook zu nutzen, der das automatische Neuschreiben von /etc/resolv.conf verhindert.
Quellen: https://pve.proxmox.com/wiki/Linux_Container#_guest_operating_system_configuration