Żidt host tar-relay, daħħalt l-indirizz Nebula tiegħu f’konfigurazzjoni, u ż-żewġ peers xorta ma jitkellmux ma’ xulxin. Dan jiġri għax mogħdija relay teħtieġ tliet dikjarazzjonijiet separati li jridu jaqblu, u waħda biss minnhom tinsab fil-magna li inti x’aktarx editjajt. Ippruvajt dan darbtejn: darba l-host li jagħmel il-forwarding qatt ma ngħata r-rwol tar-relay, u darba s-settings kienu miktuba fuq in-naħa żbaljata tal-konnessjoni. Is-sekwenza hawn taħt tiċċekkja r-rwol, it-tħabbira u l-permess f’dak l-ordni, u kull pass għandu kmand li jgħidlek jekk għandekx tkompli.

Ippjana t-tliet rwoli qabel ma tedita konfigurazzjoni

Nebula tagħti lil kull host xogħol, u x-xogħlijiet ma jiġux ereditati. Lighthouse iwieġeb mistoqsijiet bħal fejn jinsab dan il-peer sabiex il-hosts isibu lil xulxin. Relay jgħaddi t-traffiku bejn żewġ peers li m’għandhomx mogħdija diretta li taħdem. Host ordinarju ma jagħmel l-ebda waħda. It-tliet settings li jimpurtaw jgħixu fuq tliet magni differenti, u għalhekk konfigurazzjoni tal-klijent li tidher kompluta tista’ tħalli ż-żewġ peers jistennew.

# on the discovery host
lighthouse:
  am_lighthouse: true
  hosts: []

# on every other host, point at the discovery host's Nebula address
lighthouse:
  hosts:
    - 10.42.0.1

Sintomu wieħed jifred iż-żewġ klassijiet ta’ falliment. Jekk iż-żewġ peers jelenkaw lil xulxin u l-log juri tentattivi ta’ handshake li qatt ma jitlestew, id-discovery qed taħdem u l-mogħdija tad-dejta hija mblukkata minn NAT jew minn firewall. Jekk peer qatt ma jsir jaf l-indirizz tal-ieħor, il-problema tinsab fil-lighthouse jew fil-mappa statika tal-hosts tiegħu, u s-settings tar-relay ma jistgħux jissewwew dan.

Ikkonferma liema konfigurazzjoni kien fil-fatt qed iġġorr kull host qabel ma tbiddel xi ħaġa oħra. Unit li jaqra mogħdija differenti mill-fajl li editjajt huwa kawża komuni u imbarazzanti ta’ „il-bidla ma għamlet xejn”:

systemctl cat nebula | grep ExecStart
nebula -version
journalctl -u nebula -n 20 --no-pager

Il-linja tal-verżjoni tgħodd fi flotta mħallta. L-immaniġġjar tar-relays, l-imġiba tal-punching u ċ-ċwievet tal-konfigurazzjoni aċċettati mhumiex identiċi bejn il-ħarġiet, għalhekk tassumix li build eqdem jifhem sezzjoni li għaliha ma nkitebx. Allinja l-hosts fuq l-istess serje minuri, imbagħad ħaddem nebula -test -config /etc/nebula/config.yml fuq kull host u qabbel l-output qabel ma tibda tiddebaggja trasport li l-kodiċi ma jimplimentax.

Ippermetti r-rwol tal-forwarding fuq il-host tar-relay

Ir-rwol tar-relay huwa bandiera waħda fuq il-host li jagħmel il-forwarding, u hija separata milli tkun lighthouse. Host bid-discovery mixgħula u l-forwarding tar-relay mitfija għadu biss servizz ta’ discovery. Fuq ir-relay:

relay:
  am_relay: true

Dik il-bandiera tiddikjara intenzjoni; ma toħloqx aċċessabbiltà. Relay irid ikun aċċessibbli miż-żewġ peers, li fil-prattika jfisser indirizz pubbliku, UDP dieħel fuq il-port Nebula miftuħ fil-firewall tal-host u fi kwalunkwe grupp tas-sigurtà tal-cloud, u l-ebda NAT doppju quddiemu. Iċċekkja s-socket li qed jisma’ u mbagħad osserva jekk il-pakketti tal-peer jaslux:

ss -lunp | grep nebula
tcpdump -ni any udp port 4242 and host 198.51.100.7

Żewġ limiti jiffrankaw il-ħin aktar tard. Relay ma jistax jintlaħaq permezz ta’ relay ieħor, għalhekk katina ta’ ismijiet tar-relay f’konfigurazzjoni mhijiex sostitut għal mogħdija użabbli lejn il-host li jagħmel il-forwarding. U relay jgħaddi pakketti; ma jagħtix permess, ir-regoli tad-dħul tad-destinazzjoni xorta jiddeċiedu jekk il-fluss mgħoddi huwiex permess. Ir-rwol u r-rekwiżiti tiegħu huma deskritti fid-dokumentazzjoni tal-konfigurazzjoni tar-relay.

Ħabbar ir-relay mid-destinazzjoni, mhux mill-klijent

Din hija l-inverżjoni li tiekol l-aktar sigħat. Il-lista tar-relays tappartjeni lill-host li qed tipprova tilħaq, għax tgħid lil peers oħra liema relays jistgħu jintużaw biex jintlaħaq dak il-host. Li tpoġġiha fuq il-klijent li jibda l-konnessjoni ma tagħmel xejn għad-direzzjoni li l-klijent jeħtieġ:

# on the DESTINATION host: relays others may use to reach me
relay:
  relays:
    - 10.42.0.5

Il-peers jirrappurtaw dik il-lista flimkien mal-indirizzi tagħhom meta jippreżentaw ruħhom fil-lighthouse, għalhekk it-tħabbira tinfirex permezz tad-discovery u mhux permezz ta’ skambju dirett. Jekk id-destinazzjoni ma tilħaqx ebda lighthouse, il-lista tar-relays tagħha qatt ma tinfirex u relay konfigurat sew jibqa’ idle. Dak il-falliment jidher eżattament bħal relay miksur u mhuwiex.

Agħti lid-destinazzjoni mogħdija tal-bootstrap fl-istess pass. Il-mappa statika tal-hosts torbot indirizz Nebula ma’ endpoint pubbliku sabiex l-ewwel handshake jkollu fejn imur, u teħtieġ entrata għar-relay jekk id-destinazzjoni għandha taċċetta traffiku mgħoddi minn hosts li ma tilħaqx direttament:

static_host_map:
  "10.42.0.5": ["203.0.113.10:4242"]

Ħalli lill-peer li qed jikkonnettja juża r-relay

In-naħa li tiftaħ teħtieġ il-permess tagħha stess. relay.use_relays huwa mixgħul b’mod awtomatiku, għalhekk il-każ li jixraq titfittex huwa false espliċitu, spiss ikkupjat minn template miktub qabel ma teżisti l-funzjoni tar-relay jew mitluq minn tentattiv preċedenti li jġiegħel mogħdijiet diretti:

relay:
  use_relays: true

Il-permess fuq din in-naħa mhuwiex l-unika bieb. Ir-regoli tad-dħul tad-destinazzjoni għadhom japplikaw għall-pakkett mgħoddi, u s-sors li miegħu jiġu mqabbla huwa l-identità ġewwa t-tunnel u mhux l-indirizz tar-relay stess. Meta l-handshake mgħoddi jitlesta u l-applikazzjoni xorta tfalli, aqra l-log tad-destinazzjoni għas-sors li rreġistrat qabel ma terġa’ tikteb regola.

Is-settings tat-traversata NAT jinteraġixxu ma’ dan kollu. punchy.punch jgħin lil żewġ peers jiftħu mogħdija diretta, u meta jirnexxi ma jkun hemm l-ebda traffiku tar-relay x’osserva; dan huwa suċċess, mhux relay nieqes. Par li jaħdem b’mod intermittenti normalment ifisser li l-punching jirnexxi biss xi drabi, għalhekk ittestja dak il-par diversi drabi minflok ma tislet konklużjoni minn tentattiv wieħed.

Ivverifika mal-par li falla, imbagħad erġa’ għabbi

Ittestja dawk iż-żewġ hosts li fil-fatt fallu, bl-applikazzjoni li jeħtieġu. Ping ta’ suċċess mill-workstation tiegħek għas-servizz tar-relay stess ma jipprova xejn dwar l-għoti bejn żewġ peers oħra, u huwa l-aktar falz pożittiv komuni f’din il-proċedura kollha.

journalctl -u nebula -f | grep -iE "relay|handshake"
ping -c 3 10.42.0.9

Erġa’ għabbi minflok ma terġa’ tibda, u kkonferma li l-proċess li qed jaħdem ħa l-fajl li editjajt. Restart iġib fix-xejn kull tunnel u jagħmel it-test li jmiss aktar diffiċli biex tinqrah, filwaqt li SIGHUP iżomm il-proċess u jagħmlu jerġa’ jaqra l-konfigurazzjoni:

sudo systemctl kill -s HUP nebula
# same signal when nebula runs in the foreground
kill -HUP $(pidof nebula)

systemctl reload jaħdem biss meta l-unit lokali jiddefinixxi ExecReload, u l-unit li jiġi mal-proġett ma jagħmilx hekk, għalhekk systemctl kill -s HUP huwa l-pass li jirnexxi fuq installazzjoni standard. Wara r-rikgħabbi, aqra l-journal għall-mogħdija tal-konfigurazzjoni li fetaħ il-proċess, sabiex tkun taf li l-fajl il-ġdid inqara u mhux dak li ħsibt li kien mgħobbi.

Is-settings tar-relay u l-punching NAT it-tnejn jaħdmu fuq il-mogħdija; l-ebda wieħed ma jaħdem fuq l-identità. Jekk il-par xorta jfalli l-handshake meta am_relay, relays u use_relays huma kkonfermati fil-konfigurazzjoni li qed taħdem, iċċekkja li ż-żewġ hosts jippreżentaw ċertifikati maħruġa għall-ismijiet li bihom huma konfigurati u li s-CA hija l-istess fuq iż-żewġ naħat. Żomm il-konfigurazzjoni taċ-ċertifikati u tal-firewall fissa waqt li tbiddel setting waħda tat-trasport kull darba, għax bidla fiċ-ċertifikat u bidla fir-relay fl-istess test ma jgħidulek xejn dwar liema waħda mexxiet il-handshake. Nuqqas ta’ qbil fl-isem jew fis-CA jfalli fl-istess post bħal relay li qatt ma nstab, u għalhekk dan il-kontroll maqlub jappartjeni għall-istess pass.

Imbagħad ikkonferma li kull dikjarazzjoni tinsab fil-fajl li tappartjeni għalih:

  • am_relay: true fuq il-host li jagħmel il-forwarding, u dak il-host aċċessibbli permezz ta’ UDP miż-żewġ naħat.
  • relays: bl-indirizz Nebula ta’ dak il-host fuq id-destinazzjoni.
  • use_relays: true fuq il-peer li jibda l-konnessjoni.
  • Regoli tad-dħul fuq id-destinazzjoni li għadhom jippermettu s-sors reali wara l-bidla fil-mogħdija.

Artikli relatati