Meshnet, Docker və aradakı icazə
Şəbəkədəki peer dərc edilmiş konteynerə çatanda host icazəsini və Docker tərcüməsini keçir. İkisini ayrıca nəzərdən keçirin, yoxsa səhv əhatəni təsdiqləyirsiniz.
İki URL peer-in brauzerindən eyni görünə bilər, amma firewall üçün tamam fərqli mənalar verir. Biri hostun özündə dinləyən xidmətə işarə edir. Digəri isə portu konteyner şəbəkəsinə dərc edilmiş host ünvanına işarə edir; burada tərcümə addımı bağlantını başqa IP-yə ötürür. Yerli şəbəkə girişini hər peer üçün icazə ilə idarə edən peer-to-peer şəbəkədə bu fərq bütün baxışdır.
İcazə host son nöqtəsinə aiddir, tərcümə Docker-ə aiddir, giriş isə tətbiqə aiddir. Üç qərar, üç baxılacaq yer.
Dərcdən sonra təyinatı izləyin
Konteynerin 80 portunu hostun 8080 portunda dərc edən Linux Docker hostunu götürün. Peer hostun mesh ünvanına 8080 üzərindən qoşulur, host bağlantını qəbul edir və təyinat tərcüməsi onu konteynerin körpü ünvanına, adətən 172.17.0.2:80 kimi bir ünvana yenidən yazır.
Bir qayda o axını yoxlayanda maraqlı təyinat host deyil, konteynerdir. Yalnız «bu maşındakı xidmət» barədə düşünən siyasət səhv obyekt barədə düşünür. Sorğu hosta düşdü, amma başqa yerə çatdırılır.
Buna görə mesh sənədləri Docker konteynerlərini Linux-da yerli şəbəkə icazəsinin idarə etdiyi resurslar sırasına daxil edir. İcazə adi VPN icazə siyahısı qeydinin sinonimi deyil və bu iki nəzarət bir-birini əvəz etmir. Biri peer-in yerli resurslara ümumiyyətlə çata biləcəyini, digəri isə tunel marşrutunun hansı təyinatları daşıdığını həll edir.
İcazənin nə qədər yerli giriş verdiyini müəyyənləşdirin
Peer-ə yerli şəbəkə girişi vermək tək konteyner qərarı deyil. Bu, həmin hostda dərc edilmiş digər xidmətləri aça bilər və hostun necə yönləndirməsindən asılı olaraq daha uzağa çata bilər. Bir idarə paneli üçün açarı basmazdan əvvəl faktiki əhatəni nəzərdən keçirin.
Sonra Docker-in portu harada dərc etdiyinə baxın. 0.0.0.0 üzərində dərc hər host ünvanında dinləyici yaradır və mesh qeydinin yanına adi LAN qeydi əlavə edə bilər. Tələb yalnız mesh-dirsə, dərci nəzərdə tutduğunuz konkret ünvana və ya interfeysə bağlayın və daha geniş bağlamaya rahatlıq kimi deyil, ayrıca tapıntı kimi baxın.
Host yönləndirmə siyasətini və tətbiqin öz autentifikasiyasını xidmət üçün kifayət qədər dar saxlayın. Şəxsi görünən URL giriş nəzarəti deyil və körpü şəbəkəsindəki hər mənbəyə etibar edən konteyner mesh peer-inin təsdiqlənməsi faktı ilə qorunmur. Tətbiqin autentifikasiyası üçüncü qərardır və istifadəçinin kim olduğunu bilən yeganə qərardır. Host səviyyəsində icazə bu biliyi verə bilməz.
İcazəni yoxlayın, təkcə URL-i deyil
Təsdiqlənmiş peer-dən dəqiq xidməti açın və işlədiyini təsdiqləyin. Sonra rədd edilməli qalan bir təyinatı yoxlayın və işləmədiyini təsdiqləyin. Yalnız uğurlu yolu yoxlamaq icazənin verildiyini bildirir; sərhədin düşündüyünüz yerdə olduğunu bildirmir.
Hostun öz xidmətini ayrıca müqayisə edin. Əgər verilənlər bazası hostda dinləyirsə və idarə paneli konteynerdə işləyirsə, onlar eyni icazədən fərqli yollarla keçir və hostun yönləndirmə siyasəti ilə eyni cür idarə olunmaya bilər. Baxış qeydini yazmazdan əvvəl hansının hansı olduğunu qeyd edin.
Girişi «sıfırlamaq» üçün Docker cədvəllərini və ya mesh müştərisinin qaydalarını təmizləməyin. Hər iki məhsul öz siyasət inteqrasiyasını quraşdırır və onu silmək, qiymətləndirməyiniz istənən nəzarətləri yan keçərək işləyən kimi görünən host yaradır. Bir qayda səhv görünürsə, onu oxuyun və yalnız o qaydayı dəyişin. Bir qaydanın nə etdiyini izah edə bilmirsinizsə, bu tapıntıdır, onu silmək üçün səbəb deyil.
Tapıntını sistemin öz terminləri ilə yazın
Əhəmiyyətli olan məhsulun həqiqətən tətbiq etdiyi fərqdir, baxış şablonundakı deyil: host son nöqtəsinə çatma icazəsi, yönləndirilmiş şəxsi resurslara çatma icazəsi və tətbiqdən istifadə icazəsi. Port dərc etmək bu üç qərarı olduğu yerdə saxlayır və onları bir hesab edən rəyçi səhv əhatəni təsdiqləyəcək.
Host ünvanını, dərc edilmiş portu, konteyner təyinatını və peer icazəsini eyni cümlədə göstərin. O cümlə başqası tərəfindən yoxlana bilər və bu, onu rəy deyil, tapıntı edir.