Nebula advertise_addrs vai static_host_map: valitse omistajan mukaan
Staattista karttaa ylläpitää jokainen peer, joka soittaa siihen; mainostetun osoitteen julkaisee isäntä. Valitse sen mukaan, kuka tuntee päätepisteen.
Asetukset static_host_map ja advertise_addrs asettavat molemmat osoitteen peerin eteen, ja ne vastaavat eri kysymyksiin. Toinen on paikallinen tiedosto, joka luettelee overlay-osoitteen ja soitettavan underlay-päätepisteen. Toinen on isäntä, joka kertoo majakoilleen, mitkä muut päätepisteet voivat tavoittaa sen. Todellinen ero on omistajuus: karttaa ylläpitävät kaikki, jotka sitä tarvitsevat, ja mainoksen isäntä itse.
Päätä sen mukaan, kuka tiedon omistaa
| Setting | Where it lives | Best for |
|---|---|---|
static_host_map | Every peer that needs the entry | Bootstrap endpoints, deliberately fixed paths |
advertise_addrs | The host's own config | Endpoints the host cannot otherwise discover |
Jokainen muuttuva peer kunkin peerin staattisessa tiedostossa on ylläpitotyö, joka kasvaa laivueen neliöllä. Se on käytännön syy tarttua toiseen asetukseen aina, kun isäntä itse tietää vastauksen.
Omistajuuskysymys ennustaa myös, mitä tapahtuu, kun osoite muuttuu. Staattisella kartalla jonkun on muistettava jokainen peer, jolla on vanha merkintä. Mainoksella isäntä julkaisee uuden päätepisteen ja sen majakat välittävät sen, joten muutos pysyy paikallisena koneessa, joka muutti.
Bootstrap tarvitsee yhä staattisia merkintöjä
Asiakkaan on päästävä ainakin yhteen majakkaan ennen kuin se voi kysyä keneltäkään muista peereistä. Tämä ensimmäinen hyppy ei voi tulla löytämisestä, joten tarvitaan staattinen merkintä asiakkaan kokoonpanossa. Tee se yksi merkintä oikein, ja loput overlaystä voidaan oppia.
Karttamerkintä yhdistää Nebula-osoitteen yhteen tai useampaan tavoitettavaan IP- tai DNS-päätepisteeseen ja porttiin. Majakoiden pitäminen siellä on normaalia; jokaisen peerin pitäminen siellä on malli, joka vanhenee huonosti, koska jokainen uusi peer tarkoittaa tiedostojen muokkaamista koneilla, joita et ehkä hallitse. Pidä lista tarpeeksi lyhyenä, että ihminen voi vielä varmentaa sen lukemalla.
Mainosta, kun isäntä tuntee päätepisteen
Portin edelleenohjauksen takana oleva isäntä on tavoitettavissa julkisesta osoitteesta, jota ei ole osoitettu millekään sen omista liittymistä. Se ei voi löytää tuota osoitetta katsomalla itseään. advertise_addrs antaa sen julkaista päätepisteen majakoidensa kautta, jotta muut peerit oppivat polun, joka todella toimii. Asetus on olemassa juuri siksi, että isäntä on ainoa osapuoli, joka tietää kartoituksen tehdyn.
Käytä osoitetta ja porttia, jotka muut peerit todella voivat tavoittaa. Sama päättely pätee isäntään, jolla on useita verkkopolkuja, joissa yksi polku on parempi tietyn verkon peereille. Mainostaminen on väite underlaysta, ei pyyntö mistään. Kun kartoitus muuttuu, päivitä mainos isännällä ja anna löytämisen kantaa se, sen sijaan että muokkaisit staattisia tiedostoja koko laivueessa.
Mainostaminen ei ole tavoitettavuutta
Päätepisteen julkaiseminen ei luo reitittimen edelleenohjaussääntöä, ei avaa ylävirran palomuuria eikä saa DNS-nimeä ratkeamaan. Ne ovat erillisiä työvaiheita, ja oikea mainos, josta puuttuu portin edelleenohjaus, tuottaa täsmälleen sen vian, jota yritit korjata. Mainostaminen on väite tavoitettavuudesta, ei mekanismi, joka sen luo.
Tarkista polku ulkopuolelta ennen kuin syytät löytämistä. Peerillä, joka oppii päätepisteen mutta ei voi suorittaa handshakea loppuun, on reititys- tai suodatusongelma underlayssä, eikä saman osoitteen toistaminen molemmissa asetuksissa muuta sitä.
Pidä overlay-osoite erillään päätepisteestä
Solmun varmenne tunnistaa sen Nebula-osoitteen. Mainostetut osoitteet kuuluvat taustaverkkoon, ja ne saavat muuttua koskematta varmenteeseen. Myönnä uusi varmenne eri overlay-IP:llä on eri toimenpide, jolla on omat seurauksensa jokaiselle luottamussuhteelle, joka kiinnitti vanhan. Pidä kaksi muutosta erillään runbookissa, tai päätepisteen siirto kirjataan uudelleenmyöntönä.
Kun triage juuttuu, erottele kaksi kerrosta selvästi: palauttaako löytäminen odotetun päätepisteen, ja saavuttaako handshake sen? Jos löytäminen on oikein ja paketit epäonnistuvat, ongelma on overlayn alla. Jos löytäminen on väärin, ongelma on kartassa tai mainoksessa, ja korjaus kuuluu sinne.