İki /1 prefiksi bir /0 ilə tam eyni IPv4 ünvanlarını əhatə edir və bu bərabərlik yalnız peer-in icazə verilmiş prefikslər siyahısı daxilində keçərlidir. Quraşdırma alətinin necə yönləndirəcəyinə qərar verdiyi anda o, keçərliliyini itirir, çünki Linux-da wg-quick defolt prefiksi hesab əməliyyatı kimi deyil, xüsusi hal kimi emal edir. Xüsusi budaq ayrıca cədvəl, iki siyasət qaydası, soket işarəsi və əks yol parametrləri quraşdırır ki, bunların heç birini bir cüt yarım marşrut almır. Ona görə də redaktədən sonra proxy və ya brauzer işləməyi dayandırdıqda, prefikslər dəyişikliyin ən az maraqlı hissəsidir.

Prefiks siyahısı bütün konfiqurasiya deyil

AllowedIPs eyni anda iki iş görür və yalnız biri əhatə ilə bağlıdır. WireGuard-ın özü üçün siyahı kriptoaçar marşrutlaşdırmasıdır: hansı təyinatların peer-ə doğru şifrələndiyini və həmin peer-in hansı mənbə ünvanlarından istifadə edə biləcəyini müəyyən edir. wg-quick üçün isə eyni siyahı həm də marşrut spesifikasiyası rolunu oynayır və yaratdığı marşrut siyahının hansı budağa uyğun gəlməsindən asılıdır. Buna görə iki fərqli siyahı forması üzrə eyni əhatə, eyni host vəziyyəti barədə heç nə demir.

Defolt konfiqurasiya bu qərarı sizin əlinizdən alır, çünki Table defolt olaraq avtomatikdir və alət marşrutların hara düşəcəyini özü seçir. Fərqli şəbəkə meneceri, distributiv sarğısı və ya fərdi Table dəyəri nəticəni yenidən dəyişir; buna görə bir host üçün yazılmış məsləhət növbəti hostda yanlış görünə bilər.

Defolt budaq marşrutdan əlavə nə verir

/0 qeydi wg-quick alətini öz defolt marşrut yoluna salır: ayrıca marşrut cədvəli defoltu qəbul edir, bir siyasət qaydası işarələnməmiş trafiki oraya göndərir, ikinci qayda daha dəqiq əsas cədvəl marşrutlarını səlahiyyətli saxlayır və interfeys öz soketinə firewall işarəsi alır. Həmin işarə döngə qoruyucusudur. Tunel trafikini daşıyan şifrələnmiş datagramlar işarə qoyulmuş halda çıxır, beləliklə hər şeyi tunelə yönəldən qayda tunelin öz nəqliyyat paketlərini udmur.

Bir cüt /1 qeydi isə adi marşrut yolunu tutur. Konfiqurasiya edilmiş cədvələ iki marşrut düşür və ətrafdakı mexanizmin heç biri görünmür; bu, onun lazımsız olmasına görə deyil, həmin kod yoluna heç vaxt daxil olunmamasına görədir.

İki düzüm harada ayrılır

Ayrılma ilk növbədə rekursiya kimi görünür. Yarım marşrutlar əsas cədvəldə olduqda, peer-in öz nəqliyyat ünvanı tunel prefiksinin içinə düşür, yəni tuneli daşımalı olan paket tunelin içinə baxan marşruta uyğun gəlir. Nəyinsə onu istisna etməsi lazımdır: cari son nöqtə üçün host marşrutu, əl ilə tətbiq edilmiş işarə və ya interfeysə xas qayda. Host marşrutu son nöqtə ünvanı dəyişənə qədər işləyir, bu da DNS əsaslı son nöqtələrdə, gəzən müştərilərdə və çoxpeerli konfiqurasiyalarda baş verir.

İkincisi, işarələr barədə düşünən hər şey davranışını dəyişir. Bağlantıları yerli olaraq yönləndirən şəffaf proxy yeni soketlər yaradır ki, onların işarələri və mənbələri ilkin müştəri axınından fərqlənir, və defolt budağın yaratdığı siyasət qaydaları həmin axınların ayrılmasının bir hissəsi idi. Proxy-nin öz çıxan bağlantısını oxumaq, ilkin təyinatın əlçatan olub-olmadığını yoxlamaqdan fərqli bir məşğuliyyətdir.

Redaktədən əvvəl qaydaları və işarələri oxuyun

Tunel sağlam ikən cari vəziyyəti, sonra dəyişiklikdən sonra yenidən çəkin və konfiqurasiya faylından nəticə çıxarmaq əvəzinə iki çıxarışı müqayisə edin. Siyasət qaydalarını, hər cədvəli, interfeysin işarəsini və qeydə alınmış son nöqtələri daxil edin.

ip rule show
ip -4 route show table all | grep -E 'default|wg1'
wg show wg1 fwmark
wg show wg1 endpoints

Çıxışın ilk sətri işarələnməmiş trafik qaydasını itiribsə və ayrılmış cədvəl boşdursa, defolt budaq işləmir və heç bir prefiks hesabı onun təsirlərini bərpa etməyəcək. Əvvəllər işarə daşıyan interfeysdə sıfır işarəsi eyni siqnaldır və tək bir dəyərdə görünür.

Yerləşdirmədən əvvəl tunel itkisini məşq edin

Yarım marşrut düzümü qəsdən seçilmişdirsə, o, çatışmayan hissələri açıq şəkildə təmin etməlidir: ünvan dəyişikliklərinə dözən son nöqtə yolu, tunel düşdükdə nəzərdə tutulan davranış və IPv6 üçün ekvivalent yanaşma. Bunları kəsinti zamanı kəşf etmək əvəzinə tələb kimi yazın. Sonra nasazlığı məşq edin, çünki səssizcə fiziki yuxarı kanala düşən tam tunel işləməyi dayandırandan pisdir.

sudo ip -4 route add 198.51.100.20/32 via 192.0.2.1 dev eth0
ip -4 route get 198.51.100.20
sudo wg-quick down wg1

Marşrut axtarışı son nöqtəni tuneldən keçmədən fiziki interfeysdən həll etməlidir və interfeysi aşağı salmaq hostu dizaynın vəd etdiyi vəziyyətdə qoymalıdır. Dəyişdirmədən sonra işləyən proxy yaradılmış host vəziyyətinin vacib olduğunu sübut edir; lakin döngənin qarşısının alınmasının və aşağı vəziyyət davranışının redaktədən sağ çıxdığını sübut etmir.

Əlaqəli məqalələr