Imate en Pi, en delujoč izhodni profil VPN in dve napravi, ki bi morali priti na internet skozenj. Vprašanje, ki odloči celotno sestavo, ni, katerega vodnika slediti, ampak koliko omejitve potrebujete. Ena vrata pustijo Pi stati ob teh napravah na LAN-u usmerjevalnika in delovati kot dodatna prehodna točka; druga vrata vam omogočijo, da jih postavite v segment, kjer je Pi edini izhod. Vse po tej izbiri — DHCP, obseg požarnega zidu, DNS, primer izpada — izhaja iz nje.

V čem se postavitvi res razlikujeta

Obe zasnovi usmerjata. Razlika je, kdo še stoji na kablu in kaj se zgodi, ko je vaša politika napačna.

Layout A: Pi on the ISP LANLayout B: dedicated client port
CablingOne Ethernet port, existing switch portTwo interfaces: uplink plus a separate LAN port
Can a client bypass the Pi?Yes, by using the ISP router as its gatewayNo, unless the device has another radio or link
Who hands out addressesThe ISP router, with a per-client setting or a DHCP optionThe Pi, on its own LAN interface only
Blast radius of a mistakeAny LAN host, if a rule is too broadThe attached segment
Good fit forOne laptop, a console, a temporary test clientAppliances, always-on boxes, untrusted devices

Omejitev je prava os. Postavitev A je svetovalna: naprava, ki prezre prehod, ki ga je dodelil DHCP, in izbere usmerjevalnik, še vedno deluje, a brez šifriranja. Postavitev B se uveljavi s topologijo, ker ni drugega naslednjega skoka, ki bi ga bilo mogoče izbrati.

Postavitev A: Pi kot dodatna prehodna točka v obstoječem LAN-u

Predpostavimo, da je usmerjevalnik ISP 192.168.50.1, Pi je 192.168.50.2 in izbrani odjemalci kažejo na Pi. Pomembno je, da si dva različna toka paketov delita en kabel. Notranji paket odjemalca pride na Pi in mora oditi skozi tunel; lasten šifriran paket Pi proti partnerju VPN mora oditi po istem kablu proti usmerjevalniku. Potujeta v nasprotnih smereh po istem vmesniku in potrebujeta različno obravnavo.

Dajte Pi njegov naslov prek nameščenega upravitelja omrežja, ne prek starega recepta z vmesniško datoteko, ki se z njim bori za napravo. Nato nastavite odjemalce: statična prehodna točka na eni napravi ali rezervacija DHCP, ki dodeli 192.168.50.2 kot usmerjevalnik. Ne spreminjajte celotnega obsega DHCP usmerjevalnika zaradi dveh naprav in ne predpostavljajte, da odjemalec to možnost spoštuje — preverite.

Šibkost je strukturna in ne popravljiva. Vsak odjemalec v tem segmentu lahko kaže na 192.168.50.1 in odide v odprtem besedilu, naprava z drugim vmesnikom ali mobilnim radiom pa popolnoma zapusti vašo pot uveljavljanja. Če je ta stavek za zadevno napravo nesprejemljiv, imate odgovor že: uporabite postavitev B.

Postavitev B: ločena vrata zaprejo naprave notri

Tu Pi obdrži 192.168.50.2 na navzgornji povezavi s prehodom 192.168.50.1 in na drugem vmesniku prevzame 10.20.0.1/24 za priključene naprave. Pi je zdaj usmerjevalnik z dvema omrežjema, priključeni segment pa ima natanko en izhod.

Preverite obseg proti vsemu drugemu, preden se zavežete: lastno podomrežje tunela, druge medlokacijske predpone in vse, kar je dosegljivo prek VPN. 10.20.0.0/24, ki trči z oddaljenim LAN-om, da tisti napol delujoči rezultat, katerega diagnostika stane cel večer. Če so druga vrata USB vmesnik, potrdite, da je podprt, in ime pritrdite v upravitelju omrežja, da preureditev po ponovnem zagonu ne premakne vašega naslova LAN.

Zaženite poslušalca DHCP samo na tem vmesniku. Strežnik, ki odgovarja na navzgornji povezavi, tekmuje z usmerjevalnikom ISP in dodeljuje naslove vašega segmenta preostanku hiše. Privežite ga na vmesnik LAN, omejite na objavljeni obseg in lastni naslov Pi ohranite zunaj nabora.

Posredovanje, prevajanje in pravilo zaprtja ob okvari

Štiri stvari so pogosto opisane kot ena in niso. Vklop posredovanja (net.ipv4.ip_forward=1) jedru le pove, da sme premikati pakete med vmesniki; samo po sebi ničesar ne dovoli in ne zagotavlja nobene poti. Izbira izhoda je odločitev o usmerjanju. Dovolitev paketa je odločitev o politiki v verigi forward. Prepis njegovega vira je odločitev postrouting. Sestava, ki naredi samo prvo, da Pi, ki veselo posreduje odjemalski promet ven po navzgornji povezavi.

Omejite dovoljenje na vire, ki ste jih imeli v mislih, in na vmesnik, ki naj bi ga promet uporabljal, ter vključite povratno pot in lastne potrebne cilje Pi. Nato prevajajte na izhodu tunela, če ponudnik ne usmerja vaše predpone LAN nazaj k vam. priročnik nftables obravnava posredovanje, lokalni izhod in prevajanje vira kot ločene operacije, kar je tukaj pravi miselni model.

Pogosta okvara je široko pravilo masquerade na fizičnem vmesniku. Takrat promet doseže internet po poti ISP, medtem ko je z vidika odjemalca videti natanko kot delujoč VPN. To ničesar ne dokaže. Držite prevajanje vezano na objavljeni izhod in svoja pravila držite v požarnem zidu, ki ga gostitelj že uporablja, namesto da dodate konkurenčen nabor pravil, ki izprazni skupno verigo postrouting.

Nato se lotite odsotnosti tunela. Profil odjemalca, ki namesti široko privzeto pot, pomeni tudi, da se ob padcu tunela lahko vrne običajna privzeta pot in odjemalski promet se tiho vrne na navzgornjo povezavo. Kjer vrnitev na odprto besedilo ni sprejemljiva, mora politika forward izrecno zavrniti promet od odjemalca proti navzgornji povezavi, v stanju, ko je pot VPN izginila. Zapišite to kot pravilo zavrnitve, ne kot predpostavko. Lasten šifriran prenos Pi do partnerja VPN je ločen tok local-output in mora ostati dovoljen, sicer se tunel ne more nikoli vrniti.

DNS in IPv6 potrebujeta svoj odgovor

Če odjemalci uporabljajo Pi kot razreševalnik, naletijo na lokalnega poslušalca in Pi začne novo poizvedbo. Ta poizvedba navzgor sledi lastni poti Pi, ne pravilu forward, ki ste ga napisali za odjemalce, zato je odjemalska pot le skozi tunel plus razreševalnik, ki izhaja neposredno, uhajanje brez kakršnegakoli sporočila o napaki. Odločite se zavestno: razreševalnik, dosegljiv skozi tunel, ali lokalni, ki ga sprejmete kot neposrednega, in uskladite lastno izhodno politiko Pi s to odločitvijo.

IPv6 je spet ločen primer. Pravilo forward za IPv4 ničesar ne omejuje glede IPv6, objave usmerjevalnika na navzgornji povezavi pa lahko Pi in prek njega priključenemu segmentu dajo drugo privzeto pot, ki obide vašo politiko. Bodisi dajte IPv6 lastno zaščiteno pot po istem načelu, bodisi ga izrecno omejite na odjemalskem segmentu in to povejte.

Preizkusite mejo, preden ji zaupate

Sprejmite zasnovo šele po štirih ločenih preverjanjih, ker vabljiv posamezni preizkus — odpreti brskalnik na enem odjemalcu — uspe v več pokvarjenih stanjih.

Potrdite, da en resničen odjemalec doseže internet skozi tunel, nato potrdite, da isti odjemalec ne doseže interneta, ko je tunel spuščen. Potrdite, da razreševanje DNS deluje in da poizvedba odide tja, kamor ste nameravali. Potrdite, da lasten prenos Pi po ponovnem zagonu tunela še deluje in da obnovitev ne zahteva ponovnega zagona stroja. Nazadnje preverite napravo, ki je niste izbrali: v postavitvi A naj bi normalno delovala naprej, v postavitvi B pa je v tem segmentu ne bi smelo biti sploh.

  • Dvoje vrat in pravilo zavrnitve dajeta uveljavljanje; ena vrata in možnost DHCP dajeta nasvet.
  • Prevajanje na napačnem vmesniku je videti kot uspeh in ni.
  • Lasten promet Pi, DNS in IPv6 vsak potrebuje odločitev, ne sklep.

Sorodni članki