VPN Pi me shumë routera: vendos çdo rrugë në pajisjen që vendos
Një router në rrjedhën e poshtme shton një nënrrjetë të dytë klienti, dhe secila nga katër pajisjet zotëron një vendim. Vendos rrugët, kontrollo burimin dhe më pas testojeni nga një klient i vërtetë.
Vendosja e një kutie Wi-Fi pas Pi kthen një vendim rrugëtimi në katër, dhe plani prishet kur të katërt merren në një pajisje të vetme. Pyetja e parë nuk është cila rrugë duhet shtuar. Është nëse kutia e re bën urë apo rrugëton, sepse ajo përgjigje vendos sa nënrrjeta ekzistojnë dhe cilat pajisje duhet të mësojnë për to. Zgjidh së pari modelin e lidhjes; çdo rrugë rrjedh prej tij.
Urë apo rrugëtim: zgjedhja që përcakton numrin
Një urë i vendos klientët e rinj në të njëjtën nënrrjetë që Pi tashmë shërben. Një nënrrjetë, një autoritet DHCP dhe asnjë dorëzim për t'u rrugëtuar. Ky është rregullimi më i thjeshtë dhe i saktë kur një rrjet klienti i veçantë nuk ishte kurrë kërkesë. Një lidhje e rrugëtuar është një dizajn tjetër: kutia mban nënrrjetën e vet, dhe ai parashtesë duhet të bartet kudo ku shkon trafiku.
Pjesa tjetër e planit mban routerin në rrjedhën e poshtme dhe ruan adresat burimore të klientëve. Objektivi është një rrjet privat VPN, jo një dalje e plotë në internet. Shkruaj modelin përpara adresave, sepse lista më poshtë është vetëm një shembull i një lidhjeje të rrugëtuar.
client subnet 10.41.0.0/24
client gateway 10.41.0.1
router-to-Pi link 192.168.71.2
Pi on that link 192.168.71.1
private target 10.72.9.0/24
Kush vendos çfarë
| Decision owner | Entry that encodes the decision | Failure when the entry is missing |
|---|---|---|
| Pi VPN host | Return route for 10.41.0.0/24 via 192.168.71.2, and a tunnel route for 10.72.9.0/24 | Replies to downstream clients die at the Pi |
| Owner of the remote network | A path for 10.41.0.0/24 over the permitted tunnel | Replies stop at the first unaware hop |
| LAN router behind the Pi | Specific route for 10.72.9.0/24 via 192.168.71.1, or a suitable default | Clients never send private traffic to the Pi |
| Client machine | Default via 10.41.0.1, or a specific entry for 10.72.9.0/24 | The private network is unreachable from the client |
Secila pajisje merr një vendim, dhe asnjëra nuk mund të marrë atë të tjetrës në vend të saj. Pi ka nevojë për dy hyrje, jo një, dhe rruga e kthimit është ajo që njerëzit harrojnë. Trafiku i përçuar arrin saktë në rrjetin privat dhe më pas vdes në rrugën e kthimit, sepse Pi nuk e ka idenë ku jeton 10.41.0.0/24. Kjo duket si problem i murit të zjarrit dhe në të vërtetë është një rrugë që mungon.
Edhe ana e largët ka nevojë për rrugën e vet. Nëse shërbimi në skajin e largët nuk e di se 10.41.0.0/24 është i arritshëm përmes tunelit tënd, përgjigjet ndalen në kërcimin e parë pa përgjigje. Shto të dy drejtimet përpara se të lexosh filtrat e paketave.
Kërcimet e radhës vijnë nga lidhja
Kërcimi i radhës duhet të jetë një adresë në një rrjet ku pajisja mund të arrijë vërtet. Adresa publike e partnerit VPN nuk është kërcimi i radhës për një nënrrjetë private, dhe rrjeta e shërbimit të largët nuk është aspak kërcim i radhës. Një rrugë drejt një porte të paarritshme duket e saktë në një listë dhe hedh çdo paketë. Kontrollo nëse porta përgjigjet përpara se të fajësosh destinacionin.
Mbaj partnerin e jashtëm VPN të Pi të arritshëm përmes rrugës së vet të shtresës bazë. Ajo hyrje është e veçantë nga rrugët e ngarkesës, dhe përzierja e tyre jep një tunel që nuk mund të rivendoset pas një ndryshimi rruge.
Dokumentacioni i rrugëve statike e bën të qartë dallimin midis destinacionit dhe portës, edhe pse çdo platformë i emërton menutë e veta ndryshe. Lexo dokumentacionin për pajisjen para teje në vend që të kopjosh ekranin e një shitësi tjetër. Komandat më poshtë tregojnë formën e hyrjeve në Linux.
# on the Pi
ip route add 10.41.0.0/24 via 192.168.71.2
ip route add 10.72.9.0/24 dev tun0
# on the downstream router
ip route add 10.72.9.0/24 via 192.168.71.1
Çfarë bën përkthimi me burimin
Nëse routeri në rrjedhën e poshtme tashmë i përkthen klientët e vet në adresën e tranzitit, Pi sheh një burim të përkthyer në vend të adresës së vet të secilit klient. Ky është një dizajn tjetër nga ai që ruan burimin më sipër. Ndryshon politikën e bazuar në burim, regjistrimin dhe cilën anë mund të nisë lidhjet. Të dy dizajnet funksionojnë; përgjigjen pyetjeve të ndryshme.
Kur një shërbim VPN në rrjedhën e sipërme refuzon të rrugëtojë parashtesën e klientit mbrapsht, një përkthim i ngushtë në daljen e tunelit të Pi mund të jetë një zgjidhje legjitime. Nuk është provë që rruga që mungon ishte e panevojshme. Regjistro cilën adresë rrjeti i largët sheh vërtet dhe çfarë rruge kthimi rezulton.
Zgjedhja e rrugës, leja e përçimit dhe përkthimi i burimit mbeten tre punë të ndara. Zbrazja e një zinxhiri NAT të përbashkët ose lejimi i çdo ndërfaqeje sepse një klient me kabllo funksionon është mënyra se si një test funksional bëhet një përçues i hapur.
Provojeni nga një makinë klienti
Dërgo një kërkesë nga një makinë në LAN-in e poshtëm, më pas ndiq burimin e saj jashtë dhe mbrapsht. Një ping i lëshuar nga Pi nuk ushtron kurrë rrugën e kthimit të poshtme, prandaj një ping i suksesshëm provon më pak sesa duket. Shto një test të dytë nga një klient me kabllo në LAN-in e vetë Pi, që dy rrugët të krahasohen. Përsërit të dyja pas rinisjes së cilësdo pajisje.
Rrugët e shtuara me dorë dhe përkthimet që nuk u ruajtën kurrë zhduken bashkë. Atëherë çifti duket si një defekt i ri, jo si punë e papërfunduar.
Ruaj modelin e lidhjes bashkë me rrugët, shërbimin privat të lejuar dhe çdo përkthim në një shënim të vetëm. Ky shënim është ai që e pengon personin e radhës ta trajtojë vendosjen me valë si çështje të politikës së rrugëtimit.