Nebula static_host_map: it adres dat in fjoertoer net jaan kin
De kaart keppelt in overlay-adres oan einpunten dy't op it echte netwurk berikber binne. Krekt dy keppeling makket de earste hânskud mooglik.
Elke fjoertoer kin in host fertelle oer elk oar peer, útsein wêr't de fjoertoer sels wennet. Iets moat bekend wêze foardat it overlay bestiet, en Nebula set dat iets yn ien lytse kaart. De kaart keppelt in overlay-identiteit oan in adres dat op it gewoane netwurk wurket. Alles wat letter leard wurdt, hinget derfan ôf dat dy keppeling goed is.
Twa adressen mei twa taken
Elke Nebula-host hat in overlay-adres dat fêst bliuwt wylst it apparaat tusken netwurken beweecht. Dat adres is de identiteit dy't sertifikaten, firewall-regels en peer-relaasjes brûke, en op himsels rûtelet it nearne hinne. It berikbere einpunt is wat oars: in hostnamme of adres op it ûnderlizzende netwurk plus in UDP-poarte, en it feroaret eltse kear as de masine fan plak feroaret. De statyske kaart is de ferbining tusken de beide.
Allinne hosts dy't kâld belle wurde moatte, hearre yn 'e kaart, wat meastentiids de fjoertoeren en miskien in relay betsjut. Dy list koart hâlde is in ûntwerpdiel, want elk hânmjittich item wurdt in feit dat immen ûnderhâlde moat. De twa adrestypes trochinoar helje is de gewoane konfiguraasjeflater: in iepenbier adres dat yn 'e fjoertoerlist pleatst wurdt, lit de ûntdekking net starte.
Identiteit giet dêr't identiteit ferwachte wurdt. Berikberens giet yn 'e kaart.
static_host_map:
"10.42.0.1": ["lighthouse-01.example.net:4242"]
lighthouse:
am_lighthouse: false
hosts:
- "10.42.0.1"
Anatomy fan in kaartitem
De kaai is it overlay-adres skreaun as in oanhelbe string, en de wearde is in list fan einpunten, sadat ien identiteit ferskate yngongen hawwe kin. Elk einpunt draacht in host en in poarte, en de poarte moat oerienkomme mei wat de oare kant echt harket. Nebula syn standert is UDP 4242, dat is in útgongspunt en net in tasizze oer dyn ynset.
Ferskate einpunten binne nuttich as in fjoertoer mear as ien wei nei binnen hat, lykas in iepenbier adres en in privee adres foar hosts op itselde segmint. De klant besiket se op folchoarder, dus set de meast betroubere foarop. Foar IPv6, set it adres tusken fjouwerkante heakjes foardat de poarte tafoege wurdt; ferkeard dwaan jout in parseflater dy't nei de ferkearde rigel wiist.
In ferkearde poarte jout stilte ynstee fan in flater, om't UDP gjin hânskud hat om te wegerjen. Dêrom is it de muoite wurdich it itemformaat te kontrolearjen tsjin de Nebula-referinsje foar static_host_map ynstee fan tsjin it ûnthâld. De referinsje beslacht ek einpuntenlisten en it gedrach fan DNS-ferfarsking.
Bootstrap moat wurkje foardat it overlay
In DNS-namme yn 'e kaart moat oplost wurde troch de resolver dy't de host hat foardat der in tunnel bestiet, dat is de gewoane systeemresolver. Test it fan deselde masine, by it opstarten, mei it overlay stoppe. In namme dy't allinne troch it eigen DNS fan it overlay oplost wurdt, kin it overlay net bootstrappe. Deselde test jildt foar de rûte: in firewall-regel dy't it overlay tastean mar net de earste UDP-útwikseling, blokkearret it earste pakket.
Undersykje de poarte mei in UDP-ark ynstee fan oan te nimmen dat er iepen is. Befêstigje dat elke poarte-oerstjoering op 'e wei nei de krekte ynterne host wiist en dat der in weromwei bestiet. As de hostnamme nei ferskate adressen oplost, test se allegear, want in klant kin in adres kieze datsto nea kontrolearre hast.
Statyske items wurde direkt belle en freegje nea in fjoertoer. Dêrom liket in flater hjir as in gewoane time-out sûnder ien peer derby.
Wat bart der nei it earste hânskud
Sadree't in host in fjoertoer berikt, leart er oer peers en har berikbere adressen sûnder mear hânmjittige items. Hosts dy't beweegd binne sûnt de lêste ferbining wurde fia dat kanaal ûntdekber. Dat is de beleanning foar it lyts hâlden fan 'e hânmjittige kaart.
Hosts kinne ek har eigen ekstra berikbere adressen oankundigje, en sa helpt in peer efter in bekend iepenbier adres oaren om it te finen. Dy oankundigings wurde leard, net yn 'e statyske kaart typt.
It gedrach fan ferfarsking is wichtich foar einpunten skreaun as DNS-nammen, om't in oplost adres feroarje kin wylst it proses trochrint. Nebula syn ynstellings kontrolearje hoe't dy sykaksjes barre, ynklusyf hokker resolver brûkt wurdt, dus lês se ynstee fan de systeemstandert oan te nimmen. Op in host waans resolver feroaret as in tunnel omheech komt, kin de ferkearde ynstelling in wurkjende bootstrap feroarje yn in namme dy't mids yn 'e sesje ophâldt mei oplossen. It fêstsetten fan 'e sykaksje oan in stabile resolver is faak it ferskil tusken in betrouber overlay en ien dat tuskentroch útfalt.
As ûntdekking wurket en ien peer net
As fjoertoeren berikber binne en de measte peers ferbine, is de bootstrap net it probleem. It oerbliuwende pear kin of gjin brûkbere wei nei elkoar fine of falt boppe de berikberens út. It tafoegjen fan noch in stavering fan it fjoertoeradres kin gjin fan beide gefallen reparearje.
Kontrolearje it pear foardatst de kaart bewurkest dêr't al it oare al op bout. In kaartferoaring fersteurt elke host, dus it is it lêste om oan te reitsjen, net it earste.
Begjin mei sertifikaten fan deselde autoriteit, want in wegere hânskud kin fan fierrens lykje as in ûnberikber peer. Kontrolearje dan oft it pear in direkte wei bouwe kin en oft der in relay konfigurearre is foar netwurken dy't direkte ferkear wegerje. In relay foeget in hop en in ôfhinklikens ta, mar it is in stipe antwurd, en it reparearjen fan it peerpaad is in oare taak as it reparearjen fan 'e ûntdekking.