Pakiti ya 10.77.20.0/24 inachukua maamuzi mawili tofauti kwenye seva ya OpenVPN: mfumo wa uendeshaji lazima uikabidhi kwenye kiolesura cha VPN, na OpenVPN lazima ijue mteja gani aliyeunganishwa anamiliki kiambishi hicho. Njia ya kernel inayokosekana huiacha kabla ya handaki, na njia ya peer inayokosekana huiacha baada yake. Hitilafu hizo mbili zinaonekana sawa kutoka LAN ya mbali, na kutambua ipi unayo inahitaji amri moja kwa kila upande.

Katika njia ya data ya kawaida ya nafasi ya mtumiaji, njia ya kernel huleta pakiti kwenye mchakato wa handaki, na iroute humwambia mchakato huo peer gani anapaswa kuipokea. Hakuna inayobadilisha nyingine, na usanidi ulio na moja tu kati yao utaonekana kuwa sawa hadi ping ya kwanza.

Maamuzi mawili, si njia moja

Fikiria kiungo kati ya maeneo ambapo 10.77.20.0/24 iko nyuma ya mteja mmoja. Njia ya kernel ya seva, kwa mfano ip route add 10.77.20.0/24 dev tun0, hutuma pakiti zinazolingana kwenye kifaa cha handaki. Kisha OpenVPN hushauriana na jedwali lake la ndani, lililojengwa kutoka maingizo ya iroute katika saraka ya usanidi ya mteja, ili kuamua muunganisho gani wa peer unaozipokea. Bila njia ya kernel pakiti haifikii mchakato kamwe, na bila njia ya peer inafikia mchakato na haiendi popote.

Mgawanyiko huo ni rahisi kusahau, kwa sababu mstari mmoja wa njia katika wasifu wa mteja unaweza kuonekana kana kwamba unafanya kazi zote mbili. Haufanyi: kusukuma njia huwaambia wateja nini cha kutuma kupitia handaki, wakati iroute humwambia seva nani anamiliki masafa ya anwani nyuma ya mteja. Wanaishi katika faili tofauti, husomwa na pande tofauti, na hushindwa katika mwelekeo kinyume.

iroute iko wapi na inasema nini

Ingizo huenda katika faili ya kila mteja iliyopewa jina la common_name ya mteja, chini ya client-config-dir, kama iroute 10.77.20.0/24. Ulinganisho wa jina la faili si mapambo: OpenVPN hutafuta utambulisho uliothibitishwa na kusoma faili kwa jina hilo hasa, kwa hiyo faili inayoitwa site-a inafanya kazi tu kwa mteja ambaye jina lake la kawaida ni site-a. Ongeza ccd-exclusive ikiwa wateja wasio na faili kama hiyo wanapaswa kukataliwa kabisa, ambayo ni mipangilio sahihi wakati kila mteja ni lango la eneo. Weka faili moja kwa kila lango na uipe jina la somo la cheti unalotoa kwa kweli.

Jaribu ingizo kutoka kwa seva kabla ya kulaumu LAN ya mbali. Faili ya hali huorodhesha wateja waliounganishwa pamoja na majina yao ya kawaida, na seva inayofanya kazi kwa --verb 4 hurekodi usakinishaji wa iroute wakati peer anapounganishwa. Iwapo hakuna kinachoonekana wakati wa muunganisho, faili iko katika saraka isiyo sahihi au inataja utambulisho usio sahihi.

Mtego: faili ipo, utambulisho si sahihi

iroute inayoonekana sawa lakini iliyofungwa kwa peer isiyo sahihi hupoteza muda mwingi kuliko faili inayokosekana, kwa sababu kila kitu kwenye diski kinaonekana sawa. Kubadilisha majina ya vyeti, majina ya kawaida yaliyorudiwa, na username-as-common-name inayobadilisha utambulisho halisi zote huzalisha hilo. Angalia ni utambulisho gani seva ilithibitisha, si ule uliotarajia: matokeo ya hali ndiyo yenye mamlaka, wakati jina la faili ni ufunguo wa utafutaji tu.

Njia inaweza kuishi zaidi ya mmiliki wake. Njia tuli na maingizo ya iroute huelezea kiambishi, si hakikisho la upatikanaji, kwa hiyo trafiki inaweza kuendelea kuelekezwa kwa peer ambaye kwa sasa amekatwa.

Kamilisha njia nyuma ya peer

Umiliki wa peer ni katikati ya njia, si mwisho wake. Mteja lazima apeleke pakiti kutoka handaki kwenda LAN yake, ambayo ina maana upelekaji wa IP umewezeshwa kwenye mwenyeji huyo na kanuni ya firewall inaruhusu kupita. Wenyeji katika LAN ya mbali wanahitaji njia ya kurudi kwa anwani ya handaki: ama njia inayoelekeza tena kwa lango, au muundo wa NAT uliofanywa kwa makusudi upande wa mteja. Thibitisha mipangilio ya upelekaji kwa mteja kwa sysctl net.ipv4.ip_forward badala ya kudhani chaguo-msingi la usambazaji.

Ikiwa wateja wengine wa VPN wanapaswa kufikia subnet hiyo, mpangilio unakua tena: seva inahitaji client-to-client, na wateja hao lazima waelekeze kiambishi kupitia handaki. Hakuna kati ya hayo kunakotokana na jedwali la njia la seva yenyewe.

Thibitisha lengo moja kutoka chanzo halisi badala ya seva yenyewe. Ping kutoka mwenyeji wa LAN asiyehusika hadi mwenyeji nyuma ya mteja hujaribu njia ya kurudi, kanuni ya upelekaji na umiliki wa peer kwa hatua moja, wakati handshake iliyofanikiwa inathibitisha utambulisho pekee. Kisha kata peer mmiliki na uandike kile njia inachofanya, kwa sababu jibu hilo ndilo hali yako ya kushindwa.

Makala zinazohusiana