Bir WireGuard həmkarı trafiki keçirir, ikincisi əl sıxışmasını tamamlayır, amma tunelin arxasındakı heç bir şeyə çatmır. İşləyən həmkar sizə interfeysin, UDP portunun və server açarının böyük ehtimalla qaydasında olduğunu söyləyir. Bu, ikinci həmkarın AllowedIPs siyahısı, daxili mənbə ünvanı və ya aradakı yönləndirmə qaydaları barədə heç nə demir. Siyahını sıra ilə işləyin və şərti ödəməyən ilk addımda dayanın.

Addım 1: Paketin keçməli olduğu yolu yazın

Eyni mərkəzdəki iki müştəri avtomatik olaraq bir-birinə çatmır. Mərkəz-şüa dizaynında server paketi wg0 üzərindən qəbul edir və onu yenidən wg0-dan digər həmkara yönləndirməlidir, bu da IP yönləndirməsi və yönləndirmə qaydası tələb edir. Birbaşa həmkar-həmkar dizaynında hər tərəf digərinin son nöqtəsini və digərinin tunel ünvanını AllowedIPs daxilində bilməlidir. Hər hansı konfiqurasiyanı oxumadan əvvəl hansı dizaynı sazladığınızı müəyyən edin.

Gözlənilən yol həm də haraya baxacağınızı göstərir. Paket mərkəzdən keçməlidirsə, uğursuz addım ya göndərənin AllowedIPs siyahısı, ya mərkəzin yönləndirməsi, ya da qəbul edənin AllowedIPs siyahısıdır. Birbaşa getməlidirsə, mərkəz əhəmiyyətsizdir və hər iki həmkardakı son nöqtə sahələri vacibdir.

Addım 2: AllowedIPs siyahısını bir tərəfdə deyil, hər iki tərəfdə müqayisə edin

WireGuard AllowedIPs siyahısını həm marşrut cədvəli, həm də giriş siyahısı kimi istifadə edir. Göndərmə zamanı tuneli seçmək üçün təyinat ünvanı həmkarın AllowedIPs siyahısında axtarılır; qəbul zamanı daxili mənbə ünvanı göndərən həmkarın AllowedIPs siyahısına düşməlidir, əks halda paket atılır. Hər iki tərəfdə çatışmayan aralıq eyni simptomu verir: nəqliyyat işləyir, yük yox olur.

Faylı deyil, canlı vəziyyəti oxuyun, çünki yenidən yükləmə səssizcə uğursuz ola bilər: sudo wg show wg0 allowed-ips. Serverdə uğursuz həmkarın qeydi onun tunel ünvanını, məsələn 10.90.0.3/32 ünvanını əhatə etməlidir. Müştəridə server həmkarının qeydi sınaqdan keçirdiyiniz təyinatı əhatə etməlidir, istər mərkəzin tunel ünvanı, istərsə uzaq alt şəbəkə olsun. Üst-üstə düşən aralıqlar axtarışı qeyri-müəyyən edir və nəzərdə tutmadığınız həmkarı seçə bilər, ona görə onları ayrı saxlayın.

Addım 3: Daxili mənbə ünvanını yoxlayın

10.90.0.3 ünvanını wg0 üzərindən yönləndirən, lakin paketləri Wi-Fi ünvanından göndərən müştəri qəbul edən tərəfindən rədd ediləcək, çünki mənbə həmkarın AllowedIPs siyahısına uyğun gəlmir. Nüvənin həqiqətən nə seçdiyini ip route get 10.90.0.3 from 10.90.0.2 ilə, tunel interfeysinə təyin edilmiş ünvanı isə ip -brief addr show wg0 ilə təsdiqləyin.

Qəbul edən Linux hostunda tərs yol filtri ikinci keçiddir. Geri marşruta sahib interfeysdə sərt rp_filter, geri yolu gəldiyi interfeysə uyğun gəlməyən tunel trafikini ata bilər. Onu söndürməzdən əvvəl effektiv dəyəri yoxlayın; bir çox topologiyada düzgün həll həlledici marşrutdur, yumşaldılmış filtr deyil.

Addım 4: Mərkəzin yönləndirməsini və geri yolunu nəzərdən keçirin

Mərkəz həmkarlar arasında yönləndirməlidirsə, nüvəyə net.ipv4.ip_forward=1 lazımdır və firewall yönləndirilən axını qəbul etməlidir: wg0-a giriş, wg0-dan çıxış, göndərənin tunel ünvanından qəbul edəninkinə. Ümumi nasazlıq UDP 51820-ni qəbul edən, lakin yönləndirmə qaydası olmayan giriş qaydasıdır], buna görə əl sıxışması uğurlu olur və yük ölür. Effektiv qaydaları sudo nft list ruleset və ya firewall menecerinizin ekvivalenti ilə sadalayın.

Sonra cavabı yoxlayın. Təyinat hostunun göndərənə geri marşrutu olmalıdır, istər mərkəz vasitəsilə, istərsə öz şlüzü vasitəsilə. Mərkəz tunel alt şəbəkəsini də NAT edirsə, tərcümənin yönləndirilən axına tətbiq olunduğunu və cavabın vəziyyət bitməzdən əvvəl mərkəzə çatdığını təsdiqləyin. Açar problemi kimi görünən birtərəfli nasazlıq çox vaxt sadəcə bu geri marşrutdur.

Nəhayət, əl sıxışmasını veriləndən ayırın. Əl sıxışmasını tamamlayan, lakin böyük ötürmələrdə dayanan həmkarın adətən məhz o yolda MTU və ya MSS problemi olur, AllowedIPs problemi deyil. Əvvəlcə kiçik pinglə, sonra tam ölçülü pinglə sınayın və iki həmkarı müqayisə edin.

Addım 5: Bir şeyi dəyişin və işləyən həmkarı toxunulmaz saxlayın

Uğursuz yolda tək bir dəyişiklik edin və hər iki həmkarı yenidən sınayın. Hər həmkarın AllowedIPs siyahısını 0.0.0.0/0 ilə əvəz etmək artıq işləyən həmkarı sındırmağın ən sürətli yoludur, çünki bu, həmin interfeysdəki bütün trafik üçün marşrut qərarını dəyişir. Tək həmkarı redaktə edin, yenidən yükləyin və canlı vəziyyəti geri oxuyun.

Hansı yolun uğurlu, hansının uğursuz olduğunu və hər biri üçün dəqiq əmr çıxışını qeyd edin. Bu müqayisə VPN-in pozulduğuna dair ümumi hesabatdan daha dəyərlidir və növbəti şəxsin ilk soruşacağı şey budur.

Əlaqəli məqalələr