Wi-Fi dėžutės pastatymas už Pi vieną maršrutizavimo sprendimą paverčia keturiais, o planas sugriūva, kai visi keturi priimami viename įrenginyje. Pirmas klausimas ne kurį maršrutą pridėti. O ar nauja dėžutė jungia tiltu, ar maršrutizuoja, nes tas atsakymas nusprendžia, kiek potinklių yra ir kurie įrenginiai turi apie juos sužinoti. Pirmiausia pasirinkite prisijungimo modelį; kiekvienas maršrutas kyla iš jo.

Tiltas ar maršrutizavimas: pasirinkimas, kuris nustato skaičių

Tiltas naujus klientus padeda į tą patį potinklį, kurį Pi jau aptarnauja. Vienas potinklis, viena DHCP valdžia ir jokio perdavimo maršrutizuoti. Tai paprastesnė tvarka ir teisinga, kai atskiras klientų tinklas niekada nebuvo reikalavimas. Maršrutizuota jungtis yra kitokia konstrukcija: dėžutė išlaiko savo potinklį, ir tas priešdėlis turi būti nešamas visur, kur eina srautas.

Likusi plano dalis išlaiko pasroviui esantį maršrutizatorių ir saugo klientų šaltinio adresus. Tikslas yra vienas privatus VPN tinklas, o ne pilnas interneto išėjimas. Užrašykite modelį prieš adresus, nes žemiau esantis sąrašas tėra maršrutizuotos jungties pavyzdys.

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

Kas ką nusprendžia

Decision ownerEntry that encodes the decisionFailure when the entry is missing
Pi VPN hostReturn route for 10.41.0.0/24 via 192.168.71.2, and a tunnel route for 10.72.9.0/24Replies to downstream clients die at the Pi
Owner of the remote networkA path for 10.41.0.0/24 over the permitted tunnelReplies stop at the first unaware hop
LAN router behind the PiSpecific route for 10.72.9.0/24 via 192.168.71.1, or a suitable defaultClients never send private traffic to the Pi
Client machineDefault via 10.41.0.1, or a specific entry for 10.72.9.0/24The private network is unreachable from the client

Kiekvienas įrenginys priima vieną sprendimą, ir nė vienas negali priimti kito sprendimo už jį. Pi reikia dviejų įrašų, ne vieno, o grįžimo kelias yra tas, kurį žmonės pamiršta. Persiųstas srautas teisingai pasiekia privatų tinklą ir tada miršta kelyje atgal, nes Pi neturi supratimo, kur gyvena 10.41.0.0/24. Tai atrodo kaip ugniasienės problema ir iš tikrųjų yra trūkstamas maršrutas.

Tolimajai pusei taip pat reikia savo maršruto. Jei paslauga tolimajame gale nežino, kad 10.41.0.0/24 pasiekiamas per jūsų tunelį, atsakymai sustoja pirmame šuolyje, kuris neturi atsakymo. Pridėkite abi kryptis prieš skaitydami paketų filtrus.

Kiti šuoliai ateina iš prisijungimo

Kitas šuolis turi būti adresas tinkle, kurį įrenginys tikrai gali pasiekti. VPN partnerio viešas adresas nėra kitas šuolis privačiam potinkliui, o tolimas paslaugų tinklas visai nėra kitas šuolis. Maršrutas į nepasiekiamą šliuzą sąraše atrodo teisingai ir numeta kiekvieną paketą. Patikrinkite, ar šliuzas atsako, prieš kaltindami paskirties vietą.

Laikykite išorinį Pi VPN partnerį pasiekiamą per jo paties pagrindinį maršrutą. Tas įrašas yra atskiras nuo naudingosios apkrovos maršrutų, o juos sumaišius gaunamas tunelis, kuris po kelio pakeitimo negali vėl susikurti.

Statinio maršrutizavimo dokumentacija paaiškina skirtumą tarp paskirties ir šliuzo, nors kiekviena platforma savo meniu vadina skirtingai. Skaitykite dokumentaciją įrenginio, kuris priešais jus, o ne kopijuokite kito gamintojo ekraną. Žemiau pateiktos komandos rodo įrašų formą Linux sistemoje.

# 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

Ką vertimas daro šaltiniui

Jei pasroviui esantis maršrutizatorius jau verčia savo klientus į tranzito adresą, Pi mato vieną išverstą šaltinį, o ne kiekvieno kliento nuosavą adresą. Tai kitokia konstrukcija nei aukščiau esanti, išsauganti šaltinį. Ji keičia šaltiniu pagrįstą politiką, registravimą ir tai, kuri pusė gali inicijuoti ryšius. Abi konstrukcijos veikia; jos atsako į skirtingus klausimus.

Kai aukštesnė VPN paslauga atsisako maršrutizuoti kliento priešdėlį atgal, siauras vertimas Pi tunelio išėjime gali būti teisėtas laikinas sprendimas. Tai neįrodo, kad trūkstamas maršrutas buvo nereikalingas. Užrašykite, kokį adresą tolimas tinklas iš tikrųjų mato ir koks grįžimo kelias gaunamas.

Maršruto pasirinkimas, persiuntimo leidimas ir šaltinio vertimas lieka trys atskiri darbai. Išvalyti bendrą NAT grandinę ar leisti kiekvieną sąsają todėl, kad vienas laidinis klientas veikia, yra būdas, kuriuo veikiantis testas tampa atviru persiuntėju.

Įrodykite tai iš kliento mašinos

Siųskite užklausą iš mašinos pasroviui esančiame LAN, tada sekite jos šaltinį lauk ir atgal. Pi siunčiamas ping niekada neišbando pasroviui esančio grįžimo maršruto, todėl sėkmingas ping įrodo mažiau, nei atrodo. Pridėkite antrą testą iš laidinio kliento Pi nuosavame LAN, kad būtų galima palyginti du kelius. Pakartokite abu po bet kurio įrenginio perkrovimo.

Rankiniu būdu pridėti maršrutai ir niekada neišsaugoti vertimai dingsta kartu. Tada pora atrodo kaip naujas gedimas, o ne nebaigtas darbas.

Išsaugokite prisijungimo modelį kartu su maršrutais, leidžiama privata paslauga ir bet kokiu vertimu vienoje pastaboje. Būtent ta pastaba neleidžia kitam žmogui belaidžio išdėstymo laikyti maršrutizavimo politikos klausimu.

Susiję straipsniai