Nebula static_host_map: àdírẹ́sì tí ìlà-ìmọ́lẹ̀ kò lè fúnni
Maapu náà so àdírẹ́sì overlay pọ̀ mọ́ àwọn ojú-ìparí tí a lè dé lórí nẹ́tíwọ́kì gidi. Ìsopọ̀ yẹn ni ó jẹ́ kí ìbára-ẹni-lọ́wọ́ àkọ́kọ́ ṣeé ṣe.
Gbogbo ìlà-ìmọ́lẹ̀ lè sọ fún ẹ̀rọ kan nípa gbogbo alábàáṣepọ̀ mìíràn àyàfi ibi tí ìlà-ìmọ́lẹ̀ fúnra rẹ̀ wà. Nǹkan kan gbọ́dọ̀ jẹ́ mímọ̀ kí overlay tó wà, Nebula sì fi nǹkan yẹn sínú maapu kékeré kan. Maapu náà so ìdánimọ̀ overlay pọ̀ mọ́ àdírẹ́sì tí ó ń ṣiṣẹ́ lórí nẹ́tíwọ́kì ojoojúmọ́. Gbogbo nǹkan tí a bá kọ́ lẹ́yìn náà sinmi lórí pé ìsopọ̀ yẹn tọ̀nà.
Àdírẹ́sì méjì pẹ̀lú iṣẹ́ méjì
Gbogbo ẹ̀rọ Nebula ní àdírẹ́sì overlay tí ó dúró ṣinṣin nígbà tí ẹ̀rọ náà ń kó kiri láàárín àwọn nẹ́tíwọ́kì. Àdírẹ́sì yẹn ni ìdánimọ̀ tí àwọn ẹ̀rí, àwọn òfin odi-iná àti àwọn ìbáṣepọ̀ alábàáṣepọ̀ ń lò, àti pé ní èyọkùn rẹ̀ kò ṣe ipa-ọ̀nà kankan. Ojú-ìparí tí a lè dé jẹ́ nǹkan mìíràn: orúkọ ẹ̀rọ tàbí àdírẹ́sì lórí nẹ́tíwọ́kì ìsàlẹ̀ pẹ̀lú ebute UDP kan, ó sì ń yí padà ní gbogbo ìgbà tí ẹ̀rọ náà bá yí ibi padà. Maapu dúró-ṣinṣin ni ìsopọ̀ láàárín àwọn méjèèjì.
Àwọn ẹ̀rọ tí a gbọ́dọ̀ pè ní ìtẹ́lẹ̀ nìkan ni ó wọ inú maapu, èyí sì sábà túmọ̀ sí àwọn ìlà-ìmọ́lẹ̀ àti bóyá relay kan. Fífi àkójọ yẹn kúrú jẹ́ èròǹgbà àpẹẹrẹ, nítorí gbogbo àkọsílẹ̀ ọwọ́ di òtítọ́ tí ẹnìkan gbọ́dọ̀ tọ́jú. Dídàpọ̀ irú àdírẹ́sì méjì pọ̀ jẹ́ àṣìṣe ìṣètò tí ó wọ́pọ̀: àdírẹ́sì gbogbo ènìyàn tí a fi sínú àkójọ ìlà-ìmọ́lẹ̀ kò bẹ̀rẹ̀ ìwádìí.
Ìdánimọ̀ ń lọ sí ibi tí a ti ń retí ìdánimọ̀. Ìdé ń lọ sínú maapu.
static_host_map:
"10.42.0.1": ["lighthouse-01.example.net:4242"]
lighthouse:
am_lighthouse: false
hosts:
- "10.42.0.1"
Ìgbékalẹ̀ àkọsílẹ̀ maapu
Kókó ni àdírẹ́sì overlay tí a kọ gẹ́gẹ́ bí okun nínú àmì àsọtẹ́lẹ̀, ìye sì ni àkójọ àwọn ojú-ìparí, nítorí náà ìdánimọ̀ kan lè ní ọ̀nà àbáwọlé púpọ̀. Gbogbo ojú-ìparí ń gbé ẹ̀rọ àti ebute kan, ebute náà sì gbọ́dọ̀ bá ohun tí ẹ̀gbẹ́ kejì ń gbọ́ gangan mu. Ìpín àkọ́kọ́ Nebula ni UDP 4242, èyí jẹ́ ibi ìbẹ̀rẹ̀ kì í ṣe ìlérí nípa ìgbékalẹ̀ rẹ.
Àwọn ojú-ìparí púpọ̀ wúlò nígbà tí ìlà-ìmọ́lẹ̀ kan ní ọ̀nà ìwọlé ju ọ̀kan lọ, bí àdírẹ́sì gbogbo ènìyàn àti àdírẹ́sì àdáni fún àwọn ẹ̀rọ nínú apá kan náà. Olùbánisọ̀rọ̀ gbìyànjú wọn ní tẹ̀léntẹ̀lé, nítorí náà gbé èyí tí ó gbẹ́kẹ̀lé jùlọ síbẹ̀ ní àkọ́kọ́. Fún IPv6, fi àdírẹ́sì sínú àmì ìdìbò onígun mẹ́rin kí o tó fi ebute kún; ṣíṣe àṣìṣe níbẹ̀ ń dá àṣìṣe ìtúpalẹ̀ tí ó ń tọ́ka sí ìlà tí kò tọ̀nà.
Ebute tí kò tọ̀nà ń dá ìdákẹ́jẹ́ẹ̀ dípò àṣìṣe, nítorí UDP kò ní ìbára-ẹni-lọ́wọ́ láti kọ̀. Nítorí náà ó yẹ kí a yẹ àpẹẹrẹ àkọsílẹ̀ náà wò pẹ̀lú ìtọ́kasí Nebula fún static_host_map kì í ṣe ìrántí. Ìtọ́kasí náà tún bo àwọn àkójọ ojú-ìparí àti ìhùwàsí ìsọdọ̀tun DNS.
Bootstrap gbọ́dọ̀ ṣiṣẹ́ kí overlay tó wà
Orúkọ DNS nínú maapu gbọ́dọ̀ jẹ́ yíyánjú nípasẹ̀ olùyánjú tí ẹ̀rọ ní kí ọ̀nà-ìsàlẹ̀ kankan tó wà, ìyẹn olùyánjú ẹ̀rọ ojoojúmọ́. Dán a wò láti inú ẹ̀rọ kan náà, ní àkókò ìbẹ̀rẹ̀, pẹ̀lú overlay tí a ti dá dúró. Orúkọ tí a kò lè yánjú àyàfi nípasẹ̀ DNS ti overlay fúnra rẹ̀ kò lè ṣe bootstrap overlay. Ìdánwò kan náà kan ọ̀nà pẹ̀lú: òfin odi-iná tí ó gba overlay láyè ṣùgbọ́n tí kò gba ìpààrọ̀ UDP àkọ́kọ́ láyè ń dí pákẹ́tì àkọ́kọ́.
Yẹ ebute náà wò pẹ̀lú irinṣẹ́ UDP dípò kí o rò pé ó ṣí. Jẹ́rìí pé gbogbo ìfiránṣẹ́ ebute lórí ọ̀nà ń tọ́ka sí ẹ̀rọ inú tí ó tọ̀nà àti pé ọ̀nà ìpadà wà. Bí orúkọ ẹ̀rọ bá yánjú sí àwọn àdírẹ́sì púpọ̀, dán ọ̀kọ̀ọ̀kan wò, nítorí olùbánisọ̀rọ̀ lè yan àdírẹ́sì tí o kò yẹ̀wò rí.
Àwọn àkọsílẹ̀ dúró-ṣinṣin ni a ń pè ní tààrà, wọn kì í sì í béèrè lọ́wọ́ ìlà-ìmọ́lẹ̀. Nítorí náà ìkùnà níbí dàbí àkókò-ìparí ojoojúmọ́ láìsí alábàáṣepọ̀ kankan.
Ohun tí ó ṣẹlẹ̀ lẹ́yìn ìbára-ẹni-lọ́wọ́ àkọ́kọ́
Bí ẹ̀rọ kan bá dé ìlà-ìmọ́lẹ̀, ó kọ́ nípa àwọn alábàáṣepọ̀ àti àwọn àdírẹ́sì wọn tí a lè dé láìsí àkọsílẹ̀ ọwọ́ mìíràn. Àwọn ẹ̀rọ tí wọ́n ti kó kúrò láti ìsopọ̀ tí ó kẹ́yìn di àwọn tí a lè ṣàwárí nípasẹ̀ ọ̀nà yẹn. Ìyẹn ni èrè fífi maapu ọwọ́ kúrú.
Àwọn ẹ̀rọ tún lè polongo àwọn àdírẹ́sì àfikún wọn tí a lè dé, àti bẹ́ẹ̀ ni alábàáṣepọ̀ tí ó wà lẹ́yìn àdírẹ́sì gbogbo ènìyàn tí a mọ̀ ń ràn àwọn mìíràn lọ́wọ́ láti rí i. Àwọn ìpolongo yẹn ni a ń kọ́, a kì í kọ wọ́n sínú maapu dúró-ṣinṣin.
Ìhùwàsí ìsọdọ̀tun ṣe pàtàkì fún àwọn ojú-ìparí tí a kọ gẹ́gẹ́ bí orúkọ DNS, nítorí àdírẹ́sì tí a yánjú lè yí padà nígbà tí ìlànà ń bá a lọ. Àwọn ìṣètò Nebula ń darí bí àwọn ìwádìí yẹn ṣe ń ṣẹlẹ̀, pẹ̀lú olùyánjú tí a ń lò, nítorí náà kà wọ́n dípò kí o rò pé ìpín àkọ́kọ́ ẹ̀rọ ni. Lórí ẹ̀rọ tí olùyánjú rẹ̀ ń yí padà nígbà tí ọ̀nà-ìsàlẹ̀ ga, ìṣètò tí kò tọ̀nà lè yí bootstrap tí ń ṣiṣẹ́ padà sí orúkọ tí ó dáwọ́ yíyánjú dúró ní àárín ìpàdé. Fífi ìwádìí mọ́ olùyánjú tí ó dúró ṣinṣin sábà máa ń jẹ́ ìyàtọ̀ láàárín overlay tí a gbẹ́kẹ̀lé àti èyí tí ó ń já.
Nígbà tí ìwádìí ń ṣiṣẹ́ tí alábàáṣepọ̀ kan kò ṣiṣẹ́
Bí àwọn ìlà-ìmọ́lẹ̀ bá dé, tí ọ̀pọ̀ jùlọ alábàáṣepọ̀ sì so pọ̀, bootstrap kì í ṣe ìṣòro. Tọkọtaya tí ó kù yálà kò rí ọ̀nà tí a lè lò sí ara wọn tàbí ó kùnà lókè ìdé. Fífi ìkọ̀wé mìíràn ti àdírẹ́sì ìlà-ìmọ́lẹ̀ kún kò lè tún ọ̀kan nínú àwọn ipò méjèèjì ṣe.
Yẹ tọkọtaya náà wò kí o tó ṣàtúnṣe maapu tí gbogbo nǹkan mìíràn ti gbẹ́kẹ̀lé. Ìyípadà maapu ń dàrú fún gbogbo ẹ̀rọ, nítorí náà ó jẹ́ ohun tí a kẹ́yìn fọwọ́ kàn, kì í ṣe ohun àkọ́kọ́.
Bẹ̀rẹ̀ pẹ̀lú àwọn ẹ̀rí láti ọ̀dọ̀ aláṣẹ kan náà, nítorí ìbára-ẹni-lọ́wọ́ tí a kọ̀ lè dàbí alábàáṣepọ̀ tí a kò lè dé láti ọ̀nà jínjìn. Lẹ́yìn náà yẹ bóyá tọkọtaya lè dá ọ̀nà tààrà sílẹ̀ àti bóyá a ti ṣètò relay fún àwọn nẹ́tíwọ́kì tí wọ́n kọ̀ ìrìnàjò tààrà. Relay ń fi ìfò kan àti ìgbẹ́kẹ̀lé kan kún, ṣùgbọ́n ó jẹ́ ìdáhùn tí a ṣe àtìlẹ́yìn fún, àti pípèsè ọ̀nà tọkọtaya tọ̀nà yàtọ̀ sí pípèsè ìwádìí tọ̀nà.