OpenWrt-də bütöv LAN üçün OpenVPN klienti: işlək ardıcıllıq
İnterfeys sahibliyi, zona siyasəti, maskaradlaşdırma və hər SSID üçün cədvəllər dörd ayrı işdir. Onları ardıcıllıqla edin və router boyu tunel sizinlə mübarizəni dayandırsın.
Dörd müstəqil iş routerin bütöv LAN-ını bir tunelin arxasına qoyur. Tunel cihazına sahib, firewall zonası, yuxarı bağlantıya doğru tərcümə hədəfi və bəzi klientlər VPN-dən kənarda qalmalıdırsa, mənbə ünvanına görə marşrutlaşdırma lazımdır. Qoşulan, amma heç nəyin keçmədiyi tuneldə adətən bu dördün biri çatışmır. Asılılıq sırası ilə işləmək o deməkdir ki, sondakı uğursuzluq indicə dəyişdiyiniz addıma aiddir. Aşağıdakı hər addım müşahidə edə biləcəyiniz bir şeylə bitir və bu, növbətinin təxmin olmasının qarşısını alır.
Tuneli nəyin paylaşacağını müəyyən edin
Wi-Fi və DHCP paylayan router klienti özü işlədə bilər. Bu, hər qoşulmuş cihazı fərdi quraşdırma olmadan tunelin arxasına qoyur və kiçik sahələrin çoxunun istədiyi quruluş budur. Eyni zamanda tunel düşəndə təsir radiusu ən geniş olan haldır, çünki bütün cihazlar yolunu birdən itirir. LAN-da heç nə işlək çıxış marşrutu saxlamır.
Birincinin arxasındakı ikinci router, klienti öz alt şəbəkəsi ilə işlədərək tuneli yalnız öz cihazlarına həddləyir. Onu sökmək və miras qalan kimsəyə izah etmək daha asandır. Qiyməti marşrut və ya port yönləndirməsi olmadan iki tərəf arasındakı əlçatanlıqdır.
Hər halda LAN alt şəbəkələrini fərqli edin. Eyni aralıqlar bir tərəfi birbaşa qoşulmuş kimi göstərir və yaranan qara dəlik saatlarla VPN nasazlığı kimi görünür.
Tunelə sahib verin
Tuneli adı, cihazı olan və öz protokolu olmayan şəbəkə interfeysi kimi bəyan edin. Sonra şəbəkə sistemi cihazı yaradır və idarə edir, aşağı axındakı hər şey interfeysə cihazla deyil, adla müraciət edir. Zonanın onu tapa bilməsini bu təmin edir.
Eyni cihazı iki yerdə yaratmayın. Bəyan edilmiş interfeysin yanında əl ilə düzəldilmiş tunel ya mövcud olan, amma zonaya düşməyən cihaz, ya da yenidən yükləmədə yox olan cihaz yaradır. İkisi də klientin uğursuz olduğu kimi görünür və heç biri həqiqi səbəbi adlandıran xəta vermir. Bəyani yolu seçin və əl ilə olanı silin.
Adı şəbəkə, firewall və VPN konfiqurasiyasında eyni saxlayın. Zona şəbəkələri adla sadalayır, ona görə bir hərf səhvi tuneli hər zonadan kənarda qoyur, halbuki interfeysin özü sağlam görünür. Siyasəti olmayan sağlam interfeys ən çətin seçilən haldır.
Zonaya salın, sonra ora yönləndirin
Firewall zonası siyasətin yaşadığı yerdir: input, output, forward və masquerade. Heç bir zonada olmayan tunel sizin seçmədiyiniz defoltlarla idarə olunur və bu, router klientinin nadir hallarda ehtiyac duyduğu şeydir. Aşağıdakı bloklar interfeysi bəyan edir, onu zonaya qoyur və LAN trafikinin həmin zonaya girməsinə icazə verir.
config interface 'vpn'
option device 'tun0'
option proto 'none'
config zone
option name 'vpn'
list network 'vpn'
option input 'REJECT'
option output 'ACCEPT'
option forward 'REJECT'
option masq '1'
config forwarding
option src 'lan'
option dest 'vpn'
21.02-dən köhnə buraxılışlarda həmin interfeys sətri option ifname kimi yazılır, ona görə yapışdırmadan əvvəl quraşdırılmış mikrokodun hansı formanı oxuduğunu yoxlayın. Yönləndirmə bloku LAN trafikinə tuneldən ümumiyyətlə istifadə etməyə icazə verən hüquqdur. O olmadan cihaz işləyir, klient qoşulub və heç bir LAN hostu tunelə çatmır. Bu, router klientlərində ən çox rast gəlinən qoşulub, amma internet yoxdur hesabatıdır.
VPN zonasında masquerade paket çıxmazdan əvvəl hər LAN ünvanını routerin tunel ünvanına yığır. Bu, uzaq tərəfdə alt şəbəkənizə qayıtma marşrutuna ehtiyacı aradan qaldırır.
Uzaq tərəf artıq LAN-ınızı marşrutlaşdırırsa, masquerade-i söndürmək mənbə ünvanlarını görünən saxlayır və hər klient üçün jurnalları mənalı edir. Birini seçin və hansını seçdiyinizi yazın, çünki iki seçim sonradan fərqli dəstək sualları doğurur. Defolt LAN-dan WAN-a yönləndirmənin silinməsi öz nəticəsi olan ayrı qərardır. Onu götürsəniz, routerin öz internet çıxışı da gedir.
NAT-da həqiqi yuxarı bağlantını adlandırın
Tərcümə qaydasının əl ilə yazıldığı mikrokodda səhv gedən sahə çıxış interfeysidir. vlan2 adlandıran qayda sessiya ppp0 üzərində bitəndə heç nə etmir. Ümumiyyətlə interfeysi olmayan qayda şəxsi qalmalı olan trafiki tərcümə edə bilər. Heç bir səhv özünü bəyan etmir, çünki tunel işləməyə davam edir.
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
Həmin qaydadakı ppp0-i ip route çıxışındakı və ya işləyən interfeys siyahısındakı interfeyslə əvəz edin, sonra LAN hostu səhifə yükləyərkən sayğacı izləyin. Bir provayderli routerdə yuxarı bağlantı üçün bir masquerade qaydası adətən kifayətdir. Tunel interfeysi üçün ikinci qayda birincini əvəz etmir.
Sonra tunelə nəyin girdiyini müəyyən edən klient seçimlərini əlavə edin. redirect-gateway direktivi klientin internet trafikini VPN-dən keçirir və o olmadan tunel yalnız serverin itələdiyi marşrutları daşıyır. DNS-ə toxunmadan əvvəl yaranan marşrut cədvəlini yoxlayın.
Wi-Fi-ı ikinci cədvəllə bölün
Bir marşrut cədvəli iki defolt saxlaya bilməz. Ona görə tuneldən yan keçməli olan ikinci SSID öz alt şəbəkəsinə və öz cədvəlinə ehtiyac duyur. Tuneldən keçən SSID-ə öz aralığını təyin edin, sonra yalnız həmin aralığı cədvəli seçən qayda ilə tunelə yönləndirin.
OpenWrt-də siyasət əsaslı marşrutlaşdırma paketləri məhz bu kombinasiyanı ifadə edir. Əl ilə də işləyir: mənbə qaydası və defoltu tunel cihazına baxan cədvəl.
Bölgünü hər iki şəbəkədən yoxlayın. Tuneldən keçən SSID-dəki klient VPN-in çıxış ünvanını, adi SSID-dəki klient isə provayderinkini göstərməlidir. İkisi eyni görünəndə qayda səhv mənbəyə uyğun gəlir və ya cədvələ heç müraciət olunmur. Yenidən qoşulmadan sonra da yoxlayın, çünki interfeys adından asılı qayda cihaz yenidən nömrələnəndə pozulur.
Saatdan və cihaz bayrağından şübhələnin
persist-tun bayrağı tunel cihazını yenidən başlatmalar arasında yerində saxlayır. Bu serverə yaraşır və vəziyyəti sıfırdan qurulmalı olan klienti çaşdırır. Router klientini diaqnostika edərkən onu çıxarın, çünki uğursuz danışıqlardan sağ çıxan cihaz hansı addımın həqiqətən pozulduğunu gizlədir. Klient etibarlı qoşulandan sonra, daha əvvəl deyil, onu geri qaytarın.
Saat digər səssiz uğursuzluqdur. Batareya dəstəkli saatı olmayan router epoxadan başlayır, yəni NTP yetişənə qədər sertifikat yoxlamaları uğursuz olur. Sertifikata toxunmadan əvvəl jurnal vaxt damğlarını real vaxtla müqayisə edin, çünki yükləmədən bir dəqiqə sonra qoşulan klient adətən vaxt sinxronizasiyasını gözləyir.