pull-filter ya OpenVPN inalingana na zaidi ya njia uliyokusudia
pull-filter hulinganisha maandishi yako kama kiambishi awali na chaguo zinazosukumwa, kwa hivyo route pia inakamata route-gateway na route-ipv6. Angalia vitenzi kwanza, kisha njia.
Unaongeza mstari mmoja ili kubaki na njia yako ya msingi ya ndani, na baada ya hapo handaki haifikii tena seva ya DNS ya ndani. Mstari ulikuwa pull-filter ignore "route", ambao haumaanishi "puuza njia hii". Unamaanisha "tupa kila chaguo lililosukumwa ambalo maandishi yake yanaanza na herufi hizo tano", na kwenye seva ya kawaida hiyo inajumuisha route-gateway, route-metric na route-ipv6 pamoja na njia zenyewe. Orodha ya ukaguzi hapa chini ndiyo ninayopitia kabla ya kugusa wasifu ambao mtu mwingine anapaswa kutumia.
Kichujio hufanya kazi tu kwa chaguo zilizosukumwa
pull-filter hufanya kazi tu kwenye mistari ya chaguo ambayo seva hutuma baada ya handaki kuanzishwa, na si kwa kitu kingine chochote. Chaguo zilizoandikwa katika faili yako ya ndani haziathiriwi nayo, na trafiki ya programu pia haithegemei. Ikiwa ulitarajia kuzuia mchakato kutumia handaki, hiki ni chombo kisichofaa kabisa na hakuna mchanganyiko wa vichujio utakao fanya hivyo.
Wigo huo ni muhimu, kwa sababu unamaanisha unaweza kuacha usanidi wa seva bila kugusa na bado ukakataa sehemu yake kwa ndani. Pia ni kikomo kinachofaa kuandikwa kwenye tikiti: kichujio hubadilisha kile mteja huyu anachokubali, si kile seva inachotoa. Haina athari kwa watumiaji wengine wa wasifu huo huo. Pia haiishi wakati unahamia mteja mwingine asiyetekeleza chaguo hilo, jambo ambalo linafaa kujulikana kabla ya kujenga mtiririko wa kazi juu yake.
Thibitisha kile seva inachotuma kweli kabla ya kuandika muundo. Katika kiwango cha juu cha maelezo mteja huchapisha mfuatano wa chaguo zilizosukumwa alioupokea, na hicho ni chanzo pekee cha uaminifu kwa maandishi kamili unayolinganisha nayo:
sudo openvpn --config /etc/openvpn/corp.ovpn --verb 4
sudo grep -n 'pull-filter' /etc/openvpn/corp.ovpn
Soma mstari uliosukumwa kama orodha ya chaguo zilizotenganishwa kwa koma, na uangalie kuwa majina ya chaguo na hoja zake hutenganishwa kwa nafasi. Maandishi ya kichujio chako hulinganishwa na mtiririko huo, ndiyo sababu nafasi ni muhimu sana katika hatua inayofuata.
Ulinganisho ni kiambishi awali, kwa hivyo nafasi huamua kila kitu
Ulinganisho ni kiambishi awali cha mfuatano, si jina la chaguo lililochambuliwa. Kwa hivyo "route" inalingana na route-gateway 10.8.0.1, route-ipv6 2001:db8::/32 na route-metric 100. Nafasi moja mwishoni huiweka ndani ya familia uliyokusudia, na kiambishi kamili huiweka zaidi kwa lengo maalum.
| Filter text | What it actually matches | Typical outcome |
|---|---|---|
"route" | Every option beginning with those letters | Routes, gateway, metric and IPv6 routes all dropped |
"route " | Route entries only, not the hyphenated siblings | The routes go, the rest survives |
"route 10.60." | A single destination range | The narrowest rule, and the easiest to audit |
"dhcp-option DNS" | Pushed DNS settings | Resolver stays local, internal names stop resolving |
Mstari wa mwisho ndio unaowakamata watu wakati wa kazi ya handaki iliyogawanywa. Kuweka resolver yako mwenyewe ni chaguo halali, na inamaanisha kila jina la ndani sasa linategemea resolver isiyoweza kuona eneo la faragha. Hiyo ni matokeo yanayokubaliwa kwa makusudi, si athari ya pembeni inayogunduliwa kwenye uzalishaji.
Ulinganisho wa kiambishi awali pia unamaanisha kuwa sheria inaweza kupanuka baadaye kimya kimya. Seva inapoongeza chaguo jipya linaloanza na maandishi yako, kichujio chako huanza kutumika kwa hilo bila mtu yeyote kuhariri wasifu wako. Hiyo ndiyo hali ya kushindwa inayopaswa kubuniwa dhidi yake, na upunguzaji ni kulinganisha sehemu kubwa zaidi ya chaguo, si ndogo zaidi.
Vitenzi vitatu vyenye matokeo matatu tofauti
accept, ignore na reject si tahajia tatu za wazo moja. Zinatofautiana kwa kile mteja hufanya na ulinganifu na kama mtu yeyote atajua.
ignore hutupa chaguo linalolingana kimya kimya, ambayo ndiyo unayotaka kwa mpangilio ulioubadiilisha kwa makusudi. reject hutupa na kumfanya mteja alalamike, ambayo ndiyo unayotaka wakati kutokuwepo kwake kunapaswa kuonekana kwenye kumbukumbu badala ya kugunduliwa baadaye. accept ni umbo chanya, hutumika unapojenga orodha ya ruhusa badala ya kuondoa chaguo mmoja mmoja.
Kitenzi chochote unachotumia, vichujio hutumika kwa mpangilio vinavyoonekana, kwa hivyo sheria mbili zinazoingiliana hutoa matokeo yanayotegemea mpangilio na ni vigumu sana kukagua. Shikilia sheria moja kwa kila kusudi na uweke maandishi mahususi zaidi katika kila moja. Ikiwa unahitaji orodha ya ruhusa, pendelea sheria chache za accept badala ya rundo la sheria za ignore zinazojumlisha kitu kimoja. Ndipo wakaguzi wanaweza kusoma faili kutoka juu hadi chini na kutabiri matokeo, na hicho ni jaribio pekee linaloweza kukua.
Thibitisha njia na resolver zilizotumika, si wasifu
Kichujio kinachoonekana sawa kwenye faili bado kinaweza kukuacha na handaki lisiloelekeza kitu chochote cha manufaa. Thibitisha athari kwenye mfumo unaoendesha, ambapo chaguo zilizosukumwa tayari zimetumika au zimetupwa:
ip route show default
ip route show | grep -c 'proto static'
resolvectl status | grep -A4 'Link.*tun0'
curl -sS -o /dev/null -w '%{http_code}\n' --max-time 5 https://intranet.example.internal/
Mistari miwili ya kwanza inakuambia kama njia ya msingi iliyosukumwa imefika na ni maingizo mangapi tuli yaliyobaki. Swali la resolver linaonyesha seva ipi kiolesura cha handaki kinatumia kweli, na kwa kawaida hapo ndipo mshangao wa DNS unatokea. Mstari wa mwisho unajibu swali pekee lenye maana kwa mtumiaji.
Jaribu pande zote mbili ukiwa hapo. Sheria inayoweka intaneti yako ya ndani ikifanya kazi lakini kuvunja utatuzi wa majina ya ndani kimya kimya hupita ukaguzi wa juu juu na kushindwa kwenye kazi ya kwanza halisi, kwa hivyo jumuisha rasilimali moja ya ndani na tovuti moja ya umma katika jaribio moja.
Andika ubaguzi na mmiliki wake
Kichujio ni ubaguzi kwa muundo wa mwendeshaji, kwa hivyo kiandike pamoja na sababu na hatua ya ukaguzi. "Hupuuza njia zilizosukumwa ili kubaki na ya msingi ya ndani" inaweza kukaguliwa; mstari mtupu kwenye wasifu hauwezi, na mtu anayefuata ataufuta au kuupanua kwa kubahatisha.
Toleo pia ni muhimu hapa. Tabia ya ulinganisho na sintaksia kamili inayokubalika ziliboreshwa katika OpenVPN 2.4, 2.5 na 2.6, kwa hivyo thibitisha muundo kwa mwongozo wa toleo unalosambaza na si kwa chapisho la jukwaa kuhusu toleo la zamani. Mwongozo wa OpenVPN 2.6 unaandika chaguo hili na sheria yake ya ulinganisho.
Mwishowe, kubaliana kuhusu ubaguzi na anayeendesha seva. Kichujio cha upande wa mteja kinachopingana na sera ya seva iliyokusudiwa ni tukio la usaidizi linalosubiri ukaguzi ujao, na ni rahisi zaidi kulimaliza kabla ya wasifu kusambazwa kuliko baada ya mtu kugundua kuwa njia hazipo.