Ħalli klijent OpenVPN wieħed jagħmel SSH ma' ieħor mingħajr ma tiftaħ il-pool
Ħalli client-to-client mitfi, ħalli l-kernel jgħaddi fluss wieħed, u ħalli l-bqija tal-pool magħluq. Żewġ regoli fuq is-server u waħda fid-destinazzjoni.
Klijent wieħed irid jilħaq is-servizz SSH ta' klijent ieħor, u l-bqija tal-pool għandu jibqa' iżolat bħal llum. Is-swiċċ li jġiegħel huwa client-to-client, li jixgħel l-aċċess bejn il-pari għal kulħadd f'daqqa u jagħti d-deċiżjoni lil OpenVPN minflok lill-kernel. Tweġiba idjaq iżżomm dak is-swiċċ mitfi u tħalli r-rotot u l-firewall tas-server stess iġorru fluss wieħed biss.
Il-mekkaniżmu jagħmel aktar differenza mit-test tar-regola, għax iż-żewġ metodi jqiegħdu l-pakkett f'postijiet differenti. Li tkun taf liema għażilt jispjega kemm ir-regola li tidher li ma tagħmel xejn kif ukoll il-pari li jikkonnettja mingħajrha.
Fejn client-to-client iċaqlaq il-pakkett
B'client-to-client mixgħul, is-server jgħaddi pakkett tal-pari internament minflok ma jibgħatu lura barra mill-apparat tat-tunnel, u għalhekk il-pakkett qatt ma jasal għall-passaġġ ta' trażmissjoni tal-kernel. Dan huwa komdu u jfisser ukoll li l-firewall tiegħek qatt ma jara l-fluss li suppost jissorvelja. Ħalli l-għażla mitfija u s-server jgħaddi l-pakkett lura barra mill-istess interface, li jqiegħdu quddiem netfilter. L-istess interface tidħol, l-istess waħda toħroġ, u l-katina FORWARD tieħu l-vot.
L-iskambju huwa ċar: tikseb punt ta' politika u tieħu fuqek ix-xogħol ta' rotot u trażmissjoni li kienet tagħmel is-shortcut għalik. Dak ix-xogħol huwa żgħir għal fluss wieħed u jikber ma' kull eċċezzjoni li żżid. Għodd l-eċċezzjonijiet issa, għax fis-sett tar-regoli tgħix tassew il-politika bejn il-pari.
Il-passaġġ li tassew jieħu pakkett tal-pari
Assumi servizz Linux Community OpenVPN 2.6, ipproċessar TUN fl-ispazju tal-utent minflok DCO, topoloġija tas-subnet, tun0, u pool ta' 10.44.0.0/24 bil-klijent A fuq 10.44.0.21 u l-klijent B fuq 10.44.0.37. Bit-topoloġija tas-subnet l-indirizz u l-maskra li rċieva A diġà jkopru l-pool, u għalhekk A jibgħat il-pakkett lill-apparat tat-tunnel mingħajr ma jkollu bżonn rotta mbuttata oħra. Iċċekkja r-rotta effettiva fuq A minflok ma tassumi waħda.
Fuq is-server il-pakkett jasal indirizzat lil B, li mhuwiex indirizz lokali, u għalhekk jiġi mgħoddi. It-trażmissjoni IPv4 trid tkun mixgħula biex dan iseħħ xejn, u t-tiftix tar-rotta jrid jibgħat il-pakkett lura barra minn tun0. Għalhekk il-firewall jara fluss mgħoddi bl-istess interface fuq iż-żewġ naħat, u dan huwa d-dettall li jitilfu ħafna mis-settijiet tar-regoli. Hawn m'hemmx bżonn ta' traduzzjoni tas-sors, u li jinżamm l-indirizz ta' A sħiħ huwa dak li jħalli lil B japplika r-regola tiegħu stess ibbażata fuq is-sors.
Żewġ regoli fuq is-server, f'dan l-ordni
Tliet regoli jġorru l-permess kollu: it-trażmissjoni, l-eċċezzjoni tal-par, u t-twarrib awtomatiku għall-par tat-tunnel. Ir-regola tal-aċċettazzjoni ssemmi l-par u s-servizz, u għalhekk il-permess jibqa' għaddej fuq pool li jikber. Poġġiha qabel kull ċaħda ġenerali għat-traffiku tunnel-għal-tunnel, għax l-ewwel qbil jirbaħ:
sysctl -w net.ipv4.ip_forward=1
iptables -A FORWARD -i tun0 -o tun0 -s 10.44.0.21 -d 10.44.0.37 -p tcp --dport 22 -j ACCEPT
iptables -A FORWARD -i tun0 -o tun0 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i tun0 -o tun0 -j DROPDawk il-kmandi huma illustrattivi u jappartjenu għall-mekkaniżmu li juża l-host tiegħek biex iżomm ir-regoli; inserzjoni waqt il-ħidma tisparixxi fil-boot li jmiss. Ir-regola stateful hija dik li tħalli t-tweġibiet ta' B u l-handshake TCP jerġgħu lura mingħajr tieni aċċettazzjoni mera.
Iċċekkja l-kontaturi wara, mhux il-lista tar-regoli, għax regola li qatt ma taqbel tidher identika għal waħda li taħdem. Jekk il-kontaturi jibqgħu f'żero, il-pakkett mhuwiex miexi fil-passaġġ li taħseb.
X'għad irid jippermetti B
B iħaddem is-servizz SSH, u għalhekk B jiddeċiedi jekk xi ħaġa hijiex qed tisma' fuq l-indirizz tat-tunnel u jekk il-firewall tal-host tiegħu stess jilqax is-sors. Permess tan-netwerk fuq is-server mhuwiex permess għal ebda kont fuq B, u l-verifika tal-muftieħ tal-host u l-awtentikazzjoni tal-utent għadhom japplikaw bħal minn kullimkien ieħor.
Ittestja l-każ pożittiv l-ewwel: konnessjoni SSH ġdida minn A għall-indirizz tat-tunnel ta' B, aċċettata bil-muftieħ tal-host mistenni. Imbagħad ittestja pari ieħor jew port ieħor u kkonferma li jiġi miċħud, għax permess li bil-kwiet jippermetti kollox ma jistax jiġi mifrud minn wieħed li jaħdem sakemm ikun importanti. Iż-żewġ nofsijiet ta' dak it-test huma meħtieġa, u t-tieni hija dik li n-nies iqabżu.
Innota l-indirizzi mogħtija, ir-rotot effettivi fuq iż-żewġ klijenti u r-regoli eżatti fuq is-server u fuq B. Ping li jirnexxi lejn il-gateway jew port miftuħ fuq is-server ma jipprova xejn minn dan, għax it-tnejn jistgħu jkunu veri waqt li t-trażmissjoni bejn il-pari għadha mblukkata. Ikteb dawk in-numri waqt li t-tunnel ikun 'il fuq, għax l-indirizz li jirċievi klijent wara rikonnessjoni jista' jkun ieħor.