Nebula advertise_addrs või static_host_map: vali omaniku järgi
Staatilist kaarti haldab iga peer, kes seda kutsub; reklaamitud aadressi avaldab host. Vali selle järgi, kes lõpp-punkti teab.
Seaded static_host_map ja advertise_addrs asetavad mõlemad aadressi peeri ette ja vastavad erinevatele küsimustele. Üks on kohalik fail, mis loetleb overlay-aadressi ja underlay lõpp-punkti, mida kutsuda. Teine on host, mis ütleb oma tuletornidele, millised täiendavad lõpp-punktid võivad teda saavutada. Päris erinevus on omand: kaarti haldavad kõik, kes seda vajavad, ja reklaami host ise.
Otsusta selle järgi, kellele info kuulub
| 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 |
Iga muutuv peer iga peeri staatilises failis on hooldustöö, mis kasvab laevastiku ruuduga. See on praktiline põhjus haarata teise seade järele, kui host ise vastust teab.
Omandiküsimus ennustab ka seda, mis juhtub aadressi muutumisel. Staatilise kaardi puhul peab keegi mäletama iga peeri, kellel on vana kirje. Reklaamiga avaldab host uue lõpp-punkti ja tema tuletornid annavad selle edasi, nii et muudatus jääb kolinud masinasse kohalikuks.
Bootstrap vajab endiselt staatilisi kirjeid
Klient peab jõudma vähemalt ühe tuletornini, enne kui saab kelleltki teiste peeride kohta küsida. See esimene hüpe ei saa tulla avastamisest, seega on vaja staatilist kirjet kliendi konfiguratsioonis. Tee see üks kirje õigeks ja ülejäänud overlayd saab õppida.
Kaardikirje seob Nebula aadressi ühe või mitme kättesaadava IP või DNS-i lõpp-punkti ja pordiga. Tuletornide seal hoidmine on tavaline; iga peeri seal hoidmine on muster, mis vananeb halvasti, sest iga uus peer tähendab failide muutmist masinates, mida sa ehk ei kontrolli. Hoia nimekiri piisavalt lühike, et inimene saaks seda lugedes veel kontrollida.
Reklaami, kui host teab lõpp-punkti
Portide edasisaatmise taga olev host on kättesaadav avalikul aadressil, mis ei ole määratud ühelegi tema enda liidesele. Ta ei saa seda aadressi avastada enda peale vaadates. advertise_addrs lubab tal lõpp-punkti oma tuletornide kaudu avaldada, et teised peerid õpiksid tee, mis tegelikult töötab. Seade on olemas just sellepärast, et host on ainus osapool, kes teab, et vastendus tehti.
Kasuta aadressi ja porti, mida teised peerid tõesti saavutada saavad. Sama loogika kehtib hosti kohta, kellel on mitu võrguteed, kus üks tee on eelistatav kindla võrgu peeridele. Reklaam on väide underlay kohta, mitte palve millegi järele. Kui vastendus muutub, uuenda reklaami hosti juures ja lase avastusel see edasi kanda, selle asemel et muuta staatilisi faile üle kogu laevastiku.
Reklaam ei ole kättesaadavus
Lõpp-punkti avaldamine ei loo ruuteri edasisaatmisreeglit, ei ava ülesvoolu tulemüüri ega pane DNS-nime lahenduma. Need on eraldi töölõigud ja korrektne reklaam, millel puudub pordi edasisaatmine, tekitab täpselt selle tõrke, mida sa parandada püüdsid. Reklaam on väide kättesaadavuse kohta, mitte mehhanism, mis selle loob.
Kontrolli teed väljast enne, kui süüdistad avastust. Peeril, kes õpib lõpp-punkti, kuid ei suuda handshake'i lõpetada, on underlayl marsruutimise või filtreerimise probleem, ja sama aadressi kordamine mõlemas seades ei muuda seda.
Hoia overlay-aadress lõpp-punktist eraldi
Sõlme sertifikaat identifitseerib tema Nebula aadressi. Reklaamitud aadressid kuuluvad alusvõrku ja neid tohib muuta sertifikaati puutumata. Uue sertifikaadi väljaandmine teise overlay-IP-ga on teine toiming, millel on omad tagajärjed igale usaldussuhtele, mis vana kinnitas. Hoia kaks muudatust runbookis eraldi, muidu registreeritakse lõpp-punkti liigutamine ümberväljaandmisena.
Kui triaaž takerdub, eralda kaks kihti selgelt: kas avastus tagastab oodatud lõpp-punkti ja kas handshake jõuab selleni? Kui avastus on õige ja paketid ebaõnnestuvad, on probleem overlay all. Kui avastus on vale, on probleem kaardis või reklaamis, ja parandus kuulub sinna.