Tuneli qoşursunuz, ip route işlədirsiniz və orijinal standart şlüz hələ də orada durur. Ağla ilk gələn odur ki, müştəri marşrutu ələ keçirə bilməyib, ona görə standartı əl ilə silirsiniz və əlaqəni tamamilə itirirsiniz. Həmin sətir elə qalmalıdır. redirect-gateway def1 ilə OpenVPN adi standartı əvəz etmək əvəzinə ondan üstün olan iki daha konkret marşrut quraşdırır. Köhnə şlüz qalır və sınaqdan keçirdiyiniz trafiki daşımağı dayandırır.

def1 əslində nə edir

Bayraq tunelə yönəlmiş 0.0.0.0/1 və 128.0.0.0/1 əlavə edir. 0.0.0.0/1 birinci okteti 0-dan 127-yə qədər olan bütün ünvanları, 128.0.0.0/1 isə 128-dən 255-ə qədər olanları əhatə edir, yəni hər IPv4 hədəfinin köhnə standartdan daha konkret uyğunluğu olur. Hansı marşrutun qalib gəldiyini metrik deyil, prefiks uzunluğu həll edir.

Orijinal standartı yerində saxlamaq qəsdəndir. Müştəri nəyi əvəz etdiyini yadda saxlamalı olmur və VPN serverinə öz bağlantısını daşıyan marşrutu yenidən yazmır. Bağlantı kəsiləndə iki yarımmarşrutu silir və cədvəl əvvəlki vəziyyətinə qayıdır.

Niyə /1, /0 deyil

Marşrutlaşdırma ən aşağı metriki deyil, ən uzun uyğun prefiksi seçir, ona görə standartın metriki nə deyirsə desin, /1 /0-dan üstün gəlir. Hər iki yarısı buna görə mövcuddur ki, bir /1 fəzanın yalnız yarısını əhatə edir; yalnız 0.0.0.0/1 olduqda 128.0.0.0-dan yuxarı hər şey köhnə standartı izləməyə davam edir və bu, bəzi saytların işlədiyi, digərlərinin işləmədiyi qarışıq simptom yaradır.

Köhnə standartın metrikini qaldırmaq və ya aşağı salmaq heç nəyi dəyişmir, başqa interfeysdə daha aşağı metrikli standart da trafiki oğurlamır. Əvvəlcə prefiks uzunluğu qərar verir və yalnız bərabər prefikslər metrikə müraciət edir.

Real marşrut cədvəlini oxuyun

Qoşulmuş host hər üç sətri eyni vaxtda göstərə bilər: tunel yarıları daşıyır, orijinal şlüz isə hələ də siyahıdadır. Ünvanlar kopyalamaq üçün konfiqurasiya deyil, nümunələrdir, çünki interfeys adları, tunel topologiyası və əlavə marşrutlar platformadan və müştəridən asılı olaraq dəyişir.

default via 192.168.50.1 dev wlan0
0.0.0.0/1 via 10.8.0.1 dev tun0
128.0.0.0/1 via 10.8.0.1 dev tun0

Əsas olan münasibətdir: bir ümumi standartın üstündə iki konkret yarı. Köhnə şlüz sətri qalır, çünki heç nə onu əvəz etməyib.

Paketin həqiqətən tutduğu marşrutu yoxlayın

Daha konkret marşrutlar yenə də qalib gələ bilər: özəl diapazon, yerli altşəbəkə və ya VPN serverinin öz ünvanı üçün marşrut /1-dən uzundur. Tunelin serverinə xarici yol lazımdır və o bağlantını yenidən tunelə göndərmək onu dərhal sındırar. Linux-da cədvəli gözlə oxumaq əvəzinə nüvədən soruşun: maraqlandığınız hədəflə ip route get seçilmiş marşrutu, interfeysi və mənbəyi çap edir. Siyasət əsaslı marşrutlaşdırma qurulubsa, qaydaları da yoxlayın, çünki qayda əsas cədvələ baxılmazdan əvvəl başqa cədvəl seçə bilər.

IPv4-ün yalnız bir hissəsi problem yaradırsa, hər iki yarının quraşdırıldığını təsdiqləyin və sonra uğursuz hədəfə uyğun istisna axtarın. Köhnə standartı silmək həll deyil və o, müştərinin tuneli təmiz sökmək üçün lazım olan marşrutu aradan qaldırır.

def1 nəyi əhatə etmir

İki IPv4 sətri IPv6 haqqında heç nə demir: IPv6 bağlantısı olan host, həmin ailəni ayrıca yönləndirən bir şey olana qədər öz standartından istifadə etməyə davam edir, buna görə ikili yığımlı şəbəkədə bəzi trafik tuneldən yan keçirmiş kimi görünür. Digər müştərilər və şəbəkə menecerləri tam tunel marşrutlaşdırmasını fərqli tətbiq edir və onların cədvəlləri uyğun gəlməyəcək. Burada təsvir olunan def1 davranışı OpenVPN-in sənədləşdirilmiş bayrağına aiddir, maşındakı hər VPN-ə deyil.

Kill switch başqa suala cavab verir: tunel düşəndə maşın nə edir. Marşrut prioriteti tunel açıqkən trafikin hara getdiyini həll edir; sonradan firewall-un nə edəcəyini həll etmir. İş qaydası: cədvəli oxuyun, hər iki yarının mövcud olduğunu təsdiqləyin, uğursuz hədəf üçün ip route get işlədin, siyasət qaydalarını yoxlayın, sonra IPv6-ya ayrıca baxın. Köhnə standartı olduğu yerdə saxlayın.

Əlaqəli məqalələr