Гэрэлт цамхаг бүр аль ч хостод бусад бүх түншийн тухай хэлж чадна, зөвхөн гэрэлт цамхаг өөрөө хаана байгааг эс тооцно. overlay бий болохоос өмнө ямар нэг зүйл мэдэгдэж байх ёстой бөгөөд Nebula тэр зүйлийг нэг жижиг зурагт хийдаг. Газрын зураг нь overlay таних тэмдгийг энгийн сүлжээнд ажилладаг хаягтай хослуулдаг. Дараа нь суралцсан бүхэн энэ хослол зөв байхаас хамаарна.

Хоёр үүрэгтэй хоёр хаяг

Nebula хост бүр төхөөрөмж сүлжээ хооронд шилжихэд тогтмол үлддэг overlay хаягтай. Тэр хаяг нь гэрчилгээ, галт ханын дүрэм, түншийн харилцааны ашигладаг таних тэмдэг бөгөөд дангаараа хаана ч маршрутладаггүй. Хүрэх боломжтой төгсгөлийн цэг нь өөр зүйл: доод сүлжээний хостны нэр эсвэл хаяг дээр UDP порт нэмсэн нь бөгөөд машин байршлаа солих бүрт өөрчлөгддөг. Статик зураг нь хоёрын хоорондын холбоос юм.

Зурагт зөвхөн хүйтнээр залгах шаардлагатай хостнууд ордог бөгөөд энэ нь ихэвчлэн гэрэлт цамхагууд ба магадгүй нэг релей гэсэн үг. Тэр жагсаалтыг богино байлгах нь дизайны зорилго, учир нь гар аргаар хийсэн бичилт бүр хэн нэгний арчлах ёстой баримт болдог. Хоёр төрлийн хаягийг андуурах нь түгээмэл тохиргооны алдаа: гэрэлт цамхагийн жагсаалтад тавьсан нийтийн хаяг нээлтийг эхлүүлдэггүй.

Таних тэмдэг нь таних тэмдэг хүлээгдэж буй газар явна. Хүрэх боломж нь зурагт явна.

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

lighthouse:
  am_lighthouse: false
  hosts:
    - "10.42.0.1"

Зургийн бичлэгийн бүтэц

Түлхүүр нь хашилтад бичсэн мөр хэлбэрийн overlay хаяг бөгөөд утга нь төгсгөлийн цэгүүдийн жагсаалт тул нэг таних тэмдэг хэд хэдэн орох цэгтэй байж болно. Төгсгөлийн цэг бүр хост ба порт агуулдаг бөгөөд порт нь нөгөө талын үнэхээр сонсож буй зүйлтэй тохирох ёстой. Nebula-гийн өгөгдмөл нь UDP 4242 бөгөөд энэ нь эхлэх цэг, таны байршуулалтын тухай амлалт биш.

Гэрэлт цамхагт нэвтрэх нэгээс олон зам байвал хэд хэдэн төгсгөлийн цэг ашигтай, жишээ нь нийтийн хаяг ба ижил сегментийн хостнуудад зориулсан хувийн хаяг. Клиент тэдгээрийг дарааллаар нь туршдаг тул хамгийн найдвартайг эхэнд тавь. IPv6-д порт нэмэхийн өмнө хаягийг дөрвөлжин хаалтанд хий; алдвал буруу мөр рүү заасан задлан шинжилгээний алдаа гарна.

Буруу порт алдааны оронд чимээгүй байдал өгдөг, учир нь UDP-д татгалзах гар барилт байхгүй. Тиймээс бичлэгийн хэлбэрийг Nebula static_host_map лавлагаатай харьцуулж шалгах нь зүйтэй, ой санамжтай биш. Лавлагаа нь төгсгөлийн цэгийн жагсаалт ба DNS шинэчлэлтийн зан төлөвийг мөн хамардаг.

overlay-ээс өмнө ачаалалт ажиллах ёстой

Зурагт байгаа DNS нэр ямар ч туннель байхаас өмнө хостод байгаа шийдвэрлэгчээр шийдэгдэх ёстой, өөрөөр хэлбэл энгийн системийн шийдвэрлэгч. Үүнийг ижил машинаас, ачаалах үед, overlay-г зогсоосон байхад шалга. Зөвхөн overlay-ийн өөрийн DNS-ээр шийдэгддэг нэр overlay-г ачаалж чадахгүй. Мөн адил шалгалт маршрутад хамаарна: overlay-г зөвшөөрөх боловч эхний UDP солилцоог зөвшөөрөхгүй галт ханын дүрэм эхний пакетыг блоколдог.

Портыг нээлттэй гэж таамаглахын оронд UDP хэрэгслээр шалга. Зам дээрх аливаа портын дамжуулалт зөв дотоод хост руу чиглэж байгаа ба буцах зам байгааг батал. Хэрэв хостны нэр хэд хэдэн хаяг руу шийдэгдвэл тус бүрийг шалга, учир нь клиент таны хэзээ ч шалгаагүй хаяг сонгож болно.

Статик бичлэгүүд шууд залгагддаг ба хэзээ ч гэрэлт цамхагаас асуудаггүй. Тиймээс эндхийн бүтэлгүйтэл ямар ч түншгүй энгийн хугацаа дуусалт мэт харагдана.

Эхний гар барилтын дараа юу болдог

Хост гэрэлт цамхагт хүрмэгц нэмэлт гарын бичилтгүйгээр түншүүд ба тэдний хүрэх боломжтой хаягуудын талаар мэддэг. Сүүлийн холболтоос хойш шилжсэн хостнууд тэр сувгаар илрүүлэгдэх боломжтой болдог. Энэ нь гарын зургийг жижиг байлгасны шагнал.

Хостнууд өөрсдийн нэмэлт хүрэх боломжтой хаягуудыг зарлаж болно, ингэснээр мэдэгдэж буй нийтийн хаягийн ард байгаа түнш бусдад түүнийг олоход тусалдаг. Тэдгээр зарлалыг сурдаг, статик зурагт бичдэггүй.

DNS нэр хэлбэрээр бичсэн төгсгөлийн цэгүүдэд шинэчлэлтийн зан төлөв чухал, учир нь процесс үргэлжлэх үед шийдэгдсэн хаяг өөрчлөгдөж болно. Nebula-гийн тохиргоо нь тэдгээр хайлт хэрхэн явагдах, аль шийдвэрлэгч ашиглахыг хянадаг тул системийн өгөгдмөлийг таамаглахын оронд уншиж үз. Туннель босох үед шийдвэрлэгч нь өөрчлөгддөг хост дээр буруу тохиргоо ажиллаж буй ачаалалтыг сессийн дунд шийдэгдэхээ болих нэр болгож болно. Хайлтыг тогтвортой шийдвэрлэгчид бэхлэх нь найдвартай overlay ба хааяа тасардаг overlay-ийн ялгаа байх нь олон.

Нээлт ажиллаж, нэг түнш ажиллахгүй үед

Гэрэлт цамхагууд хүрэх боломжтой бөгөөд ихэнх түншүүд холбогддог бол ачаалалт нь асуудал биш. Үлдсэн хос нь хоорондоо ашиглах боломжтой зам олж чадахгүй эсвэл хүрэх боломжоос дээгүүр бүтэлгүйтдэг. Гэрэлт цамхагийн хаягийн өөр нэг бичлэг нэмэх нь хоёр тохиолдлын алийг ч засахгүй.

Бусад бүхэн аль хэдийн тулгуурладаг зургийг засахын өмнө хосыг шалга. Зургийн өөрчлөлт хост бүрийг сүйтгэдэг тул хамгийн сүүлд хүрэх зүйл, эхнийх биш.

Ижил байгууллагын гэрчилгээнээс эхэл, учир нь татгалзсан гар барилт холоос хүрэх боломжгүй түнш мэт харагдаж болно. Дараа нь хос шууд зам тогтоож чадах эсэх, шууд урсгалыг татгалздаг сүлжээнд зориулж релей тохируулагдсан эсэхийг шалга. Релей нэг алхам ба нэг хамаарал нэмдэг ч энэ нь дэмжигдсэн хариулт бөгөөд хосын замыг засах нь нээлтийг засахаас өөр ажил.

Холбоотой нийтлэлүүд