Nebula-Lighthouse-Filter géint Firewall: wat all eenzel blockéiert
D’Erlaabneslëschte vum Lighthouse entscheeden, wéi eng Underlay-Endpunkten e Peer ukënnegt oder probéiert. Firewall-Regele regelen den Trafic am Iwwerlager no dem Handshake.
Kuckt ee Nebula-Handshake vun der falscher Säit un an déi zwou Mechanismen erschéngen austauschbar. Den een entscheet, wéi eng Adressen ee Knuet dem Lighthouse mëttelt a wéi eng wäit Adressen en probéiere wäert; den aneren entscheet, wat duerch däerf, wann den Tunnel existéiert. E Filter kann eng Verbindung stoppen, ier eng Firewall-Regel bewäert gëtt, an eng Firewall-Regel kann en Endpunkt net erëm opliewe loossen, deen d’Entdeckung ewechgeholl huet. Déi zwou Schichte beäntweren ënnerschiddlech Froen, an d’Reiefolleg, an där se wierken, ass de Schlëssel.
Verfollegt eng Verbindung duerch véier Etappen: déi ugekënnegt lokal Adress, den Endpunkt wäit ewech, deen iwwerpréift gëtt, den Handshake an den Trafic am Iwwerlager. All Etapp huet hir eege Konfiguratioun an hir eege Feelerzeeche.
Fänkt un der lokaler Adress un, déi de Knuet ukënnegt
local_allow_list filtert d’lokal Adressen dëses Host, ier se de Lighthouses gemellt ginn. D’Entréeë kënnen Adressberäicher sinn, an d’Konfiguratioun ënnerstëtzt och Mustere fir Interface-Nimm. Dat ass nëtzlech, wann e Host Container-Brécken oder zousätzlech Tunnelinterfacen huet, déi keng Peer-Endpunkte solle ginn.
Gidd d’Interfacen vum Host duerch a freet, wéi eng en entfernte Peer wierklech erreeche kann. Eng Docker-Bréckenadress ass lokal fir deen Host a notzlos fir e Peer an engem aneren Netz. Se ukënnegen verschwënnt d’Entdeckung a kann e Peer op eng Adress schécken, déi ni äntwert. Alles, wat e Peer net route kann, ass Kaméidi an der Äntwert vum Lighthouse.
Eng schmuel Erlaabneslëscht ass hei sécherer wéi eng breet Sperrlëscht. Wann nëmmen Erlaabnes-Entréeë present sinn, gëtt de Rescht, deen net uginn ass, ausgeschloss; eng Sperr-Entrée méi spéit derbäizesetzen ännert d’Standardlogik an brauch eng eegen Iwwerpréiwung. Déi Ännerung verdéngt en zweete Bléck op den Standard.
Kuckt dann d’Auswiel vum wäiten Endpunkt
remote_allow_list filtert d’Adressen, déi dësen Host fir en entfernte Peer wärend engem Handshake wäert betruechten. Et gëllt fir d’Underlay-Adress, net fir d’Iwwerlager-Adress, déi de Peer notzt, wann den Tunnel steet.
E private Beräich kann op engem gemeinsame Büro-Netz voll nëtzlech sinn a sënnlos ginn, wann déi zwou Hosten an onverbonnene Netze sëtzen, déi allebéid 10.0.0.0/8 benotzen. De Filter erlaabt Iech de routbare Wee ze préferéieren an den Zoufall ze ignoréieren.
Wann e Peer sech net verbënne kann, vergläicht d’Adress, déi probéiert gëtt, mat der Regel, déi dozou passt. Maacht d’Handshake-Loggen un a liest déi ausgewielt wäit Adress; d’Logzeil nennt den Endpunkt, deen d’Filterung iwwerlieft huet, wat méi nëtzlech ass wéi d’Lëscht vun den Adressen, déi de Peer huet.
En Interface-Nummfilter op der Ukënnegungssäit kann den Endpunkt ewechhuelen, ier d’Empfangssäit en iwwerhaapt gesäit. Préift béid Kniet, wann nëmmen eng Richtung feelt.
No dem Handshake gëllen d’Zougriffsregelen vum Iwwerlager
Nebula-Firewall-Regele wierken am Iwwerlager, nodeems den Tunnel opgebaut ass. Se passen Hosten, Gruppen, Porten a Protokoller a entscheeden, ob e Paket den lokalen Host däerf betrieden oder verloossen. Se wielen keen Underlay-Endpunkt aus.
Dës Trennung erkläert eng heefeg falsch Diagnos. En Operateur setzt eng Firewall-Regel fir e Port derbäi a kann sech nach ëmmer net verbënnen, well de Lighthouse-Filter deen eenzegen erreechbaren Endpunkt ewechgeholl huet. En aneren Operateur mécht de Filter fir d’Adressen op a kënnt nach ëmmer net un de Service, well d’Firewall vum Iwwerlager de Port refuséiert.
Liest de Feeler op der richteger Schicht. En Handshake, deen ni fäerdeg gëtt, weist op Entdeckung, Endpunktfilterung oder de Netzwierkwee. En ofgeschlossenen Handshake, op deen eng refuséiert oder verworf Serviceverbindung follegt, weist op d’Firewall vum Iwwerlager oder op d’Applikatioun.
Liest den Standard, wann Erlaabnis a Sperr gemëscht ginn
D’Konfiguratioun vum Lighthouse ënnerstëtzt Lëschten nëmme mat Erlaabnis, nëmme mat Sperr a gemëschte Lëschten, an den Standard fir de Rescht, deen net uginn ass, ënnerscheet sech tëschent dëse Formen. Eng gemëscht Lëscht brauch en explizitten Standard fir d’Adressfamill; unzehuelen, de Rescht verhal sech wéi déi fréier Konfiguratioun, ass de Wee, op deem en Endpunkt, deen funktionéiert huet, roueg verschwënnt.
lighthouse:
local_allow_list:
interfaces:
docker0: false
remote_allow_list:
192.168.0.0/16: true
default: false
Behandelt den Standard als Deel vun der Regel, net als Boilerplate. Wann den Standard vun der Famill d’Sperr ass, gëtt all Adress ausgeschloss, déi net opgelëscht ass, och en neie Büroberäich, deen no dem Schreiwe vun der Konfiguratioun derbäikoum.
Notéiert, wéi eng Adressen erreechbar solle sinn, a testt vu béide Säiten. E Filter, dee fir ee Peer-Puer funktionéiert, kann fir en anert Puer feelen, deem säin eenzegen gemeinsamen Wee eng Adress benotzt, déi d’Lëscht ausschléisst.
Benotzt Relay, wann keen direkten Endpunkt erreechbar ass
Wann all Kandidaten-Endpunkt erausgefiltert oder onerreechbar ass, ass d’Äntwert keng méi breet Erlaabneslëscht, déi Adressen erëm ophëlt, deenen Dir net vertraut. D’Relay-Konfiguratioun vum Nebula bitt en alternativen Peer-Wee, wann direkt Konnektivitéit net machbar ass.
Relay léist Transport an Entdeckung, net Autorisatioun, an et verbreetert d’Firewall net. D’Firewall vum Iwwerlager entscheet weider, wéi eng Servicer benotzt dierfen, an de Relay mécht d’Lighthouse-Filterung net zu engem Zougriffskontrollmechanismus.
Testt de Relay-Wee mat deaktivéierten direkten Endpunkten a bestätegt, datt de gewënschten Service nach funktionéiert, wärend een net gewënschten et net mécht. Deen eenzegen Test trennt eng Transportkorrektur vun enger Richtlinnesännerung an hält déi zwou Schichte éierlech.