Hər mayak bir hosta bütün digər peerlər haqqında məlumat verə bilər, yalnız mayakın özünün yaşadığı yer istisna olmaqla. Overley mövcud olmadan əvvəl nə isə bilinməlidir və Nebula həmin nə isəni bir kiçik xəritəyə qoyur. Xəritə overley kimliyini adi şəbəkədə işləyən ünvanla cütləşdirir. Sonradan öyrənilən hər şey bu cütləşmənin düzgün olmasından asılıdır.

İki işi olan iki ünvan

Hər Nebula hostu cihaz şəbəkələr arasında hərəkət edərkən sabit qalan bir overley ünvanına malikdir. Bu ünvan sertifikatların, firewall qaydalarının və peer əlaqələrinin istifadə etdiyi kimlikdir və tək başına heç bir yerə marşrutlaşdırmır. Əlçatan son nöqtə başqa şeydir: əsas şəbəkədə host adı və ya ünvan üstəgəl UDP portu və maşın yer dəyişdikcə dəyişir. Statik xəritə ikisi arasındakı birləşmədir.

Xəritəyə yalnız soyuq yığılmalı hostlar daxil olmalıdır, bu da adətən mayaklar və bəlkə bir relay deməkdir. Bu siyahını qısa saxlamaq dizayn hədəfidir, çünki hər əl ilə giriş kiminsə saxlamalı olduğu bir fakta çevrilir. İki ünvan tipini qarışdırmaq adi konfiqurasiya səhvidir: mayak siyahısına qoyulan ictimai ünvan kəşfin başlamasına səbəb olmur.

Kimlik kimliyin gözlənildiyi yerə gedir. Əlçatanlıq xəritəyə gedir.

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

lighthouse:
  am_lighthouse: false
  hosts:
    - "10.42.0.1"

Xəritə girişinin anatomiyası

Açar dırnaq işarələri içində yazılmış overley ünvanıdır, dəyər isə son nöqtələrin siyahısıdır, beləliklə bir kimliyin bir neçə giriş nöqtəsi ola bilər. Hər son nöqtə host və port daşıyır, port qarşı tərəfin həqiqətən dinlədiyi ilə uyğun olmalıdır. Nebula-nın susmaya görə dəyəri UDP 4242-dir ki, bu da sizin yerləşdirməniz barədə vəd deyil, başlanğıc nöqtəsidir.

Bir mayakın içəri birdən çox yolu olduqda bir neçə son nöqtə faydalıdır, məsələn ictimai ünvan və eyni seqmentdəki hostlar üçün özəl ünvan. Müştəri onları sıra ilə yoxlayır, ona görə ən etibarlı olanı birinci qoyun. IPv6 üçün portu əlavə etməzdən əvvəl ünvanı mötərizəyə salın; bunu səhv etmək səhv sətri göstərən təhlil xətası yaradır.

Səhv port xəta əvəzinə sükut yaradır, çünki UDP-nin rədd edəcək əl sıxışması yoxdur. Bu, giriş formatını yaddaşa deyil, Nebula static_host_map istinadı ilə yoxlamağa dəyər edir. İstinad həmçinin son nöqtə siyahılarını və DNS yenilənmə davranışını əhatə edir.

Yükləmə overleydən əvvəl işləməlidir

Xəritədəki DNS adı hər hansı tunel mövcud olmadan əvvəl hostun malik olduğu həlledicidən, yəni adi sistem həlledicisindən həll olunmalıdır. Bunu eyni maşından, yükləmə zamanı, overley dayandırılmış halda yoxlayın. Yalnız overleyn öz DNS-i ilə həll olunan ad overleyi yükləyə bilməz. Eyni yoxlama marşrut üçün də keçərlidir: overleyə icazə verən, lakin ilk UDP mübadiləsinə verməyən firewall qaydası ilkin paketi bloklayır.

Portu açıq olduğunu fərz etmək əvəzinə UDP aləti ilə yoxlayın. Yoldakı hər hansı port yönləndirməsinin düzgün daxili hostu hədəf aldığını və geri yolun mövcud olduğunu təsdiqləyin. Host adı bir neçə ünvana həll olunursa, hər birini yoxlayın, çünki müştəri heç vaxt yoxlamadığınız ünvanı seçə bilər.

Statik girişlər birbaşa yığılır və heç vaxt mayakla məsləhətləşmir. Buna görə buradakı nasazlıq heç bir peer iştirak etmədən adi fasilə kimi görünür.

İlk əl sıxışmadan sonra nə baş verir

Host mayaka çatan kimi daha çox əl ilə giriş olmadan peerlər və onların əlçatan ünvanları haqqında öyrənir. Son qoşulmadan bəri yerini dəyişmiş hostlar həmin kanal vasitəsilə kəşf edilə bilən olur. Bu, əl ilə xəritəni kiçik saxlamağın qazancıdır.

Hostlar həmçinin özlərinin əlavə əlçatan ünvanlarını elan edə bilər, beləliklə tanınmış ictimai ünvan arxasındakı peer başqalarına onu tapmağa kömək edir. Həmin elanlar öyrənilir, statik xəritəyə yazılmır.

DNS adları kimi yazılmış son nöqtələr üçün yenilənmə davranışı vacibdir, çünki həll olunmuş ünvan proses işləməyə davam edərkən dəyişə bilər. Nebula-nın parametrləri bu axtarışların necə baş verdiyini, hansı həlledicinin istifadə olunduğu da daxil olmaqla idarə edir, ona görə sistem susmaya görə dəyərini fərz etmək əvəzinə onları oxuyun. Tunel qalxdıqda həlledicisi dəyişən hostda səhv parametr işləyən yükləməni sessiyanın ortasında həll olunmağı dayandıran ada çevirə bilər. Axtarışı sabit həllediciyə bağlamaq çox vaxt etibarlı overley ilə fasiləli overley arasındakı fərqdir.

Kəşf işləyəndə və bir peer işləməyəndə

Mayaklar əlçatandırsa və peerlərin çoxu qoşulursa, problem yükləmə deyil. Qalan cüt ya bir-birinə yararlı yol tapa bilmir, ya da əlçatanlıqdan yuxarıda uğursuz olur. Mayak ünvanının başqa yazılışını əlavə etmək iki halın heç birini düzəldə bilməz.

Hər şeyin artıq güvəndiyi xəritəni redaktə etməzdən əvvəl cütü yoxlayın. Xəritə dəyişikliyi hər hostu narahat edir, ona görə toxunulacaq son şeydir, birinci deyil.

Eyni orqandan olan sertifikatlarla başlayın, çünki rədd edilmiş əl sıxışma uzaqdan əlçatmaz peer kimi görünə bilər. Sonra cütün birbaşa yol qura bilib-qurmadığını və birbaşa trafiki rədd edən şəbəkələr üçün relay konfiqurasiya olunub-olunmadığını yoxlayın. Relay bir hop və asılılıq əlavə edir, lakin dəstəklənən cavabdır və peer yolunu düzəltmək kəşfi düzəltməkdən fərqli bir işdir.

Əlaqəli məqalələr