Gall pob goleudy ddweud wrth westeiwr am bob cymar arall ac eithrio lle mae’r goleudy ei hun yn byw. Rhaid gwybod rhywbeth cyn bod yr overlay yn bodoli, ac mae Nebula yn rhoi’r rhywbeth hwnnw mewn un map bach. Mae’r map yn paru hunaniaeth overlay â chyfeiriad sy’n gweithio ar y rhwydwaith arferol. Mae popeth a ddysgir yn ddiweddarach yn dibynnu ar y paru hwnnw fod yn gywir.

Dau gyfeiriad â dau waith

Mae gan bob gwesteiwr Nebula gyfeiriad overlay sy’n aros yn sefydlog tra mae’r ddyfais yn symud rhwng rhwydweithiau. Y cyfeiriad hwnnw yw’r hunaniaeth a ddefnyddir gan dystysgrifau, rheolau tânfur a pherthnasoedd cymar, ac ar ei ben ei hun nid yw’n llwybro i unrhyw le. Mae’r penfan y gellir ei chyrraedd yn beth gwahanol: enw gwesteiwr neu gyfeiriad ar y rhwydwaith sylfaenol ynghyd â phorth UDP, ac mae’n newid pryd bynnag y bydd y peiriant yn newid lleoliad. Y map statig yw’r cysylltiad rhwng y ddau.

Dim ond gwesteiwyr y mae’n rhaid eu deialu’n oer sy’n perthyn i’r map, sy’n golygu fel arfer y goleudai ac efallai un relay. Mae cadw’r rhestr honno’n fyr yn nod dylunio, oherwydd mae pob cofnod â llaw yn dod yn ffaith y mae rhywun yn gorfod ei chynnal. Cymysgu’r ddau fath o gyfeiriad yw’r camgymeriad cyfluniad arferol: nid yw cyfeiriad cyhoeddus a roddir yn rhestr y goleudai yn gwneud i’r darganfod ddechrau.

Mae hunaniaeth yn mynd lle disgwylir hunaniaeth. Mae cyrhaeddedd yn mynd i’r map.

static_host_map:
  "10.42.0.1": ["lighthouse-01.example.net:4242"]

lighthouse:
  am_lighthouse: false
  hosts:
    - "10.42.0.1"

Anatomeg cofnod map

Yr allwedd yw’r cyfeiriad overlay a ysgrifennir fel llinyn mewn dyfynnodau, a’r gwerth yw rhestr o benfannau, felly gall un hunaniaeth fod â sawl man mynediad. Mae pob penfan yn cario gwesteiwr a phorth, a rhaid i’r porth gyd-fynd â’r hyn y mae’r ochr draw yn gwrando arno mewn gwirionedd. Gwerth diofyn Nebula yw UDP 4242, sef man cychwyn yn hytrach nag addewid am eich defnydd.

Mae sawl penfan yn ddefnyddiol pan fo gan oleudy fwy nag un llwybr i mewn, fel cyfeiriad cyhoeddus a chyfeiriad preifat ar gyfer gwesteiwyr ar yr un segment. Mae’r cleient yn eu trio mewn trefn, felly rhowch yr un mwyaf dibynadwy yn gyntaf. Ar gyfer IPv6, rhowch y cyfeiriad mewn cromfachau cyn ychwanegu’r porth; mae gwneud hynny’n anghywir yn cynhyrchu gwall dosrannu sy’n pwyntio at y llinell anghywir.

Mae porth anghywir yn cynhyrchu distawrwydd yn hytrach na gwall, oherwydd nid oes gan UDP ysgwyd llaw i’w wrthod. Dyna pam mae’n werth gwirio fformat y cofnod yn erbyn cyfeirlyfr static_host_map Nebula yn hytrach na’r cof. Mae’r cyfeirlyfr hefyd yn ymdrin â rhestrau penfannau ac ymddygiad adnewyddu DNS.

Rhaid i’r cychwyn weithio cyn yr overlay

Rhaid i enw DNS yn y map gael ei ddatrys trwy’r datryswr sydd gan y gwesteiwr cyn bod unrhyw dwnnel yn bodoli, sef datryswr system arferol. Profwch hyn o’r un peiriant, wrth gychwyn, gyda’r overlay wedi’i stopio. Ni all enw sy’n datrys yn unig trwy DNS yr overlay ei hun gychwyn yr overlay. Mae’r un prawf yn berthnasol i’r llwybr: mae rheol tânfur sy’n caniatáu’r overlay ond nid y cyfnewidiad UDP cyntaf yn rhwystro’r pecyn cychwynnol.

Archwiliwch y porth ag offeryn UDP yn hytrach na chymryd yn ganiataol ei fod yn agored. Cadarnhewch fod unrhyw gyfeirio porth ar y llwybr yn targedu’r gwesteiwr mewnol cywir a bod llwybr dychwelyd yn bodoli. Os yw’r enw gwesteiwr yn datrys i sawl cyfeiriad, profwch bob un, oherwydd gall cleient ddewis cyfeiriad na wnaethoch chi ei wirio erioed.

Mae cofnodion statig yn cael eu deialu’n uniongyrchol ac ni fyddant byth yn ymgynghori â goleudy. Dyna pam mae methiant yma’n edrych fel goramser plaen heb unrhyw gymar yn y cwestiwn.

Beth sy’n digwydd ar ôl yr ysgwyd llaw cyntaf

Unwaith y bydd gwesteiwr yn cyrraedd goleudy, mae’n dysgu am gymheiriaid a’u cyfeiriadau cyrhaeddadwy heb fwy o gofnodion â llaw. Mae gwesteiwyr sydd wedi symud ers y cysylltiad diwethaf yn dod yn ddarganfyddadwy trwy’r sianel honno. Dyma’r wobr am gadw’r map â llaw yn fach.

Gall gwesteiwyr hefyd hysbysebu cyfeiriadau cyrhaeddadwy ychwanegol eu hunain, a dyna sut mae cymar y tu ôl i gyfeiriad cyhoeddus hysbys yn helpu eraill i’w ganfod. Mae’r hysbysebion hynny’n cael eu dysgu, nid eu teipio i’r map statig.

Mae ymddygiad adnewyddu’n bwysig ar gyfer penfannau a ysgrifennwyd fel enwau DNS, oherwydd gall cyfeiriad a ddatryswyd newid tra mae’r broses yn dal i redeg. Mae gosodiadau Nebula yn rheoli sut mae’r chwiliadau hynny’n digwydd, gan gynnwys pa ddatryswr a ddefnyddir, felly darllenwch nhw yn hytrach na chymryd y diofyn system yn ganiataol. Ar westeiwr y mae ei ddatryswr yn newid pan ddaw twnnel i fyny, gall y gosodiad anghywir droi cychwyn gweithredol yn enw sy’n stopio datrys yng nghanol sesiwn. Mae pinio’r chwiliad i ddatryswr sefydlog yn aml yw’r gwahaniaeth rhwng overlay dibynadwy ac un ysbeidiol.

Pan mae darganfod yn gweithio ac un cymar ddim

Os yw’r goleudai’n gyrhaeddadwy ac mae’r rhan fwyaf o gymheiriaid yn cysylltu, nid y cychwyn yw’r broblem. Mae’r pâr sy’n weddill naill ai’n methu dod o hyd i lwybr defnyddiadwy at ei gilydd neu’n methu uwchlaw cyrhaeddedd. Ni all ychwanegu sillafiad arall o gyfeiriad y goleudy atgyweirio’r naill achos na’r llall.

Gwiriwch y pâr cyn golygu’r map y mae popeth arall eisoes yn dibynnu arno. Mae newid map yn aflonyddu pob gwesteiwr, felly dyma’r peth olaf i’w gyffwrdd, nid y cyntaf.

Dechreuwch â thystysgrifau o’r un awdurdod, oherwydd gall ysgwyd llaw a wrthodwyd edrych o bell fel cymar na ellir ei gyrraedd. Yna gwiriwch a all y pâr sefydlu llwybr uniongyrchol ac a oes relay wedi’i gyflunio ar gyfer rhwydweithiau sy’n gwrthod traffig uniongyrchol. Mae relay yn ychwanegu naid a dibyniaeth, ond mae’n ateb a gefnogir, ac mae trwsio llwybr y pâr yn dasg wahanol i drwsio darganfod.

Erthyglau cysylltiedig