VPN-gátt á Raspberry Pi: eitt netkort eða sérstök biðlarahöfn
Ein Pi-höfn getur þjónað völdum biðlurum, eða önnur höfn getur lokað tækjunum inni. Veldu uppsetningu eftir einangrun, varastefnu og því hver á DNS.
Þú hefur eitt Pi, eitt virkt útleiðar VPN-snið og tvö tæki sem ættu að ná internetinu í gegnum það. Spurningin sem ræður allri smíðinni er ekki hvaða leiðarvísi á að fylgja, heldur hversu mikillar einangrunar þú þarft. Ein höfn lætur Pi standa við hlið þessara tækja á LAN beinisins og starfa sem viðbótargátt; önnur höfn lætur þig setja þau á hluta þar sem Pi er eina leiðin út. Allt sem kemur eftir því vali — DHCP, umfang eldveggsins, DNS, bilanatilfellið — leiðir af því.
Hvað greinir uppsetningarnar tvær í raun
Báðar hannanir beina pakkaleiðum. Munurinn er hver annar stendur á kaplinum og hvað gerist þegar stefnan þín er röng.
| Layout A: Pi on the ISP LAN | Layout B: dedicated client port | |
|---|---|---|
| Cabling | One Ethernet port, existing switch port | Two interfaces: uplink plus a separate LAN port |
| Can a client bypass the Pi? | Yes, by using the ISP router as its gateway | No, unless the device has another radio or link |
| Who hands out addresses | The ISP router, with a per-client setting or a DHCP option | The Pi, on its own LAN interface only |
| Blast radius of a mistake | Any LAN host, if a rule is too broad | The attached segment |
| Good fit for | One laptop, a console, a temporary test client | Appliances, always-on boxes, untrusted devices |
Einangrun er hinn raunverulegi ás. Uppsetning A er ráðgefandi: tæki sem hunsar gáttina frá DHCP og velur beininn virkar enn, en ódulkóðað. Uppsetning B er þvinguð af netlögun, því engin önnur næsta stökk er til að velja.
Uppsetning A: Pi sem viðbótargátt á núverandi LAN
Gerum ráð fyrir að beinir ISP sé 192.168.50.1, Pi sé 192.168.50.2 og valdir biðlarar vísi á Pi. Það sem skiptir máli er að tveir ólíkir pakkaflæðir deila einum kapli. Innri pakki biðlarans kemur að Pi og verður að fara út um göngin; eigin dulkóðaði pakki Pi til VPN-félaga verður að fara út um sama kapal til beinisins. Þeir ferðast í gagnstæðar áttir um sama viðmót og þurfa mismunandi meðferð.
Gefðu Pi heimilisfangið sitt í gegnum uppsetta netstjórann en ekki gamalt viðmótaskráaruppskrift sem berst við hann um tækið. Stilltu síðan biðlarana: kyrrstæða gátt á einu tæki, eða DHCP-frátekt sem gefur 192.168.50.2 sem beini. Ekki breyta öllu DHCP-sviði beinisins vegna tveggja tækja, og ekki gera ráð fyrir að biðlari virði valkostinn — staðfestu það.
Veikleikinn er byggingarlegur en ekki viðgerðarhæfur. Hver biðlari á þeim hluta getur vísað á 192.168.50.1 og farið út ódulkóðaður, og tæki með annað viðmót eða farsímaradio yfirgefur framfylgdarleið þína algjörlega. Ef þessi setning er óviðunandi fyrir viðkomandi tæki hefurðu þegar svarið: notaðu uppsetningu B.
Uppsetning B: sérstök höfn lokar tækjunum inni
Hér heldur Pi 192.168.50.2 á uppstreymistenginu með gátt 192.168.50.1, og tekur 10.20.0.1/24 á öðru viðmóti fyrir tengd tæki. Pi er nú beinir með tvö net, og tengdi hlutinn hefur nákvæmlega eina útleið.
Athugaðu sviðið gegn öllu öðru áður en þú skuldbindur þig: eigið undirnet göngunnar, aðrar forskeytur milli staða og allt sem næst í gegnum VPN. 10.20.0.0/24 sem rekst á fjarlægt LAN gefur þá hálfvirknu niðurstöðu sem tekur heilt kvöld að greina. Ef önnur höfnin er USB-millistykki skaltu staðfesta að það sé stutt og festa nafn þess í netstjóranum svo endurröðun eftir endurræsingu færi ekki LAN-heimilisfangið þitt.
Keyrðu DHCP-hlustaraninn aðeins á því viðmóti. Þjónn sem svarar á uppstreymistenginu keppir við beini ISP og gefur heimilisföng hluta þíns til restarinnar af húsinu. Bindu hann við LAN-viðmótið, takmarkaðu hann við tilkynnta sviðið og haltu eigin heimilisfangi Pi utan laugarinnar.
Framsending, þýðing og reglan um lokun við bilun
Fjórir hlutir eru oft lýstir sem einum og eru það ekki. Að kveikja á framsendingu (net.ipv4.ip_forward=1) segir kjarnanum aðeins að hann megi færa pakka milli viðmóta; það leyfir ekkert eitt sér og ábyrgist enga leið. Að velja útleiðina er ákvörðun um beiningu. Að leyfa pakkann er stefnuákvörðun í forward-keðjunni. Að endurskrifa uppruna hans er postrouting-ákvörðun. Smíði sem gerir aðeins hið fyrra gefur Pi sem sendir glaðlega biðlaraliðsemi út um uppstreymistengið.
Takmarkaðu leyfið við upprunana sem þú áttir við og viðmótið sem liðsemin á að nota, og hafðu með afturleiðina og eigin nauðsynleg áfangastaði Pi. Þýddu síðan á útleið ganganna ef veitandinn beinir LAN-forskeytunni þinni ekki til baka til þín. nftables-leiðarvísirinn meðhöndlar framsendingu, staðbundna úttak og uppruniþýðingu sem aðskildar aðgerðir, sem er rétta hugsanamódelið hér.
Algeng bilun er breið masquerade-regla á líkamlega viðmótinu. Þá nær liðsemin internetinu um ISP-leiðina á meðan hún lítur frá biðlarahlið nákvæmlega út eins og virkt VPN. Það sannar ekkert. Haltu þýðingunni bundinni við tilkynntu útleiðina og haltu reglum þínum í eldveggnum sem hýsillinn notar nú þegar, í stað þess að bæta við keppinautarreglusetti sem tæmir sameiginlega postrouting-keðju.
Takastu síðan á við fjarveru ganganna. Biðlarasnið sem setur upp breiða sjálfgefna leið þýðir líka að þegar göngin falla getur venjulega sjálfgefna leiðin komið aftur og biðlaraliðsemi fer hljóðlega aftur á uppstreymistengið. Þar sem afturhvarf til skýrs texta er ekki viðunandi, verður forward-stefnan að synja liðsemi frá biðlara til uppstreymistengis með skýrum hætti, í því ástandi þar sem VPN-leiðin er horfin. Skrifaðu það sem synjunarreglu, ekki sem forsendu. Eigin dulkóðuð flutningur Pi til VPN-félaga er aðskilið local-output-flæði og verður að vera leyfður, annars geta göngin aldrei komið aftur.
DNS og IPv6 þurfa eigið svar
Ef biðlarar nota Pi sem leysir ná þeir í staðbundinn hlustara og Pi hefur frumkvæði að nýrri fyrirspurn. Sú uppstreymisfyrirspurn fylgir eigin leið Pi, ekki forward-reglunni sem þú skrifaðir fyrir biðlara, þannig að biðlaraleið aðeins um göngin ásamt leysi sem fer beint út er leki án nokkurrar villuskilaboða. Ákveddu viljandi: leysir sem næst í gegnum göngin, eða staðbundinn sem þú samþykkir sem beinan, og láttu eigin úttaksstefnu Pi passa við þá ákvörðun.
IPv6 er aftur sérstakt tilfelli. Forward-regla fyrir IPv4 takmarkar ekkert varðandi IPv6, og beinaskýrslur á uppstreymistenginu geta gefið Pi, og í gegnum það tengda hlutanum, aðra sjálfgefna leið sem fer fram hjá stefnu þinni. Annaðhvort gefðu IPv6 eigin varða leið á sama grundvelli, eða takmarkaðu það skýrt á biðlarahlutanum og segðu það.
Prófaðu mörkin áður en þú treystir þeim
Samþykktu hönnunina aðeins eftir fjórar aðskildar athuganir, því freistandi eina prófið — að opna vafra á einum biðlara — stenst í nokkrum brostnum ástandi.
Staðfestu að einn raunverulegur biðlari nái internetinu um göngin, staðfestu síðan að sami biðlari nái ekki internetinu þegar göngin eru niðri. Staðfestu að DNS-upplausn virki og að fyrirspurnin fari út þangað sem þú ætlaðir. Staðfestu að eigin flutningur Pi virki enn eftir endurræsingu ganganna og að endurheimt krefjist ekki endurræsingar vélarinnar. Að lokum skaltu athuga tæki sem þú valdir ekki: í uppsetningu A ætti það að halda áfram eðlilega og í uppsetningu B ætti það alls ekki að vera til á þeim hluta.
- Tvær hafnir og synjunarregla gefa framfylgd; ein höfn og DHCP-valkostur gefa ráð.
- Þýðing á röngu viðmóti lítur út eins og árangur og er það ekki.
- Eigin liðsemi Pi, DNS og IPv6 þurfa hvert ákvörðun, ekki ályktun.