Taqta’ l-VPN, ping 1.1.1.1 għadu jwieġeb, u kull tfittxija ta’ isem tiddendel qabel il-paġna fl-aħħar iċċedi. Imbagħad cat /etc/resolv.conf juri server tal-ismijiet li qatt ma eżista ħlief ġewwa l-mina, normalment l-ewwel fil-lista. It-tħassir ta’ dik il-linja jidher li jsewwi l-ħaġa għal madwar għaxar minuti, sakemm sospensjoni, roaming tal-Wi-Fi jew restart iġibu lura. Il-fajl li editjajt mhuwiex is-setting; huwa rappreżentazzjoni tal-istat tal-ħolqa li tgħandha komponent ieħor.

Għaliex entrata waħda skaduta tiswa sekondi għal kull tfittxija

Ir-resolver tal-glibc jimxi mal-lista tas-servers tal-ismijiet fl-ordni u jistenna li jiskadi timeout qabel ma jipprova dak li jmiss, u resolv.conf(5) jillimita dik il-lista għal tliet entrati. Poġġi resolver min-naħa tal-mina bħal 10.8.0.1 fil-quċċata wara li l-mina tkun marret, u kull tfittxija tħallas it-timeout qabel ma taqa’ fuq server li jwieġeb. Huwa għalhekk li s-sintomu jidher bħala konnessjoni mejta u mhux żball tad-DNS: il-browsers jimblokkaw, jispiċċa l-ħin tagħhom u xi drabi jservu indirizz fil-cache li wara jiskadi.

Dan jispjega wkoll għaliex l-ilment jiġi bħala «l-internet qered». Ping lejn indirizz IP jipprova li l-ħolqa hija tajba, u dan jagħmel il-ħsara tidher tal-applikazzjoni. Il-lista tar-resolvers hija l-ewwel ħaġa li għandha tinqara u l-aħħar li għandha tiġi editjata.

Il-mit: resolv.conf huwa fajl tas-settings

Staqsi x’inhi tabilħaqq il-mogħdija qabel ma tibdilha:

ls -l /etc/resolv.conf
readlink -f /etc/resolv.conf

Fuq host systemd-resolved huwa ħolqa simbolika għal fajl stub li jindika lejn 127.0.0.53, u s-servers veri jgħixu fl-istat skont il-ħolqa li resolvectl jistampa. Fuq host NetworkManager jista’ jkun fajl li NetworkManager jikteb mill-konnessjoni attiva. F’xi klijenti tal-fornituri huwa fajl sempliċi li jerġa’ jinkiteb fil-post meta jingħaqad u, jekk ma tkunx xortik tajba, qatt ma jerġa’ jiġi restawrat meta jinqata’. Dawk huma tliet sidien differenti, u l-editjar ta’ l-ewwel tnejn bl-idejn jew ma jagħmel xejn jew idum sal-avveniment tan-netwerk li jmiss.

resolvectl status huwa l-veduta li tgħid il-verità: servers DNS skont il-ħolqa, dominji tal-irrotar u jekk il-ħolqa tal-mina għadhiex teżisti. resolvectl query example.com imur iktar ’il bogħod u juri liema interface wieġbet. Uża t-tnejn qabel ma tmiss fajl, u ftakar li browser bid-DNS sikur tiegħu jinjora dan kollu.

Sib lis-sid qabel ma tedita xi ħaġa

Normalment tliet komponenti jikkompetu għall-istess setting: systemd-resolved, NetworkManager u dak li jkun installa l-klijent tal-VPN. L-ewwel identifika dak li hu ħaj:

systemctl is-active systemd-resolved
nmcli connection show --active
ps aux | grep -E "openvpn|wg-quick|vpn"

Jekk resolved huwa attiv u l-ħolqa simbolika tindika lejn l-istub tiegħu, il-fajl globali huwa ħruġ iġġenerat u l-editjar tiegħek huwa kosmetiku. Jekk NetworkManager jippossjedi l-konnessjoni, is-servers jappartjenu għall-profil tal-konnessjoni, u għalhekk it-tiswija hija bidla fil-proprjetà bl-nmcli u mhux editjar ta’ fajl. Jekk daemon tal-fornitur qed jaħdem, hija biss il-mogħdija tiegħu stess ta’ restawr li tgħaddi mill-konnessjoni li jmiss.

Naddaf l-istat tal-ħolqa li ħalla l-klijent

Klijent maqtul ma jistax iħaddem il-hook tat-tindif tiegħu. SIGKILL ma jistax jinqabad xejn, filwaqt li SIGINT u SIGTERM jistgħu, u għalhekk mina li «semplicement waqfet» wara qtil sfurzat spiss tħalli kemm ir-reġistrazzjoni tal-interface kif ukoll l-entrata tar-resolver fil-post. Sib il-PID preċiż u ibgħat is-sinjal lil dak biss:

ps aux | grep -E "openvpn|wg-quick"
sudo kill <pid>
resolvectl revert tun0

Tistax tmur għal pkill -f vpn jew killall vpn qabel ma taqra l-lista sħiħa ta’ qbil. -f jaqbel mal-linja tal-kmand kollha, u għalhekk jista’ jtemm skript tal-involukru, sessjoni tal-editur jew proċess mhux relatat li l-mogħdija tiegħu fiha dak is-string. It-tmiem tal-proċess ħażin f’nofs ix-xogħol huwa l-mod kif problema tar-resolver issir fajl mitluf.

resolvectl revert jerġa’ jistabbilixxi l-konfigurazzjoni DNS tal-ħin tal-eżekuzzjoni ta’ dik il-ħolqa, li hija iżqar milli terġa’ tibda r-resolver u ħafna iżqar milli tedita l-fajl globali. Jekk il-ħolqa tal-mina sparixxiet għal kollox, systemctl restart NetworkManager jerġa’ jibni l-istat tal-konnessjoni u dak huwa l-pass li fih it-threads tas-sors iħobbu jerġgħu lura. Oqgħod attent għal manager tas-servizzi bi Restart=always, għax jista’ jpoġġi klijent maqtul, u s-settings tiegħu tad-DNS, lura direttament.

Id-direzzjoni l-oħra: DNS imbuttat li qatt ma wasal

L-immaġni tal-mera tal-entrata skaduta hija mina mingħajr ebda resolver użabbli. Għażla DNS fil-profil hija talba; il-komponent li jmexxi l-konnessjoni jrid jgħaddiha lir-resolver. Jekk il-log juri li s-server wasal imma l-ħolqa tal-mina ma ġġorr l-ebda setting tad-DNS, dak li jonqos hija l-integrazzjoni, mhux is-server.

Ittestja l-għoti billi tagħmlu bl-idejn, li jifred «is-server huwa ħażin» minn «ħadd ma applikaħ»:

resolvectl dns tun0 10.10.10.10
resolvectl domain tun0 ~.

Id-dominju tal-irrotar li jaqbad kollox jibgħat kull isem lil dik il-ħolqa, li huwa dak li jrid klijent tal-mina sħiħa u dak li d-DNS maqsum m’għandux juża. Dawn is-settings jisparixxu fil-konnessjoni li jmiss. Biex tagħmilhom permanenti f’NetworkManager, itfi d-DNS awtomatiku, issettja s-server fuq il-konnessjoni u żid id-dominju:

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 "~."

Għal mina tal-kumpanija li għandha twieġeb biss l-ismijiet interni, elenka dawk iż-żoni b’tilde fil-bidu minflok il-ġbir ta’ kollox, biex l-ismijiet pubbliċi jibqgħu jużaw ir-resolver lokali.

Soluzzjonijiet temporanji li jsiru l-ħsara li jmiss

L-ikkupjar ta’ resolv.conf qabel ma tingħaqad u r-restawr tiegħu wara hija linja leġittima f’runbook, u hija soluzzjoni temporanja u mhux tiswija. Hija tfalli eżattament meta jkun importanti, għax crash jew reboot sfurzat jaqbeż ir-restawr. Iktibha bħala soluzzjoni temporanja biex il-persuna li jmiss ma tibnix fuqha.

L-itfi ta’ systemd-resolved u l-ikkodifikar iebes tas-servers pubbliċi hija l-mossa popolari l-oħra. Tagħmel il-konnessjoni u l-qtugħ prevedibbli u tneħħi d-DNS skont il-ħolqa għal kull netwerk ieħor, li tkisser id-DNS maqsum għall-ismijiet interni u tħassar l-iskop ta’ mina maħsuba biex iżżomm il-mistoqsijiet ġo fiha. L-installazzjoni ta’ resolvconf u l-irbit tas-servers pubbliċi tiswa l-istess b’saff żejjed. Ittratta waħda minnhom bħala dijanjosi: jekk terġa’ l-ibbrawżjar, tkun tgħallimt li l-integrazzjoni tar-resolver hija ħatja, mhux li s-servers pubbliċi huma korretti.

It-tiswija li ddum hija sid wieħed għal kull saff: iddeċiedi liema komponent jippossjedi d-DNS tal-ħolqa tal-mina u liema jippossjedi l-default globali, iktibha u neħħi l-oħrajn mill-mogħdija. Imbagħad ivverifika wara qtugħ b’isem li tissolva biss il-VPN. Jekk isem privat għadu jwieġeb, ir-reġistrazzjoni ma tneħħietx; jekk xejn ma tissolva, il-fajl jindika lejn server li m’għadux jeżisti. It-tnejn jidhru f’resolvectl qabel ma tiftaħ browser.

Artikli relatati