Nagsisimula ang serbisyo, kumokonekta ang isang kliyente, at walang ruta na kailanman lumilitaw sa panig ng server. O tumatanggi ang daemon na magsimula at itinuturo ang isang utos na hindi nito naisakatuparan. Parehong kinalabasan ay sumusunod sa parehong tatlong linya, na kadalasang kinokopya nang sama-sama mula sa gabay sa pagpapatibay: lumipat sa account na walang pribilehiyo, bitawan ang grupo, at baguhin ang ugat ng sistema ng file. Isa lang sa tatlo ang nagtatago ng mga file, at isa lang sa kanila ang nag-aalis ng pribilehiyong baguhin ang talahanayan ng pagruruta. Ang paghihiwalay sa kanila ang paraan para malaman mo kung aling linya ang talagang gusto mo.

Ano ang inaalis ng piitan na kailangan pa ng daemon

Ang pagbabago ng ugat ay nangyayari pagkatapos ng pagsisimula, kaya pinapanatili ng daemon ang lahat ng nabuksan na nito at nawawala ang lahat ng bubuksan pa nito. Anumang katulong na pinapatakbo ng koneksyon pagkatapos ng puntong iyon ay dapat umiiral sa loob ng bagong ugat, kasama ang mga ibinabahaging aklatan na ikinakarga nito. Ang piitang itinayo mula sa isang file ng pagsasaayos at isang sertipiko ay wala ang dalawa.

Ang paglipat sa account na walang pribilehiyo ay hiwalay na paghihigpit. Ang isang prosesong sumuko na sa root ay maaaring hindi makapagbago ng mga ruta o makapagtaas ng interface kahit naroon mismo ang binary, kaya ang dalawang kabiguan ay dapat suriin nang hiwalay.

Tatlong kondisyon ang nagtatakda kung aling pag-aayos ang kailangan mo

Ang unang kondisyon ay kung paano inilalagay ng iyong build ang mga ruta. Ang mga bagong OpenVPN release ay nagsasaayos ng interface at talahanayan ng pagruruta sa loob ng proseso, habang ang mas lumang mga pakete at pasadyang setup ay umaasa sa mga panlabas na kasangkapan o sa mga script na up at down. Kung pinangalanan ng log ang isang utos, may panlabas na kasangkapan na sangkot at itinatago ito ng piitan. Kung ang log ay nagpapakita ng error sa pahintulot sa halip, ang account ang problema.

Ang pangalawa ay pagpapanatili. Ang piitang may kinopyang mga binary ay dapat sariwain tuwing ina-upgrade ang paketeng nagbibigay ng mga ito, kung hindi ay mag-iiwan ng sirang tunnel ang unang upgrade. Ang pangatlo ay kung ang isang partikular na kontrol ay talagang nangangailangan ng chroot; kung ang pangangailangan ay tungkol sa paghihiwalay ng pribilehiyo, maaaring sapat na ang pagbabago ng account.

Signal in the logOther side of the boundaryRepair direction
Command not found after startupBinary and its libraries absent inside the new rootPopulate the jail, or drop the chroot line
Operation not permittedAccount lost the privilege to edit routesKeep the account privileged, or pre-create routes elsewhere
No such deviceJail lacks the tun device nodeCreate the node inside, or open it before the root change

Ano ang dapat taglayin ng gumaganang piitan

Ang piitang nagpapatakbo ng mga utos ay nangangailangan ng binary, bawat aklatang konektado nito, at anumang node ng device na huling binubuksan ng daemon. Kopyahin ang mga bahagi at subukan ang mga ito nang walang VPN sa larawan:

ldd /usr/sbin/ip
chroot /etc/openvpn/jail /sbin/ip route show
chroot /etc/openvpn/jail /sbin/ip link set tun0 up

Inililista ng unang utos ang mga dependency, at iyon ang nilalaktawan ng mga tao. Ang kinopyang binary na hindi makahanap ng aklatan ay nabigo sa ibang mensahe kaysa sa nawawalang binary, at pareho silang mukhang sira ng OpenVPN kapag binabasa mula sa panig ng kliyente. Ang pagpapatakbo ng utos sa kamay sa loob ng piitan ay nagpaparami ng kabiguan nang hindi nire-restart ang serbisyo.

Kopyahin din ang pagsasaayos, mga sertipiko, at anumang CRL sa piitan, dahil ang file na inaasahang babasahin muli ng daemon pagkatapos ng pagsisimula ay hindi makikita kapag nagbago ang ugat. Itala kung ano ang kinopya mo, dahil ang susunod na upgrade ng pakete ng network ay pinapalitan ang mga orihinal at iniiwan ang piitan sa lumang kopya.

Bawasan na lang ang pagpapatibay

Kung ang piitan ay umiiral lamang dahil sinabi ng isang gabay, ang pag-alis ng isang linyang iyon habang pinapanatili ang mga paghihigpit sa account ay isang maipagtatanggol na resulta. Pinapanatili ng daemon ang pananaw nito sa sistema ng file at nawawala ang problema, at inaalis pa rin ng pagbaba ng pribilehiyo ang root mula sa matagal na proseso.

Isulat kung ano ang natitira, at bakit. Ang pagsasaayos na tahimik na nawalan ng kontrol nang walang tala ay ang paraan ng pag-anod ng pagpapatibay, at tatanungin ng susunod na audit kung bakit nawala ang linya.

Hatiin ang tatlong linya bago pumili

Kopyahin ang pagsasaayos, i-disable ang tatlong direktiba, at tiyakin na kumokonekta ang kliyente at lumilitaw ang mga inaasahang ruta. Pagkatapos ay i-enable muli ang mga linya ng account lamang, at pagkatapos ang chroot lang. Ang hakbang kung saan napuputol ang tunnel ang nagtuturo ng hangganan, at iniiwasan mong muling itayo ang piitang hindi kailanman naging sanhi.

Kapag nagruruta na muli, magpatakbo ng isang sesyon ng kliyente na may mas mataas na verbosity at basahin ang linyang nagpangalan sa utos o sa pahintulot na nabigo. Ang linyang iyon ay mas mahalaga kaysa sa timeout na sa huli ay iniuulat ng kliyente.

Kaugnay na mga artikulo