static_host_map və advertise_addrs parametrləri hər ikisi peer-in qarşısına ünvan qoyur və fərqli suallara cavab verir. Biri overlay ünvanını və qoşulacaq underlay son nöqtəsini sadalayan yerli fayldır. Digəri isə hostun mayaklarına onu hansı əlavə son nöqtələrin əldə edə biləcəyini bildirməsidir. Əsl fərq sahiblikdir: xəritə ona ehtiyacı olan hər kəs tərəfindən saxlanılır, elan isə hostun özü tərəfindən.

Məlumatın kimə aid olduğuna görə qərar verin

SettingWhere it livesBest for
static_host_mapEvery peer that needs the entryBootstrap endpoints, deliberately fixed paths
advertise_addrsThe host's own configEndpoints the host cannot otherwise discover

Hər peer-in statik faylındakı hər dəyişən peer, donanmanın kvadratı ilə artan bir baxım işidir. Host cavabı özü bildikdə digər parametrə müraciət etməyin praktik səbəbi budur.

Sahiblik sualı ünvan dəyişdikdə nə olacağını da proqnozlaşdırır. Statik xəritədə köhnə qeydi saxlayan hər peer-i kiminsə yadda saxlaması lazımdır. Elanla isə host yeni son nöqtəni yayımlayır və mayakları onu ötürür, beləliklə dəyişiklik köçən maşında yerli qalır.

Bootstrap hələ də statik qeydlər tələb edir

Müştəri başqalarından digər peer-lər barədə soruşmadan əvvəl ən azı bir mayaka çatmalıdır. Bu ilk addım kəşfdən gələ bilməz, buna görə müştərinin konfiqurasiyasındakı statik qeyd istifadə olunur. Bu bir qeydi düzgün edin və overlay-in qalan hissəsi öyrənilə bilər.

Xəritə qeydi Nebula ünvanını bir və ya bir neçə əlçatan IP və ya DNS son nöqtəsi və portu ilə cütləşdirir. Mayakları orada saxlamaq normaldır; hər peer-i orada saxlamaq isə pis qocalan nümunədir, çünki hər yeni peer nəzarət etmədiyiniz maşınlarda faylları redaktə etmək deməkdir. Siyahını insanın oxuyaraq yoxlaya biləcəyi qədər qısa saxlayın.

Host son nöqtəni bildikdə elan edin

Port yönləndirməsi arxasındakı host, öz interfeyslərindən heç birinə təyin edilməmiş ictimai ünvandan əldə edilə bilər. O, özünə baxaraq bu ünvanı kəşf edə bilməz. advertise_addrs ona son nöqtəni mayakları vasitəsilə yayımlamağa imkan verir ki, digər peer-lər həqiqətən işləyən bir yol öyrənsin. Parametr məhz ona görə mövcuddur ki, host xəritələnmənin edildiyini bilən yeganə tərəfdir.

Digər peer-lərin həqiqətən əldə edə biləcəyi ünvanı və portu istifadə edin. Eyni məntiq bir neçə şəbəkə yolu olan host üçün də keçərlidir, burada müəyyən şəbəkədəki peer-lər üçün bir yol üstünlük təşkil edir. Elan underlay haqqında bəyanatdır, heç bir şey üçün sorğu deyil. Xəritələnmə dəyişdikdə elanı hostda yeniləyin və kəşfin onu daşımasına icazə verin, bütün donanmada statik faylları redaktə etmək əvəzinə.

Elan əlçatanlıq deyil

Son nöqtənin yayımlanması marşrutlaşdırıcının yönləndirmə qaydasını yaratmır, yuxarı axın firewall-unu açmır və ya DNS adının həll olunmasını təmin etmir. Bunlar ayrı iş hissələridir və port yönləndirməsi çatışmayan düzgün elan məhz düzəltməyə çalışdığınız nasazlığı yaradır. Elan əlçatanlıq barədə iddiadır, onu quran mexanizm deyil.

Kəşfi günahlandırmadan əvvəl yolu xaricdən yoxlayın. Son nöqtəni öyrənən, lakin handshake-i tamamlaya bilməyən peer-in underlay-də marşrutlaşdırma və ya filtrləmə problemi var və eyni ünvanı hər iki parametrdə təkrarlamaq bunu dəyişməyəcək.

Overlay ünvanını son nöqtədən ayrı saxlayın

Düyünün sertifikatı onun Nebula ünvanını müəyyən edir. Elan olunan ünvanlar alt şəbəkəyə aiddir və sertifikata toxunmadan dəyişə bilər. Fərqli overlay IP ilə yeni sertifikat buraxmaq fərqli bir əməliyyatdır və köhnəni bərkidən hər etimad əlaqəsi üçün öz nəticələri var. İki dəyişikliyi runbook-da ayrı saxlayın, əks halda son nöqtənin köçürülməsi yenidən buraxılış kimi qeyd olunacaq.

Triage dayandıqda iki qatı açıq şəkildə ayırın: kəşf gözlənilən son nöqtəni qaytarır və handshake ona çatır mı? Əgər kəşf düzdürsə və paketlər uğursuz olursa, problem overlay-in altındadır. Əgər kəşf səhvdirsə, problem xəritədə və ya elanda, düzəliş də oradadır.

Əlaqəli məqalələr