Bu təlimat proxy-dən xəbərdar tətbiqə mövcud WireGuard yoluna giriş verir, lakin VPN serverində və ya internetdə proxy portu yayımlamır. SOCKS demonu tətbiq interfeysini təmin edir, WireGuard artıq təsdiqlənmiş IP yolunu təmin edir və heç biri istifadəçini sizin əvəzinizə autentifikasiya etmir. Aşağıdakı hər addım yoxlaya biləcəyiniz bir nəticə verir və hər birinin geri qaytarılması var: instansiyanı dayandırın, qaydanı silin və ya tətbiqin proxy ayarını ləğv edin. Burada heç nə hostun defolt marşrutunu dəyişmir.

Nümunə Dante 1.4.x-in etibarlı Linux iş stansiyasında ayrılmış, idarə olunan instansiya kimi quraşdırıldığını, paketlə gələn xidmət hesabının və jurnal konfiqurasiyasının yerində qaldığını fərz edir. İş stansiyası 10.77.0.2 ünvanına WireGuard interfeysində sahibdir, 10.60.0.20:443 ünvanına həmin tunel vasitəsilə çatır və xidmətin düzgün adı app.corp.exampledir.

Addım 1: dinləyicini yalnız loopback-a bağlayın

Şəbəkə, metod və qayda bölmələrini instansiyanın aktiv konfiqurasiyasına yerləşdirin və nümunə ünvanları əvəz edin. Bütün server ayarları qayda bloklarından əvvəl gəlir:

internal: 127.0.0.1 port = 1080
external: 10.77.0.2
external.protocol: ipv4
clientmethod: none
socksmethod: none

client pass {
    from: 127.0.0.1/32 to: 127.0.0.1/32
}

socks pass {
    from: 127.0.0.1/32 to: 10.60.0.20/32 port = 443
    command: connect
    protocol: tcp
}

Bu, paketin istifadəçi və jurnal ayarlarını əvəz edən deyil, bir fraqmentdir. İstifadə olunmayan lokal port seçin və bu ayrılmış instansiyanın başqa dinləyicisi, daha geniş keçid qaydaları və müqaviləni dəyişəcək yuxarı zəncir girişləri olmadığını təsdiqləyin. Əgər əvvəlki konfiqurasiya socks pass üçün təyinat məhdudiyyəti olmadan saxlamışsa, hər hansı testdən əvvəl onu silin.

Bu addımın geri qaytarılması instansiyanı dayandırmaqdır; konfiqurasiya faylı geri qaytardığınız müddətdə diskdə qala bilər.

Addım 2: bir deyil, iki qayda yazın

Dante-nin konfiqurasiya arayışı iki qayda növünə fərqli vəzifələr verir. Müştəri qaydası loopback dinləyicisinə bağlantıya icazə verir və onun təyinatı dinləyicinin öz ünvanıdır. SOCKS qaydası tələb olunan sonrakı bağlantıya təsdiqlənmiş host və porta icazə verir. Uyğun olmayan sorğular defolt olaraq bloklanır, buna görə çatışmayan qayda pozulmuş marşrutla eyni görünür.

Bu konfiqurasiyanın qəsdən etmədiyi şeyə diqqət yetirin: o, SOCKS parolu tələb etmir. Bu, etibarlı lokal host üçün uyğundur və bu istifadəçi autentifikasiyası deyil. Həmin maşındakı hər hansı digər proses də loopback-dan istifadə edə bilər. Uzaq tətbiqin öz autentifikasiyasını yerində saxlayın və bu autentifikasiyasız formanı etibarsız lokal istifadəçilər və ya LAN-a baxan dinləyici üçün təkrar istifadə etməyin.

Addım 3: marşrutu düzgün mənbədən yoxlayın

external çıxan mənbə ünvanını seçir; o, WireGuard marşrutu quraşdırmır. Nümunə mənbə və təyinat üçün yalnız oxuma axtarışı:

ip -4 route get 10.60.0.20 from 10.77.0.2

Bunu Dante-nin real şəbəkə ad sahəsində işə salın, təsadüfən açıq olan hansısa qabıqda deyil. Marşrut, WireGuard həmkar seçimi, uzaq tərəfin icazəsi və qayıdış yolu hamısı həmin mənbə ünvanına uyğun olmalıdır. Uğurlu axtarış zəruridir və kifayət deyil, çünki o, uzaq ucun sorğunu qəbul edib-etmədiyi barədə heç nə demir.

Axtarışın uğurlu olması üçün defolt marşrut əlavə etmək istəyinə müqavimət göstərin. Proxy portu yalnız bu iş stansiyasında mövcuddur; onu yaratmaq üçün hostun defolt marşrutunu dəyişmək bütün dizaynı tərsinə çevirir.

Addım 4: nəzərdə tutulan kimliklə sınaqdan keçirin

Sahib quraşdırılmış konfiqurasiyanı yoxladıqdan və instansiyanı xidmət meneceri vasitəsilə başlatdıqdan sonra nümunə sorğu budur:

curl --proxy socks5h://127.0.0.1:1080 --noproxy '' https://app.corp.example/

ilə socks5h, Dante təyinat həllini yerinə yetirir, lakin Dante bu iş stansiyasında işləyir, ona görə də ayar DNS-i tunelin uzaq ucuna özü göndərmir. Dante-nin istifadə etdiyi təsdiqlənmiş həlledici həmin ad üçün icazə verilmiş ünvanı qaytarmalıdır. Boş proxy-siz siyahı miras qalmış istisnanın SOCKS-u səssizcə yan keçməsinin qarşısını alır.

Testdə HTTPS host adı və sertifikat yoxlamasını qoruyun, sonra faktiki dinləyicini yoxlayın və müqavilənin hər iki yarısını təsdiqləyin: icazə verilən sorğu uğurlu olur və kənarlaşdırılmış təyinat uğursuz olur. Həmçinin dəstəklənməyən yönləndirmə əmrlərinin rədd olunduğunu yoxlayın, çünki bu fraqment TCP üzərindən SOCKS CONNECT əmrinə icazə verir və ümumi UDP və ya bütün cihaz tunelinə bənzər heç nəyə icazə vermir.

Addım 5: tunel düşdükdə nə olacağına qərar verin

Bunu istehsalat adlandırmazdan əvvəl tunel itkisini və instansiyanın yenidən başlamasını sınaqdan keçirin. Dante-ni WireGuard-dan sonra başladan nəzarətçi fail-closed marşrutlaşdırma yaratmır və fail-closed DNS də yaratmır; hər ikisi şəbəkə sahibi vasitəsilə tətbiq olunmalıdır. Tunel bağlı olduqda tətbiqin nə etdiyinə baxın: təmiz xəta yaxşı nəticədir, ümumi həllediciyə səssiz keçid deyil.

Bağlanmış tunel ünvanı dəyişərsə, yeniləmələri koordinasiya edin, çünki external ona bərkidilib. Bu quruluşa artıq ehtiyac olmadıqda, bu instansiyanı və tətbiqin proxy ayarını birlikdə ləğv edin və WireGuard yolunu onun sahibinə buraxın.

Əlaqəli məqalələr