Wateja wawili wa OpenVPN kwenye lango moja la Linux: gawanya sera
Mifereji yote miwili inaweza kupanda wakati kila mteja anatumia mmoja. Amua kwa chanzo, ipe kila kundi jedwali lake, kisha ruhusu na utafsiri kwenye kifaa kilichochaguliwa.
Daimoni mbili za OpenVPN zinaweza zote kuripoti mfereji uliofanikiwa wakati lango linatuma kila mteja kupitia lile lile. Hakuna kitu katika kupeana mkono kinachoamua ni mfereji upi mteja anatumia; kerneli huamua, pakiti kwa pakiti, ikipitia kanuni za sera na kisha jedwali ambalo kila kanuni inalitaja. Ukiliangalia hivyo, usanidi unaacha kuhusu chaguo za OpenVPN na unakuwa matriki ya uelekezaji yenye wamiliki wawili.
Kerneli huamua, si daimoni
Pakiti inayosambazwa hufika kwenye kiolesura cha LAN na msimbo wa uelekezaji hutathmini orodha ya kanuni kwa mpangilio wa kipaumbele. Kanuni ya kwanza ambayo kichaguzi chake kinalingana hulitaja jedwali, na njia za jedwali hilo huchagua kifaa cha kutoka. Ikiwa jedwali halina njia inayolingana, utafutaji unaendelea hadi kanuni inayofuata, na maelezo hayo ndiyo hufanya usanidi usiokamilika ushindwe kimyakimya badala ya kwa sauti.
Mchakato wa mfereji hauna la kusema katika safari hiyo. Huunda kiolesura na unaweza kufunga njia, lakini ikiwa pakiti ya mteja fulani inaingia kwenye kiolesura hicho inategemea kabisa jedwali ilikotumwa. Kwa hivyo mifereji miwili yenye njia zilizoingizwa sawa hushindana, na wa mwisho kuandika hushinda kwa wote. Ndiyo sababu usanidi unaweza kuonekana wenye usawa katika faili za usanidi na bado ukatuma wateja wote kupitia daimoni moja.
Ipe kila nakala seti yake ya rasilimali
Anza na majina, kwa sababu majina yaliyotumika tena ndiyo njia ambayo nakala mbili huanza kushiriki hali kwa bahati mbaya. Toa vifaa tofauti vya mfereji, faili tofauti za usanidi, vitambulisho tofauti na vitengo tofauti vya huduma. Rekodi kiini cha mwisho cha nje na anwani ya mfereji ya kila nakala katika jedwali lile lile la matriki ya sera, ili mabadiliko ya baadaye yawe na sehemu moja ya kuangalia.
dev tun-office
route-nopull
pull-filter ignore "redirect-gateway"
dev tun-lab
route-nopull
route-nopull huweka njia zinazosukumwa na seva nje ya jedwali la ndani, na ndiyo hasa unayotaka wakati majedwali ya sera yanapaswa kuwa wazi. Ikiwa seva fulani inasukumwa pia chaguo la redirect-gateway, na ikiwa toleo lako la mteja linatumia umbo la kichujio, inafaa kuangalia kwenye mwongozo badala ya kudhani.
Andika matriki: chanzo, jedwali, kifaa
Kwa kila kundi la wateja, ongeza kanuni inayochagua jedwali kwa anwani ya chanzo, kisha weka njia inayokusudiwa kwenye jedwali hilo:
ip rule add from 10.8.1.0/24 lookup 100 priority 1000
ip rule add from 10.9.1.0/24 lookup 200 priority 1000
ip route add default dev tun-office table 100
ip route add default dev tun-lab table 200
Jedwali linahitaji njia za marudio ambazo kundi linapaswa kuwa nazo, pamoja na misamaha yoyote ya ndani au ya usimamizi inayolifanya lango liweze kutumika. Jedwali lenye njia chaguo-msingi pekee ni sera ya mfereji kamili kwa kundi hilo, ambayo inaweza kuwa sahihi kabisa, lakini inapaswa kuwa uamuzi na si kuachwa.
Usafirishaji wa mfereji wenyewe haupo kwenye kundi la wateja
Pakiti zilizosimbwa za kila daimoni huzaliwa kwenye lango lenyewe, zikielekezwa kwa mwenzake wa nje. Kanuni inayolingana tu na kiambishi cha chanzo cha mteja huacha pakiti hizo, ndiyo sababu kanuni zilizowekewa mipaka kwa chanzo ni salama zaidi kuliko kanuni zinazolingana na kila kitu. Kanuni isiyo na kichaguzi inaweza kunasa usafirishaji wa mfereji wenyewe na kuurudisha kupitia mfereji, na hapo muunganisho unashindwa kwa namna inayoonekana kama tatizo la mtoa huduma.
Weka kikao cha usimamizi wa ndani na njia ya tabaka la chini wazi nje ya majedwali ya sera. Andika misamaha hiyo kando ya matriki; ni sehemu ya ubunifu, si suluhisho la muda la kugunduliwa upya wakati wa tukio.
Kuchagua njia hakuiruhusu
Ruhusa ya kusambaza ni uamuzi wa pili unaofanywa baadaye kwenye njia. Kanuni ya ukuta wa moto inayokubali pakiti zinazotoka kupitia mfereji wa pili haifanyi msimbo wa uelekezaji uuchague, na jedwali sahihi halitoi ruhusa ya kusambaza. Vyote viwili lazima viwepo, na jaribio linalothibitisha kimoja pekee litakupotosha kuhusu kingine. Wakati kundi moja linafanya kazi na lingine halifanyi, angalia hatua hizo mbili kwa tofauti badala ya kuandika majedwali upya.
Utafsiri wa chanzo ni uamuzi wa tatu, na unapaswa kuwekewa mipaka kwa kundi la chanzo na kifaa cha mfereji kinachoubeba kwa kweli. Ongeza mnyororo maalum kwa nakala mbili badala ya kumwaga mnyororo wa postrouting, kwa sababu huduma zisizohusiana zinaweza kuwa na maingizo hapo na kumwaga huwafuta kimyakimya.
Nini hutokea mfereji mmoja unaposhindwa
Amua tabia ya kushindwa mapema. Jedwali la mfereji linapopoteza njia yake, utafutaji huanguka hadi kanuni inayofuata, na trafiki ya kundi huendelea kupitia mfereji mwingine au kiungo cha juu cha kawaida bila hitilafu yoyote. Ikiwa hilo halikubaliki, ongeza kanuni ya mwisho yenye namba ya kipaumbele cha chini inayorudisha tokeo lisilofikika kwa chanzo hicho, ili upotevu uonekane badala ya kufyonzwa.
Tuma ombi jipya kutoka kwa kila kundi la chanzo na urekodi mambo manne: jedwali lililochaguliwa, kifaa cha kutoka, chanzo kilichotafsiriwa, na ikiwa jibu lilirudi kwa njia ile ile. Kisha shusha mfereji mmoja na urudie. Vifaa viwili vya TUN kwenye orodha ya violesura vinathibitisha kwamba daimoni zote zilianza; havisemi chochote kuhusu kipi mteja fulani alitumia. Mzunguko wa pili, ukiwa na mfereji mmoja haupo, ndio unaoonyesha ikiwa kanuni yako mbadala inafanya ulichokusudia.