Id-DNS ta' OpenVPN jibqa' warajh wara SIGKILL: iċċekkja l-propjetarju l-ewwel
SIGKILL ma jistax iħaddem il-hook down ta' OpenVPN, iżda systemd-resolved xorta jista' jwarrab id-DNS għal kull konnessjoni. Iddeċiedi x'ħareġ, min għandu r-resolver u x'baqa'.
Id-DNS jieqaf isolvi wara li klijent ta' OpenVPN jingatel, u l-ewwel instint huwa li jerġa' jinkiteb /etc/resolv.conf. Dak it-tibdil jista' jkisser resolver li jaħdem filwaqt li l-istat qadim veru jinsab band'oħra. Il-mistoqsija li trid tinqata' l-ewwel hija min għandu s-settings DNS li installa l-mina, u jekk il-ħruġ li qabeż it-tindif kienx verament importanti.
Tliet kundizzjonijiet jiddeċiedu t-tiswija: is-sinjal li temm il-proċess, il-komponent tar-resolver li rċieva s-settings, u jekk il-link tal-mina għadhiex teżisti. Wieġeb f'dik l-ordni u t-tiswija normalment tiġi mingħajr ma tmiss fajl globali.
Iddeċiedi x'tip ta' ħruġ seħħ
Fl-edizzjoni Community ta' OpenVPN, kemm SIGINT kif ukoll SIGTERM huma talbiet għal ħruġ ordnat. SIGKILL ma jistax jinqabad: ma jistax jiġi mblukkat jew immaniġġjat, għalhekk l-ebda rutina ta' għeluq ma jkollha ċ-ċans taħdem. Ctrl+C normali f'terminal fil-quddiem jiġġenera SIGINT, filwaqt li supervisur li jieqaf jistenna normalment jeskala għal SIGKILL. Id-differenza hija importanti għax huwa biss it-tieni każ li jiggarantixxi li l-hooks inqabżu.
It-tħaddim ġewwa screen jew tmux ma jbiddilx liema sinjal jibgħat Ctrl+C. Iċċekkja x'irċieva tabilħaqq il-proċess, mhux x'jagħmel normalment it-terminal.
Meta servizz jew manager tal-konnessjonijiet iħaddem il-mina, waqqaf dik il-konnessjoni permezz tal-propjetarju tagħha minflok toqtol il-pid. Manager jista' jerġa' jtellgħu l-proċess, u jħallik b'mina ġdida u stat tar-resolver konfuż. Proċess awtonomu jeħtieġ biss talba ta' waqfien ordinarja biex it-tindif jaħdem.
Iddeċiedi min għandu r-resolver
systemd-resolved, script fi stil resolvconf u kitba mill-ġdid sempliċi ta' fajl huma tliet propjetarji differenti. L-ewwel iżomm is-settings għal kull konnessjoni fil-memorja u jwarrabhom meta l-interface tisparixxi. It-tieni iżomm rekords li jibqgħu sakemm xi ħaġa tneħħihom. It-tielet jikteb fajl u jħalli r-restawr lil min kiteb.
Identifika l-propjetarju qabel ma tagħżel kmand ta' tiswija. L-istess sintomu għandu tliet tweġibiet korretti differenti skont liema qed jintuża.
VPN immexxi minn NetworkManager jista' diġà jkollu l-bidliet tar-resolver. Żżid tieni assistent fuqu joħloq żewġ propjetarji li jikkompetu għall-istess link, u l-istat ta' min jitlef jerġa' jidher fil-konnessjoni mill-ġdid li jmiss. Jekk manager huwa responsabbli, sewwi s-setting fil-manager mhux fi script.
X'jista' u x'ma jistax jagħmel il-hook down
L-iskript down taħdem darba wara li t-tagħmir TUN/TAP jingħalaq. Iż-żieda ta' down-pre taqleb dik l-ordni u tħaddem l-iskript waqt li t-tagħmir għadu jeżisti, li jeħtieġu assistenti li għandhom bżonn il-link ħaj.
L-ebda direttiva ma tagħmel hook jaħdem wara SIGKILL. Il-privileġġi lanqas ma jiġu restawrati minn down-pre: jekk id-daemon jinżel għal user jew group jew jidħol fi chroot, il-hook jaħdem bl-aċċess li dan iħallilu. Hook imsejjaħ xorta jista' jonqos milli jaġġorna r-resolver. Ir-referenza ta' OpenVPN tkopri s-sinjali u ċ-ċiklu tal-ħajja tal-callback.
Iċċekkja l-iżball tal-hook stess ħdejn l-istat tal-ħruġ tal-proċess. Tindif nieqes u tindif fallut jidhru l-istess fir-resolver u differenti fil-logs.
Iċċekkja l-istat li tabilħaqq jibqa'
Fuq sistema li tuża systemd-resolved, resolvectl status juri liema link għadu jġorr is-servers DNS tal-VPN jew id-dominji tar-rotta. Dak il-link jista' jkun ta' konnessjoni li marret, jew ta' mina oħra li għadha miftuħa.
Interface li tisparixxi tieħu magħha l-konfigurazzjoni tagħha għal kull konnessjoni, għalhekk hook inqabeż jista' jikkoeżisti ma' DNS nadif. Jekk il-link għadu rreġistrat u għandu biss il-konnessjoni mwaqqfa, il-manager propjetarju għandu jneħħih. Jekk script eqdem kiteb mill-ġdid fajl tar-resolver globali, fittex minflok il-pass tar-restawr dokumentat ta' dak l-iskript.
Irkupra mingħajr ma tisraq link ieħor
Meta s-settings għal kull konnessjoni huma tiegħek biex tmexxihom, resolvectl revert jieħu l-isem tal-link u jnaddaf il-konfigurazzjoni DNS tal-ħin tat-tħaddim għal dik l-interface. Hija azzjoni tal-ħin tat-tħaddim u mhux editjar tal-profil, għalhekk il-konfigurazzjoni persistenti tal-konnessjoni tibqa' mhux mittiefsa. Semmi l-link żbaljat u tnaddaf id-DNS ta' mina li taħdem, għalhekk l-isem jiġi mill-output tal-istat.
Ikkonferma li /etc/resolv.conf hija link simboliku mmaniġġjat qabel ma teditjaha, imbagħad waqqaf il-klijent normalment darba oħra u ħares lejn id-DNS mill-ġdid. Jekk it-tieni waqfien inaddaf, il-problema preċedenti kienet il-ħruġ sfurzat mhux il-konfigurazzjoni.