ZeroTier kohalikku võrku: UFW marsruudireeglid, mitte pordi lubamine
Pordi lubamine lüüsil ei ole sama mis edastamine selle taga olevale hostile. Seadistage hallatav marsruut, lubage läbiminek ja valige tagasitee.
Kontori kohalikus võrgus asuva printerini jõudmine ZeroTier liikme kaudu kõlab nagu üks reegel, kuid tegelikult on see kolm otsust kolmes erinevas kohas. Overlay peab teadma, kus kohalik võrk asub, Linuxi host peab olema nõus pakette edastama ja kohalik võrk peab teadma, kuidas vastus tagasi saata. Sissetulev reegel, mis avab lüüsil pordi, ei puuduta neist ühtegi. See on vale tööriist õige hosti jaoks.
Kolm ülesannet, kolm omanikku
Hallatav marsruut kuulub ZeroTier võrgu konfiguratsiooni juurde. See ütleb liikmetele, et eesliide on kättesaadav kindla liikme aadressi kaudu.
Edastamine kuulub Linuxi tuumale ja sellele, kelle käes on selle tulemüüri poliitika. See otsustab, kas overlay võrgus saabuv pakett lahkub uuesti füüsilisest liidesest. Host, mis ei edasta, jätab paketi pärast vastuvõtmist vaikselt kõrvale. Saatja näeb ajalõppu ja teenuse logisse ei ilmu midagi.
Tagasitee kuulub kohalikule võrgule. Selle hostid ja ruuter peavad teadma, et overlay eesliide on kättesaadav teie lüüsi kohaliku võrgu aadressi kaudu, või peab miski liiklust tõlkima, et see küsimus ei tekikski.
Igaüks neist võib olla õige, samal ajal kui teised ebaõnnestuvad, ja seepärast ei tõesta test, mis ainult lüüsi pingib, teenuse kohta selle taga midagi.
Suunake hallatav marsruut liikmele
Lisage marsruut soovitud kohaliku võrgu eesliitele lüüsi overlay aadressi kaudu, mitte selle kohaliku võrgu aadressi kaudu. Overlay aadress on see, kuhu teised liikmed pääsevad; kohaliku võrgu aadressil on tähendus ainult kaablis.
Liikmed peavad hallatavaid marsruute aktsepteerima, et lahendus töötaks, ja nende endi kohalikud võrgud ei tohi juba kasutada eesliidet, mida te kuulutate. Kodune kaug-sülearvuti, mis asub aadressil 192.168.60.0/24, ei saa samuti suunata 192.168.60.0/24 overlay võrgu kaudu.
Hoidke kuulutatud eesliide nii kitsas, kui ülesanne lubab. Suurema agregaadi kuulutamine eelistuse mõjutamiseks võib nõuda ka aadressiruumi, mis ei kuulu teile, ja sellest tulenev konflikt ilmneb seadmetel, mis on ühendatud mõlema võrguga. See võib ka panna liikme eelistama teed, mis ei vii kuhugi. Hoidke marsruut aus ja laske poliitikal ülejäänu teha.
Kirjutage eesliide ja liikme aadress samasse märkmesse nagu tulemüüri reeglid, sest kõige tavalisem rike on vale liikme poole osutav marsruut.
Lubage tuumas läbiminek
Lugege jooksvat edastamisväärtust enne, kui midagi muudate, ja tehke seade seejärel püsivaks mehhanismi kaudu, mida teie süsteem juba kasutab, mitte ühekordse käsuga, mis taaskäivitusel kaob.
Kui poliitika kuulub UFW-le, väljendavad selle marsruudireeglid edastamist allika, sihtkoha ja liidese paari jaoks. Need on eraldi sissetulevatest reeglitest, mis avavad teenuse lüüsil endal:
sysctl net.ipv4.ip_forward
sudo ufw route allow in on zt3f2a1c9d out on eth0 proto tcp to 192.168.60.20 port 443
sudo ufw status verbose
Liidese nimi on selle hosti tegelik overlay seade, mille saate lugeda käsuga ip link; see ei ole kõigis paigaldustes fikseeritud string. Kui host edastab vaikimisi ja UFW ei ole teel, eiratakse marsruudireeglit ja tähtsad on tuuma seaded.
Valige, kuidas vastused tagasi tulevad
Allika säilitamisega näeb kohaliku võrgu teenus tegelikku overlay aadressi ja vastab sellele. See nõuab marsruuti kohaliku võrgu hostis või selle ruuteris, mis suunab overlay eesliite teie lüüsile, ja see on muudatus väljaspool Linuxi masinat.
Kui seda marsruuti ei saa lisada, paneb piiratud allika tõlkimine päringu näima nii, nagu tuleks see kohaliku võrgu lüüsilt. Siis tulevad vastused tagasi kohapeal ja kohaliku võrgu marsruutimist pole vaja muuta, kuid teenuse logides kaob algne allikas.
Piiritle tõlkimine overlay allika ja konkreetse kohaliku võrgu sihtkohaga. Kõige tõlkimine, mis kohaliku võrgu liidesest lahkub, on lai versioon, mis hiljem üllatab igaüht, kes reegleid loeb, ja peidab ka liiklust, mis oleks pidanud blokeeritud olema.
Kumbki valik ei anna soovimata juurdepääsu kohalikust võrgust tagasi suvalistele overlay liikmetele. Kui seda soovitakse, on see eraldi reegel oma ülevaatega.
Testige päris liikmelt
Ühenduge teise liikme kaudu, mitte lüüsilt, ja taotlege üht lubatud teenust. Seejärel proovige teenust, mis peaks suletuks jääma, ja korrake mõlemat testi pärast uuesti ühendamist ja pärast lüüsi taaskäivitamist.
Liige, kes teatab ONLINE, või edukas ping lüüsi overlay aadressile ei valideeri marsruuti, edastamisreeglit ega tagasiteed:
zerotier-cli listnetworks
ip -4 route get 192.168.60.20
sudo ufw status numbered
Teine käsk näitab, millist liidest pakett kohaliku võrgu hosti jaoks kasutaks, ja kolmas näitab, kas marsruudireegel on olemas kujul, mida te kavatsesite. Kui mõlemad näivad õiged ja teenus ikka aegub, on tagasitee järelejäänud kahtlusalune.