Bir laboratoriya printeri üçün /24 iki ip route show çağırışı arasında yox olur və müştəri jurnalı yalnız şəbəkənin dəyişdiyini bildirir. Əmrdə, prefiksdə və ya səlahiyyətlərinizdə heç bir problem yox idi. Hostun marşrutlaşdırma modelinə sahib olan korporativ müştəri, kimsə onu redaktə etdikdə həmin modeli yenidən tətbiq edir, ona görə əlavə etdiyiniz giriş müdaxiləçi kimi silinir. Eyni cədvəldə onunla mübarizə aparmaq məğlub mövqedir. Həll o cədvəl üstündə rəqabəti tamamilə dayandırmaq və istisnanı monitorun heç vaxt baxmadığı yerə qoymaqdır.

Monitor itkin marşrutu izah edir

Hər şeyi yenidən dizayn etməzdən əvvəl bunu nümayiş etdirin: cədvəli oxuyun, prefiksi əlavə edin, bir neçə saniyə gözləyin, yenidən oxuyun. Giriş yoxdursa və onu silmək üçün heç nə yazmamısınızsa, deməli, bir agent izləyir. Bu davranışa sahib prosesi tapın və marşrutun yox olduğu an ətrafında onun jurnalını oxuyun, çünki adətən eyni xidmət tuneli, paket filtrlərini və həlledici konfiqurasiyasını idarə edir. Marşrutunuzun qalması üçün onu öldürmək növbəti yenidən qoşulmada peşman olacağınız bir güzəştdir.

ip route show
ip route add 192.168.2.0/24 dev enp0s31f6
sleep 5; ip route show

Yuxarıdakı prefiks və interfeys yer tutuculardır. Başqa maşında işləyən nümunədən interfeys adını köçürmək bu nümayişin heç nə verməməsinin ən çox rast gəlinən səbəbidir.

İkinci cədvəl monitor üçün görünməzdir

Agent yalnız sahib olduğu cədvəli yenidən qurur. İstisnaya öz cədvəlini və uyğun təyinatları ora göndərən bir qayda verin; əsas cədvəl heç vaxt dəyişməz, ona görə agentin düzəldəcəyi heç nə olmaz. Bütün fikir budur: biri başqası tərəfindən idarə olunan marşrutlar məkanı, digəri isə yalnız sizin toxunduğunuz məkan.

Güzəşt baxımdır. İki obyekt bir-birindən uzaqlaşa bilər və qaydanın siyahıdakı mövqeyi seçdiyi cədvəldəki marşrut qədər vacibdir.

İstisnanı qurun, sonra onu qalib edin

Cədvəli yaradın, marşrutu quraşdırın və həmin təyinat üçün cədvəli seçən bir qayda əlavə edin. Prioritet qaydanızın müştərinin daxil etdiyi qaydalardan əvvəl, yoxsa sonra nəzərə alınacağını müəyyən edir və sonra sıralanan qaydaya heç vaxt çatılmır, ona görə nömrə bəzək deyil, dizaynın bir hissəsidir. Sonra kerneldən əslində nə edəcəyini soruşun; bu, konfiqurasiya etdiyinizdən fərqli bir sualdır.

ip rule add to 192.168.2.0/24 table 110 pref 30010
ip route add 192.168.2.0/24 dev enp0s31f6 table 110
ip route get 192.168.2.50

ip route get kernelin istifadə edəcəyi marşrutu, o cümlədən cihazı və mənbə ünvanını həll edir. Cədvəl identifikatorunu çap etmir, ona görə ip rule show ilə birlikdə istifadə edin ki, hansı cədvəlin qalib gəldiyini təsdiqləyəsiniz. Birlikdə yeganə vacib suala cavab verirlər: həmin ünvana gedən trafik nəzərdə tutduğunuz yerdən çıxırmı?

Eyni fikrin digər formaları

Təyinatlar əsasında düşünməyi dayandırdıqdan sonra nümunə ümumiləşir. Tunel defolt marşrutu saxlayarkən yerli alt şəbəkə əlçatan qala bilər. LAN-a qoşulmuş SSH serverinin cavabları tuneldə yox olmaq əvəzinə gəldikləri interfeysdən çıxa bilər. Və interfeys əsaslı qayda simsiz interfeysə gələn hər şeyi tunelə itələyə bilər, hostun özünün yaratdığı trafik isə Ethernet-də qalır:

ip rule add iif wlan0 table 10
ip route add default dev tun0 table 10

Son hal təyinatdan çox daxil olan interfeysə uyğun gəlir, bu fərqli qayda növü və fərqli düşüncə modelidir. Yönləndirilən trafik üçün həmçinin net.ipv4.ip_forward aktivləşdirilməlidir və uzaq tərəf mənbə aralığını geri yönləndirməli və ya tərcümə etməlidir; bir maşındakı qayda yolun digər yarısını heç vaxt yaratmır.

Qaydaya birdəfəlik baxın

Qaydalar və cədvəl marşrutları yaddaşda yaşayır. Yenidən qoşulmadan sonra tunel cihazının adı dəyişə bilər, təyin edilmiş ünvan yerini dəyişə bilər və köhnə dəyəri saxlayan qayda səssizcə uyğunlaşmağı dayandırır. Bütün dəyişikliyi ona sahib olan tək bir skriptdən yenidən tətbiq edin, sonra istisnaya güvənməzdən əvvəl ip rule show, cari cihaz adını və yeni ip route get nəticəsini real təyinatla yenidən yoxlayın.

İki sərhəd nə qədər diqqətli olsanız da qalır. Müştəri öz filtr qaydalarını və həlledici konfiqurasiyasını hələ də idarə edir və marşrut istisnası heç birini əvəz etmir. Əgər müştəri sizin siyasət qaydanızı da silirsə, dəstəklənən yollar onun öz bölünmüş tunel siyasəti və ya OpenConnect kimi marşrutları idarə etməyə imkan verən müştəridir; monitorunu susdurmaq üçün vendor binarını yamaq bütövlük yoxlaması ilə bağlı baxım öhdəliyidir.

Cədvəl nömrəsini, prioriteti və təyinatı skriptin yanındakı qeydə yazın. Əks halda növbəti şəxs tuneli üstələyən bir qayda tapır və səbəbini bilmək üçün heç bir yolu olmur.

Əlaqəli məqalələr