Pi waħda, żewġ istanzi OpenVPN: x'jaqra kull unità
Żewġ daemons OpenVPN fuq Pi waħda jaqraw fajls ta' konfigurazzjoni differenti u joħorġu minn hooks differenti. Ippjana kull istanza, imbagħad ittestja l-passaġġ tal-payload separatament.
Għodd il-proċessi tal-OpenVPN qabel ma tmiss profil. Pi li tilqa' utenti roaming u fl-istess waqt iċempel servizz upstream tmexxi żewġ daemons, u kull wieħed minnhom jaqra fajl ta' konfigurazzjoni magħżul mill-isem tal-istanza li ktibt. Il-mudelli tal-pakkett imbagħad jagħtu lil kull daemon id-direttorju tax-xogħol tiegħu, il-fajl tal-istat tar-runtime tiegħu u l-apparat tat-tunnel tiegħu. Jekk din id-diviżjoni tkun ħażina, tqatta' lejla tbiddel setting korrett f'fajl li l-proċess li qed jaħdem qatt ma jiftaħ.
Kull isem ta' istanza jagħżel il-fajl tiegħu
Fil-fajls tal-unità li jiġu mal-OpenVPN 2.6, l-argumenti tal-bidu jġorru placeholder tal-istanza li jimtela bit-test wara s-sinjal @. Il-mudell tas-server jaħdem mid-direttorju tal-konfigurazzjoni tas-server u jsolvi l-argument tiegħu kontra %i.conf hemmhekk, filwaqt li l-mudell tal-klijent jagħmel l-istess mid-direttorju tal-klijent. Għalhekk [email protected] jaqra admits.conf fid-direttorju tas-server u [email protected] jaqra uplink.conf fid-direttorju tal-klijent, u ħadd minn dawn l-ismijiet m'għandu xi tifsira fid-direttorju l-ieħor.
Ivverifika l-mapping fuq il-magna minflok ma tassumi li l-pakkett żamm il-valuri default tal-upstream. Drop-in tad-distribuzzjoni jista' jissostitwixxi d-direttorju tax-xogħol jew l-argument tal-konfigurazzjoni għal kollox.
systemctl cat [email protected]
systemctl cat [email protected]Aqra l-linja WorkingDirectory u l-argument tal-konfigurazzjoni f'dak l-output, għax l-unità attivata biss tiddeċiedi liema fajl jitgħabba. Drop-in li jżid --config ma' ExecStart jirbaħ fuq il-mudell anki meta l-passaġġ tal-mudell jidher tajjeb. Itlob il-passaġġi tal-framment u tad-drop-in meta trid tkun taf jekk hemmx override lokali. Jekk iż-żewġ rwoli jsolvu għal fajl wieħed, għandek proċess wieħed li qed jipprova jkun server u klijent flimkien, u l-għażla ta' wara f'dak il-fajl tirbaħ bil-kwiet.
Trasport lokali u payload mgħoddi jaħbtu ma' hooks differenti
Il-konnessjoni kriptata tas-server ma' kull utent roaming tiġi ġġenerata fuq il-Pi stess, għalhekk it-tweġibiet ta' barra tagħha joħorġu mill-hook tal-output lokali. Il-konnessjoni tal-klijent mal-peer upstream tiegħu hija wkoll output iġġenerat lokalment, għalkemm tilħaq netwerk remot. Il-payload li jiġi mgħoddi huwa t-tielet kategorija, u l-kernel iqabblu biss wara li jkun diġà għażel apparat tal-ħruġ għall-pakkett.
| Flow | Hook that sees it | What to inspect |
|---|---|---|
| Roaming user handshakes to the server | Local input and local output | Listener socket, bind address, rule admitting the UDP port |
| User payload leaving through the upstream tunnel | Forward | IPv4 forwarding switch, selected route, permission rule, any translation |
| Pi's own connection to the upstream peer | Local output | Underlay route to the provider endpoint, not the tunnel route |
Regola li taqbel ma' interface tal-ħruġ ġewwa katina forward tista' tippermetti jew twarrab pakkett li r-routing diġà assenja lil dak l-interface, imma qatt ma tagħżel l-interface. Meta host wieħed itemm tunnel u jibda ieħor, il-politika li tibgħat il-payload tal-utenti fit-tunnel upstream u l-politika li tipproteġi t-tweġibiet kriptati tal-Pi stess huma żewġ deċiżjonijiet separati. Huma jiġu każwalment fuq l-istess NIC fiżika, u għalhekk jiġu konfużi.
Dik id-distinzjoni tispjega falliment komuni ta' nofs. L-utenti jikkonnettjaw, il-handshake jitlesta, u xorta t-traffiku tagħhom joħroġ mit-triq ħażina, għax il-handshake kien lokali u l-payload kien forward u wieħed biss miż-żewġ ġie ttestjat.
Rotta importata tista' tibla' t-tweġibiet lill-utenti tiegħek
Is-setting tas-sigurtà tal-profil tal-klijent jiddeċiedi x'jista' l-upstream jimbutta fit-tabella tar-routing tal-Pi, u redirect wiesgħa hija l-għażla li tibdel host b'żewġ rwoli li jaħdem f'wieħed imkisser. Jekk ir-rotta mbuttata tkopri l-indirizzi pubbliċi tal-utenti roaming, it-tweġibiet li s-server jiġġenera lejhom jistgħu jimxu mar-rotta l-ġdida fit-tunnel upstream minflok ma joħorġu mill-underlay. In-nies spiss jivverifikaw li t-tunnel lejn il-fornitur għadu jaħdem u jieqfu hemm, għax dak it-traffiku huwa t-trasport tat-tunnel stess u jibqa' jgħaddi waqt li kollox ieħor iġib ruħu ħażin.
Politika bbażata fuq is-sors jew mark hija l-mod kif iż-żewġ flussi jibqgħu separati. L-għażla mark tal-Linux tal-OpenVPN timmarka l-pakketti kriptati tad-daemon stess b'mark tal-firewall, li regola tar-routing tista' mbagħad tibgħat f'tabella dedikata. L-indirizzi tas-sors jaħdmu wkoll bl-istess mod meta t-tweġibiet ta' barra tas-server dejjem joħorġu minn indirizz underlay wieħed. Iż-żewġ approċċi jeħtieġu rotot validi fit-tabella li jagħżlu u eċċezzjoni għall-endpoint tal-fornitur, inkella t-tunnel innifsu ma jerġax jiġi mgħolli.
Staqsi lill-kernel għall-passaġġ li tweġiba tassew tieħu qabel ma tikteb xi regola. L-indirizzi hawn taħt huma placeholders għal indirizz underlay tal-Pi u għall-indirizz pubbliku ta' utent roaming wieħed.
ip rule show
ip route get 198.51.100.7 from 192.0.2.10Ivverifika d-diviżjoni, imbagħad waqqaf rwol wieħed fi tnejn
Ittestja tliet flussi separatament, għax handshake li jaħdem ma jipprova xejn dwar it-tnejn l-oħra. Aċċetta konnessjoni ġdida li tidħol, ibgħat applikazzjoni waħda permessa mill-ħruġ upstream, u kkonferma li ż-żewġ proċessi għadhom jaslu għall-peers tagħhom.
Imbagħad waqqaf ir-rwol tal-klijent u ara x'jibqa' jżomm ir-rwol tas-server. Dan huwa l-irħas mod biex issib regola tar-rotta jew tal-mark li kienet maħsuba għal istanza waħda u applikata għaż-żewġ.
systemctl stop [email protected]
systemctl status [email protected] --no-pager
ss -lunp | grep openvpn
journalctl -u [email protected] -n 20 --no-pagerDak li trid tara huwa l-listener għadu marbut, l-apparat tat-tunnel għadu preżenti, u l-log ħieles minn żbalji ġodda waqt li r-rwol tal-klijent huwa mitfi. Jekk l-waqfien tal-klijent jaqta' wkoll it-tweġibiet tas-server lill-utenti eżistenti, iż-żewġ rwoli jaqsmu xi ħaġa li kellha tkun limitata għal waħda minnhom. Irreġistra liema istanza, liema fajl ta' konfigurazzjoni u liema sid tal-fluss intlaqtu b'kull bidla, għax inkella l-persuna li jmiss li tiddenbugga dan il-host se terġa' tagħmel l-istess skoperta minn żero.