resolv.conf änneren hëlt den DNS net no der VPN-Trennung
En doudegen Tunnel-Resolver uewen op der Lëscht kascht een Timeout pro Ufro. Kuckt wiem de Fichier gehéiert, setzt de Linkstatus zréck a stoppt d’Änneren vum generéierten Output.
Dir trennt d’VPN, ping 1.1.1.1 äntwert nach, an all Numm-Ufro hänkt, bis d’Säit endlech opgëtt. Dann weist cat /etc/resolv.conf en Numm-Server, dee jeemools nëmmen am Tunnel existéiert huet, meeschtens als éischten op der Lëscht. Dës Linn ze läschen gesäit aus wéi eng Repair fir ongeféier zéng Minutten, bis eng Suspend, en Wi-Fi-Roaming oder en Neistart se zréckbréngt. De Fichier, den Dir geännert hutt, ass net d’Astell; et ass eng Duerstellung vum Linkstatus, deen engem aneren Deel gehéiert.
Firwat eng eenzeg al Afdreung Sekonnen pro Ufro kascht
Den glibc-Resolver geet d’Lëscht vun den Numm-Serveren der Rei no duerch a waart en Timeout of, ier en de nächsten probéiert, a resolv.conf(5) begrenzt déi Lëscht op dräi Afdrengungen. Setzt en Resolver vun der Tunnelsäit wéi 10.8.0.1 uewen drop, nodeems den Tunnel fort ass, an all Ufro bezilt den Timeout, ier se op ee Server fällt, deen äntwert. Dofir gesäit de Symptom aus wéi eng doudeg Verbindung an net wéi en DNS-Fehler: Browser blockéieren, kommen an d’Zäitlimit a liwweren heiansdo eng Adress aus dem Cache, déi spéider al gëtt.
Dat erkläert och, firwat d’Beschwéier als „den Internet ass futti“ ukënnt. En Ping op eng IP-Adress beweist, datt de Link an der Rei ass, wat de Fehler wéi ee vun der App ausgesinn léisst. D’Lëscht vun de Resolveren ass dat Éischt, wat ee liest, an dat Lescht, wat ee ännert.
De Mythos: resolv.conf ass eng Astellungsdatei
Frot, wat de Pad tatsächlech ass, ier Dir en ännert:
ls -l /etc/resolv.conf
readlink -f /etc/resolv.conf
Op engem systemd-resolved-Host ass et en symbolesche Link op eng Stub-Datei, déi op 127.0.0.53 weist, an déi richteg Serveren liewen am Pro-Link-Status, deen resolvectl dréckt. Op engem NetworkManager-Host kann et eng Datei sinn, déi NetworkManager aus der aktiver Verbindung schreift. Bei eenge Vendor-Cliente ass et eng einfach Datei, déi beim Verbannen um selwechten Uert nei geschriwwe gëtt an, wann Dir Pech hutt, beim Trennen ni restauréiert gëtt. Dat sinn dräi verschidde Besëtzer, an déi éischt zwee vun Hand ze änneren mécht entweder näischt oder hält bis zum nächsten Netzwierk-Event.
resolvectl status ass d’Vue, déi d’Wourecht seet: DNS-Server pro Link, Routing-Domänen an ob de Link vum Tunnel nach existéiert. resolvectl query example.com geet méi wäit a weist, wéi eng Interface geäntwert huet. Benotzt béides, ier Dir e Fichier beréiert, a denkt drun, datt e Browser mat sengem eegene sécheren DNS dat alles ignoréiert.
Fannt de Besëtzer, ier Dir eppes ännert
Normalerweis konkurréiere dräi Deeler ëm déi selwecht Astellung: systemd-resolved, NetworkManager an dat, wat de VPN-Client installéiert huet. Identifizéiert fir d’éischt deen, deen nach lieft:
systemctl is-active systemd-resolved
nmcli connection show --active
ps aux | grep -E "openvpn|wg-quick|vpn"
Wann resolved aktiv ass an de symbolesche Link op säi Stub weist, ass de globale Fichier generéierten Output an Är Ännerung ass kosmetesch. Wann NetworkManager d’Verbindung huet, gehéieren d’Serveren zum Verbindungsprofil, also ass de Fix eng nmcli-Eegeschaftsännerung an net eng Fichiersännerung. Wann en Vendor-Daemon leeft, iwwerlieft nëmmen säin eegene Restauratiounswee déi nächst Verbindung.
Maacht de Linkstatus propper, dee de Client hannerlooss huet
En ëmbruechte Client kann säin Opraamhook net ausféieren. SIGKILL kann ee guer net fänken, SIGINT a SIGTERM dogéint schonn, also en Tunnel, deen no engem forcéierten Ëmbréngen „just gestoppt“ huet, léisst dacks souwuel d’Interface-Registrierung wéi och den Afdro vum Resolver stoen. Fannt de konkrete PID a schéckt d’Signal nëmmen un deen:
ps aux | grep -E "openvpn|wg-quick"
sudo kill <pid>
resolvectl revert tun0
Gräift net no pkill -f vpn oder killall vpn, ier Dir déi komplett Match-Lëscht gelies hutt. -f passt op déi ganz Kommandozeil, also kann et e Wrapper-Skript, eng Editor-Sessioun oder en onverbonnene Prozess beenden, deem säi Pad dëse String enthält. De falsche Prozess mëttendran ze beenden ass de Wee, wéi aus engem Resolver-Problem e verluerene Fichier gëtt.
resolvectl revert setzt d’DNS-Konfiguratioun zur Laufzäit vun deem Link zréck, wat méi schmuel ass wéi de Resolver nei ze starten a vill méi schmuel wéi de globale Fichier ze änneren. Wann de Link vum Tunnel komplett fort ass, baut systemctl restart NetworkManager de Verbindungsstatus nei op, an dat ass de Schrëtt, op deen d’Quell-Threads ëmmer erëm zréckkommen. Passt op e Service-Manager mat Restart=always op, well deen en ëmbruechte Client an seng DNS-Astellungen direkt zréck setze kann.
Déi aner Richtung: gedréckten DNS, deen ni ukoum
D’Spigelbild vum alen Afdro ass en Tunnel ganz ouni brauchbare Resolver. Eng DNS-Optioun am Profil ass eng Ufro; deen Deel, deen d’Verbindung verwalt, muss se un de Resolver iwwerginn. Wann de Log weist, datt de Server ukomm ass, awer de Link vum Tunnel keng DNS-Astellunge dréit, da feelt d’Integratioun, net de Server.
Test d’Iwwerleeung, andeems Dir se vun Hand maacht, wat „de Server ass falsch“ vun „keen huet en ugewannt“ trennt:
resolvectl dns tun0 10.10.10.10
resolvectl domain tun0 ~.
D’Routing-Domän, déi alles fänkt, schéckt all Numm op dee Link, wat e Client mat engem kompletten Tunnel wëllt a wat de gedeelten DNS net dierf benotzen. Dës Astellunge verschwannen bei der nächster Verbindung. Fir se am NetworkManager dauerhaft ze maachen, deaktivéiert den automateschen DNS, setzt de Server op d’Verbindung a füügt d’Domän derbäi:
nmcli connection modify office ipv4.ignore-auto-dns yes
nmcli connection modify office ipv4.dns 10.10.10.10
nmcli connection modify office ipv4.dns-search "~."
Fir en Firmen-Tunnel, deen nëmmen op intern Nimm äntwere soll, lëscht déi Zonen mat enger féierender Tilde amplaz vum Alles-Fänken op, sou datt ëffentlech Nimm weider de lokalen Resolver benotzen.
Ëmweeër, déi déi nächst Ausfaalsinn ginn
resolv.conf virum Verbannen ze kopéieren an duerno zréckzesetzen ass eng legitim Linn an engem Runbook, an et ass en Ëmwee an net eng Reparatur. Et schléit genee dann fehl, wann et drop ukënnt, well en Crash oder en forcéierten Neistart d’Restauratioun iwwerspréngt. Schreift et als Ëmwee op, sou datt déi nächst Persoun net drop baut.
systemd-resolved ausschalten an ëffentlech Server haart codéieren ass deen aneren populäre Schrëtt. Et mécht Verbannen an Trennen viraussobar an hëlt den DNS pro Link fir all anert Netzwierk ewech, wat de gedeelten DNS fir intern Nimm briechen an den Zweck vun engem Tunnel zerstéieren, deen Ufroe bannen dorsoll halen. resolvconf installéieren an ëffentlech Server festmaachen kascht datselwecht mat enger Extraschicht. Behandelt jiddwereen dovun als Diagnos: wann et d’Browsen zréckbréngt, hutt Dir geléiert, datt d’Resolver-Integratioun schold ass, net datt déi ëffentlech Server richteg sinn.
De dauerhafte Fix ass ee Besëtzer pro Schicht: entscheet, wien den DNS vum Link vum Tunnel huet a wien de globalen Default, schreift et op a maacht déi aner aus dem Pad ewech. Verifizéiert duerno no enger Trennung mat engem Numm, deen nëmmen d’VPN opléist. Wann en private Numm nach äntwert, gouf d’Registrierung net ewechgeholl; wann näischt opgeléist gëtt, weist de Fichier op ee Server, deem et net méi gëtt. Béides ass an resolvectl ze gesinn, ier Dir e Browser opmaacht.