Role majáku v Nebule dělá spoustu práce, kterou lidé považují za automatickou, a odpovídání na DNS mezi ni nepatří. Služba jmen je volitelný posluchač, který startuje vypnutý, a proto host, který si v overlayi dobře překládá jména, nemusí mít čím přeložit notebook kolegy. Než ho zapnete, rozhodněte, kdo se k němu má dostat a které typy záznamů jste ochotni odpovídat, protože tyto dvě odpovědi se liší.

Posluchač je volitelný a ve výchozím stavu vypnutý

Zjišťování a DNS jsou oddělené služby. Maják pomáhá peerům najít jeden druhého a navíc může odpovídat na dotazy na jména hostů, které zná, ale tato druhá část musí být v konfiguraci výslovně zapnuta.

Než cokoli povolíte, rozhodněte, které rozhraní a sítě se k posluchači mají dostat. DNS služba, která odpovídá na rozhraní, jež jste nezamýšleli, se stává malým únikem informací bez záznamu v logu, který by někdo četl. Rozhodnutí je teď mnohem levnější než pozdější zužování, když už něco závisí na špatné odpovědi. Dva řádky konfigurace se obhajují snáz než poznámka o incidentu za půl roku.

Záznamy A a TXT nesdílejí stejné publikum

Na tyto dva typy záznamů se odpovídá za různých podmínek a považovat je za jednu službu je chyba, které má tento článek zabránit.

QueryWhat it returnsWho can reach it
A record for a host nameThat host Nebula IPAny host that can reach the listener, overlay or not
TXT for a host IPCertificate informationOnly over the Nebula network

Tato asymetrie je záměrná, ne opomenutí. Přiřazení jména k adrese má pro cizího člověka malou hodnotu, kdežto metadata certifikátu popisují identity ve vašem overlayi. Nepřenášejte předpoklad z jednoho řádku na druhý jen proto, že na oba odpovídá stejný proces.

Odpovídá jen o vlastních hostech majáku

Toto není obecný resolver pro vaši kancelář, váš cloudový VPC ani veřejný internet. Maják odpovídá z informací o hostech, které dostal, a proto funkce žije na uzlech majáku, ne na každém peeru.

Když jméno selže a overlay s tím nemá nic společného, najděte zónu a resolver, které ho skutečně vlastní. Míchání overlay resolveru do obecné DNS konfigurace hosta vytváří selhání, která vypadají náhodně, protože některá jména se přeloží a na jiná neodpovídá nic.

Sledujte také bootstrapový koncový bod. Jméno hosta použité k dosažení prvního majáku se musí přeložit běžnou cestou, než na něm zjišťování může záviset, takže problém slepice a vejce tu vypadá přesně jako rozbitý overlay. Dokonce se to hlásí stejně: peer, který nikdy nenaběhne, a žádný zřejmý důvod. Zkontrolujte překlad jmen, než se dotknete certifikátů, protože toto pořadí chytá lidi, kteří začali těžší polovinou.

Zkontrolujte adresu vazby a pak testujte zvenčí

lighthouse.dns.host a lighthouse.dns.port určují, kde volitelná služba naslouchá. Projděte tyto hodnoty spolu s firewallem hosta a síťovou politikou, protože adresa vazby je prohlášení záměru, ne bezpečnostní kontrola sama o sobě.

dig @10.42.0.1 -p 53 workstation.nebula A +short
dig @10.42.0.1 -p 53 10.42.0.7 TXT +short

Dotazujte se ze sítí, které hodláte povolit, ne z majáku samotného. Úspěšné hledání na majáku dokazuje, že proces běží, a neříká vám nic o tom, na co se může zeptat vnější host, což je otázka, na které skutečně záleží.

Vystavujte ho vědomě

Jména a metadata certifikátů jsou užitečné provozní informace a užitečnost řeže na obě strany. Rozhodněte, zda má být posluchač jen pro overlay, které typy záznamů povolit a kdo konfiguraci reviduje, když se změní.

Pak to zapište vedle nastavení majáku. Příští člověk, který bude ladit selhání překladu, bude jinak předpokládat, že služba tu byla vždy. Také bude předpokládat, že byla vždy dostupná odtud, kde zrovna testuje. Jeden odstavec se zaznamenanou adresou vazby, povolenými sítěmi a typy záznamů ušetří tomu člověku odpoledne a vám ušetří zprávu s dotazem, proč se něco změnilo.

Související články