OpenVPN: local və tunnel ünvanı — iki fərqli soket
Serverlə əlaqə saxlayan ünvan tunnelin içindəki ünvan deyil. local, remote və nobind-i ayrı rollar kimi oxumaq bağlanma xətalarının çoxunu izah edir.
Klient işə düşməkdən imtina edir və yerli ünvanı bağlaya bilmədiyindən şikayət edir; aşkar həll onu gözlədiyi tunnel ünvanına yönəltmək kimi görünür. Bu işləyə bilməz və səbəbi anlamağa dəyər: tunnel mövcud olmadan əvvəl içəridə ünvan yoxdur və serverlə əlaqə saxlayan soket əvvəlcə mövcud olmalıdır. Burada iki fərqli ünvan var və onlardan yalnız biri yerli olaraq seçilə bilər.
Bağlanma xətası yerli ünvanı adlandırır
OpenVPN yerli ünvanı bağlaya bilmədiyini bildirdikdə, transport soketindən danışır: şifrələnmiş bağlantını peer-ə daşıyan UDP və ya TCP son nöqtəsi.
Açıq local direktivi daemondan həmin soketi konkret yerli ünvana bağlamağı tələb edir. Ünvan prosesin işlədiyi şəbəkə adlar fəzasında mövcud olmalı və klient başlayan anda təyin edilə bilməlidir.
Routerdə və ya bulud kənarında tərcümə olunan ümumi ünvan daemonun bağlaya biləcəyi yerli ünvan deyil, hərçənd serverin gördüyü ünvan məhz odur. Bu fərq bir profilin evdə işləyib bulud instansiyasında uğursuz olmasını izah edir. O, həmçinin ümumi ünvanı loopback interfeysinə əlavə etməyin niyə kömək etmədiyini izah edir, çünki transport onda şəbəkənin geri qaytara bilmədiyi ünvandan çıxış edərdi. Profili redaktə etməzdən əvvəl interfeys siyahısını oxuyun.
local və remote əslində nəyi seçir
remote əlaqə saxlanılacaq peer-i adlandırır. local eyni soketin yaxın ucunu bağlayır. nobind həm yerli ünvanı, həm də portu əməliyyat sisteminin seçməsinə imkan verir; buna görə ev routerləri arxasındakı klientlər adətən heç bir direktiv olmadan işləyir.
Heç bir direktivin tunnelin içindəki ünvanla heç bir əlaqəsi yoxdur.
Konteynerdə və ya şəbəkə adlar fəzasında eyni qayda daha dar sərhədlərlə tətbiq olunur: hostun ünvanları içəridə yoxdur, ona görə host konfiqurasiyasından kopyalanmış local sətri səhv ünvandan tamamilə fərqli səbəbdən uğursuz olur.
ip -brief address show
ip route get 203.0.113.10Daxili ünvan serverdən gəlir
Tunnelin içindəki ünvan nəzarət kanalı qurulduqdan sonra razılaşdırılır və ya təyin edilir. Dinamik hovuzda server bunu qoşulma anında qərar verir, klientə xas konfiqurasiyada isə hər identiklik üçün sabit ola bilər.
local sətrini daxili ünvanla yazmaq serverdən həmin ünvanın ayrılmasını istəmir. Ən yaxşı halda bağlanma uğursuz olur; ən pis halda klient eyni dəyərə malik əlaqəsiz host ünvanı tapır və onu transport üçün istifadə etməyə başlayır.
Oxunmalı interfeyslər də fərqlidir. ifconfig parametrləri və hovuz konfiqurasiyası içərini təsvir edir, halbuki remote, local, proto və nobind xarici təsvir edir. İki siyahını ayrı saxlamaq forumda tapacağınız demək olar ki, hər qarışıq nümunəni izah edir. OpenVPN 2.6 təlimatı onları məhz bu səbəbdən ayrı bölmələrdə sənədləşdirir.
Tələ: öz transportunu tutan tam tunnel
Tunnel qalxdıqdan və defolt marşrutu daşıdıqdan sonra onu saxlayan paketlər onun içindən yönləndirilməməlidir. Bu, ünvanlama deyil, marşrutlaşdırma problemidir və daemon bunu serverin öz ünvanına orijinal şlüz vasitəsilə daha xüsusi marşrut quraşdırmaqla həll edir.
Transportu konkret yerli ünvana bağlasanız və sonra həmin ünvanın istifadə etdiyi yolu dəyişsəniz, xarici bağlantı yolunu itirə bilər, halbuki içəri konfiqurasiya olunmuş qalır. Tunnel içəri yaxşı olduğu üçün bağlı olduğunu bildirməyə davam edir. Yalnız transport pozulur və buna görə jurnallar ziddiyyət kimi oxunur.
Simptomlar sonra qoşulan və donan tunnelə, ya da faydalı xəta olmadan dövrə ilə yenidən qoşulan tunnelə bənzəyir. Tunnelin içində hər hansı şeyi yoxlamazdan əvvəl peer ünvanı üçün marşrutu yoxlayın və bağladığınız yerli ünvanın həqiqətən gözlədiyiniz interfeysə aid olduğunu təsdiqləyin.
Qarışıqlığın qarşısını alan bir vərdiş
Profildəki hər ünvanı oxuyun və redaktə etməzdən əvvəl onun hansı qata aid olduğuna qərar verin.
Əgər o, transportun uzaq ucunu adlandırırsa və ya onun yaxın ucunu bağlayırsa, bu xarici ünvandır və başlamazdan əvvəl mövcud olmalıdır. Əgər tunnelin içində baş verəni təsvir edirsə, o, serverdən və ya topologiyadan gəlir və heç bir yerli direktiv onu əvəz edə bilməz.
İki siyahını profilin yanındakı yerləşdirmə qeydlərinə yazın. Növbəti nasazlıq aradan qaldırma sessiyası o zaman təxminlə deyil, qatla başlayır.