WireGuard konfiqurasiyasını sətir-sətir oxuyun: Interface-dən Peer-ə
Interface açarları bu son nöqtəyə, peer açarları qarşı tərəfə aiddir. Hər sətri bir istiqamət kimi oxuyun, sonra wg-quick-in protokol ətrafında nə əlavə etdiyini yoxlayın.
Əksər pozulmuş WireGuard konfiqurasiyaları dəyərdə səhv etmir; düzgün dəyəri yanlış tərəfə qoyurlar. Şəxsi açar bu maşına aiddir, peer digər maşının açıq açarını daşıyır və ünvan tunnelin harada yaşadığını təsvir etsə də interfeys blokunda oturur. Faylı iki istiqamətin görüşü kimi oxuyun, sonra köməkçi skriptin üstünə nə əlavə etdiyinə baxın. Protokolun özündə fayldakından az sahə var və əlavə sahələri ayrıca bilməyə dəyər.
Interfeys açarları bu maşını təsvir edir
İnterfeys bloku bu son nöqtənin öz kimliyini saxlayır. PrivateKey həmin kimlikdir və heç vaxt hostdan çıxmır; uyğun açıq açar ondan törədilir və digər peer-lərin sadaladığı elə odur. ListenPort bu tərəfin əl sıxmalarını qəbul etdiyi yerdir, ona görə bir ünvan arxasındakı iki müştəriyə fərqli portlar lazımdır.
Address bu hostun cavab verdiyi tunnel ünvanıdır və prefiks uzunluğu ilə yazılır, çünki istifadə edəcəyi mənbə də elə odur. Prefiksi burada səhv etmək hostun hansı təyinatları birbaşa linkdə saydığını dəyişir və bu, konfiqurasiya deyil, marşrutlaşdırma kimi görünən nasazlıqlar yaradır.
Adi müştəri ilə qalan hər şey [Interface] blokunda adətən wg-quick tərəfindən əlavə olunur: DNS, MTU, Table, və hook sətirləri. Onlar protokol sahələri deyil və çılpaq wg quraşdırması onları tamamilə nəzərə almır.
Hər peer girişi bir qarşı tərəfi təsvir edir
[Peer] bloku uzaq tərəfdir. PublicKey həmin tərəfin törəmə açarıdır, heç vaxt onun şəxsi açarı deyil və PresharedKey hər iki tərəfin eyni saxlamalı olduğu istəyə bağlı əlavə sirdir. Endpoint hara göndərmək olduğunu bildirir və PersistentKeepalive başqa heç nə çölə getmədiyi halda intervaldan sonra bu hostdan paket göndərməsini xahiş edir.
Buradakı qarışıqlığın çoxunu iki səhv izah edir. Öz şəxsi açarınızı peer blokuna köçürmək iki ucu bir kimlikdə birləşdirir və əl sıxma pis loglanan şəkildə uğursuz olur. Endpoint müştəridə buraxmaq adətən qəsdəndir, çünki server ünvanı gələn əl sıxmadan öyrənir; başlatmalı olan serverdə onu buraxmaq belə deyil. Həm də unutmayın ki, keepalive NAT xəritələnməsini açıq saxlayır və bu, ötürmə qabiliyyətini yaxşılaşdırmır, gecikməni azaltmır, ona görə trafik artıq axırsa, otuz saniyəlik əlavə paketlər heç nə qazandırmır.
AllowedIPs marşrutlaşdırmadır, icazə siyahısı deyil
AllowedIPs WireGuard-ın kriptoaçar marşrutlaşdırmasıdır. Çıxışda paketi təyinatına görə hansı peer-in alacağını müəyyən edir. Girişdə o peer-dən gələn paketin mənbəyinə görə qəbul edilib-edilməyəcəyini müəyyən edir. Eyni sahə hər iki işi görür, ona görə bu, girişə nəzarət siyahısı deyil və icazə verilmiş vebsaytlar siyahısı da deyil.
Dar AllowedIPs serverdə bir müştəri üçün o deməkdir ki, server yalnız həmin mənbələri iddia edən paketləri qəbul edəcək və yalnız həmin təyinatları o müştəriyə göndərəcək. Bir tərəfi digərini genişlətmədən genişlədin, nəticədə qalxan və heç nə keçirməyən tunnel alırsınız.
wg-quick protokolun ətrafına nə əlavə edir
wg-quick eyni faylı oxuyur və protokolun əməliyyat sisteminə buraxdığı şəbəkə addımlarını yerinə yetirir. İnterfeys ünvanını təyin edir, AllowedIPs-dən törədilmiş marşrutlar əlavə edir, həlledici parametrlərini yazır və hook əmrlərini sıra ilə işlədir.
Bu qat klassik asimmetriyanı izah edir. İçində 0.0.0.0/0 və DNS sətri olan fayl müştəriyə standart marşrut və həlledici verir və serverin yönləndirmə və ya NAT qaydalarına heç bir şey etmir. Onlar serverin öz konfiqurasiyasına aiddir və heç bir müştəri faylı onları təmin edə bilməz.
Fayl üçün bir sahib saxlayın. SaveConfig aktiv ikən onu əl ilə redaktə etmək o deməkdir ki, düzəlişiniz interfeys növbəti dəfə enəndə yox olur, və interfeys bunun baş verdiyini sizə deməyəcək.
Faylı deyil, tətbiq olunmuş vəziyyəti yoxlayın
Fayl niyyətdir. Tətbiq olunmuş vəziyyət nüvənin saxladığıdır və onlar hər dəfə aktivləşdirmədən sonra bir köməkçi, bir drop-in və ya bir hook nəyisə redaktə etdikdə ayrılır.
Canlı vəziyyəti və ünvanlamanı birlikdə oxuyun, sonra hər ikisini yazdığınızla müqayisə edin:
sudo wg show
ip -4 addr show dev wg0
ip -4 route show dev wg0
grep -v "^#" /etc/wireguard/wg0.confƏgər peer siyahısı boşdursa, interfeys konfiqurasiyası tətbiq olunmadan yaradılıb. Ünvanlar və marşrutlar varsa, lakin sayğaclar sıfırda qalırsa, fayl yüklənib və əl sıxma uğursuz olur, bu bölmə sırası deyil, açar və ya son nöqtə problemidir. Redaktədən əvvəl iki görünüşü müqayisə edin, çünki aralarındakı fərq adətən əsl nasazlıqdır.