ZeroTier lähiverkkoon: UFW:n reittisäännöt, ei portin salliminen
Portin salliminen yhdyskäytävällä ei ole sama kuin välittäminen sen takana olevalle isännälle. Aseta hallittu reitti, ota välitys käyttöön ja valitse paluupolku.
Tulostimeen pääseminen toimiston lähiverkossa ZeroTier-jäsenen kautta kuulostaa yhdeltä säännöltä, mutta se on oikeasti kolme päätöstä kolmessa eri paikassa. Overlayn on tiedettävä, missä lähiverkko on, Linux-isännän on oltava valmis välittämään paketteja ja lähiverkon on tiedettävä, miten vastaus lähetetään takaisin. Saapuva sääntö, joka avaa portin yhdyskäytävällä, ei kosketa mitään näistä. Se on väärä työkalu oikealla isännällä.
Kolme työtä, kolme omistajaa
Hallittu reitti kuuluu ZeroTier-verkon kokoonpanoon. Se kertoo jäsenille, että etuliite on tavoitettavissa tietyn jäsenen osoitteen kautta.
Välitys kuuluu Linuxin ytimeen ja sille, joka omistaa sen palomuurikäytännön. Se päättää, lähteekö overlaylla saapuva paketti uudelleen fyysisestä rajapinnasta. Isäntä, joka ei välitä, pudottaa paketin äänettömästi hyväksyttyään sen. Lähettäjä näkee aikakatkaisun, eikä palvelun lokiin ilmesty mitään.
Paluupolku kuuluu lähiverkolle. Sen isäntien ja sen reitittimen on tiedettävä, että overlayn etuliite on tavoitettavissa yhdyskäytäväsi lähiverkko-osoitteen kautta, tai jonkin on käännettävä liikenne, jotta kysymys ei koskaan nouse esiin.
Kukin näistä voi olla oikein, kun taas muut epäonnistuvat, ja siksi testi, joka vain pingaa yhdyskäytävää, ei todista mitään sen takana olevasta palvelusta.
Kohdista hallittu reitti jäseneen
Lisää reitti halutulle lähiverkon etuliitteelle yhdyskäytävän overlay-osoitteen kautta, ei sen lähiverkko-osoitteen kautta. Overlay-osoite on se, johon muut jäsenet pääsevät; lähiverkko-osoitteella on merkitystä vain kaapelissa.
Jäsenten on hyväksyttävä hallitut reitit, jotta suunnitelma toimii, eivätkä niiden omat lähiverkot saa jo käyttää ilmoittamaasi etuliitettä. Kotona osoitteessa 192.168.60.0/24 oleva etäkannettava ei voi myöskään reitittää 192.168.60.0/24:ää overlayn kautta.
Pidä ilmoitettu etuliite niin kapeana kuin tehtävä sallii. Suuremman aggregaatin ilmoittaminen mieltymysten vaikuttamiseksi voi myös vaatia osoiteavaruutta, jota et omista, ja syntyvä ristiriita näkyy laitteissa, jotka yhdistyvät molempiin verkkoihin. Se voi myös saada jäsenen suosimaan polkua, joka ei johda mihinkään. Pidä reitti rehellisenä ja anna käytännön tehdä loput.
Kirjoita etuliite ja jäsenen osoite samaan muistiinpanoon palomuurisääntöjen kanssa, koska yleisin vika on väärään jäseneen osoittava reitti.
Ota välitys käyttöön ytimessä
Lue käynnissä oleva välitysarvo ennen kuin muutat mitään, ja tee asetuksesta sitten pysyvä mekanismilla, jota järjestelmäsi jo käyttää, älä kertaluonteisella komennolla, joka katoaa uudelleenkäynnistyksessä.
Jos UFW omistaa käytännön, sen reittisäännöt ilmaisevat välityksen lähde-, kohde- ja rajapintaparille. Ne ovat erillisiä saapuvista säännöistä, jotka avaavat palvelun itse yhdyskäytävällä:
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
Rajapinnan nimi on kyseisen isännän todellinen overlay-laite, jonka voit lukea komennolla ip link; se ei ole kiinteä merkkijono kaikissa asennuksissa. Jos isäntä välittää oletuksena eikä UFW ole polulla, reittisääntö jätetään huomiotta ja ytimen asetukset ovat ratkaisevia.
Valitse, miten vastaukset palaavat
Lähteen säilyttämisellä lähiverkon palvelu näkee todellisen overlay-osoitteen ja vastaa siihen. Se vaatii reitin lähiverkon isännällä tai sen reitittimellä, joka osoittaa overlayn etuliitteen yhdyskäytävääsi, ja se on muutos Linux-laatikon ulkopuolella.
Kun tuota reittiä ei voi lisätä, rajattu lähteen käännös saa pyynnön näyttämään siltä kuin se tulisi lähiverkon yhdyskäytävältä. Silloin vastaukset palaavat paikallisesti eikä lähiverkon reititystä tarvitse muuttaa, mutta hinta on alkuperäisen lähteen katoaminen palvelun lokeista.
Rajaa käännös overlayn lähteeseen ja tiettyyn lähiverkon kohteeseen. Kaiken lähiverkko-rajapinnasta lähtevän kääntäminen on laaja versio, joka myöhemmin yllättää jokaisen sääntöjä lukevan, ja se myös kätkee liikennettä, joka olisi pitänyt estää.
Kumpikaan vaihtoehto ei myönnä pyytämätöntä pääsyä lähiverkosta takaisin mielivaltaisiin overlay-jäseniin. Jos sitä halutaan, se on erillinen sääntö omalla tarkastuksellaan.
Testaa oikealta jäseneltä
Yhdistä toiselta jäseneltä, älä yhdyskäytävältä, ja pyydä yhtä sallittua palvelua. Kokeile sitten palvelua, jonka pitäisi pysyä suljettuna, ja toista molemmat testit uudelleenyhdistämisen ja yhdyskäytävän uudelleenkäynnistyksen jälkeen.
Jäsen, joka raportoi ONLINE-tilan, tai onnistunut ping yhdyskäytävän overlay-osoitteeseen, ei vahvista reittiä, välityssääntöä eikä paluupolkua:
zerotier-cli listnetworks
ip -4 route get 192.168.60.20
sudo ufw status numbered
Toinen komento näyttää, mitä rajapintaa paketti käyttäisi lähiverkon isäntään, ja kolmas näyttää, onko reittisääntö olemassa siinä muodossa kuin tarkoitit. Jos molemmat näyttävät oikeilta ja palvelu silti aikakatkeaa, paluupolku on jäljellä oleva epäilty.