PPP interfeysində bir sətir VPN qutusundakı marşrutlaşdırma mübahisəsinin böyük hissəsini həll edir: daxili ünvan və onun yanında çap olunan peer. Bu cütü kiçik alt şəbəkə kimi oxusanız, mövcud olmayan şlüz axtaracaqsınız. Onu bir keçidin iki ucu kimi oxusanız, növbəti atlama aydın olur. Buradakı müqayisə həmin iki oxuma arasındadır, çünki sonra qurduğunuz hər cədvəl seçdiyinizi miras alır. Xarici VPN son nöqtəsi barədə heç biri heç nə qərar vermir.

Bir interfeys sətrinin iki oxunuşu

inet 10.64.3.9 peer 10.64.3.1/32 bildirən bir sessiya götürün. Alt şəbəkə oxunuşu 10.64.3.9-u /32 adasında tək host sayır və sonra ondan kənara çatmaq üçün marşrutlaşdırıcı axtarır. Keçiddəki yeganə digər ünvan peer olduğundan, bu oxunuş sonda 10.64.3.9-un özünü şlüz kimi təklif edir, bu isə dairəvidir.

Son nöqtə oxunuşu sənədləşdirilmiş oxunuşdur. Nöqtədən nöqtəyə interfeysdə peer həmin bir keçidin uzaq ucunu adlandırır, buna görə 10.64.3.1 istifadə oluna bilən növbəti atlamadır, 10.64.3.9 isə həmişə yalnız mənbə ünvanıdır.

Bu fərq via daxilində nə ola biləcəyini müəyyən edir. Oraya yerli ünvanı yazmaq nüvənin qonşu ilə uyğunlaşdıra bilmədiyi marşrut yaradır, buna görə qeyd ya yoxlamada uğursuz olur, ya da siyahıda tam sağlam görünərkən trafiki udur. Peer işləyir, çünki o keçiddə real təyinatdır. Hər iki oxunuş xarici VPN son nöqtəsi barədə razıdır, o tamamilə ayrı kimlikdir: ona underlay vasitəsilə çatılır, onun bitirdiyi tunel vasitəsilə deyil.

Sessiya artıq nə quraşdırıb

Öz cədvəlinizi yazmazdan əvvəl keçidlə gələni çap edin. Dəstəklənən PPP inteqrasiyası adətən sessiya qurularkən cihaz marşrutu və peer marşrutu quraşdırır və bu iki qeyd artıq düzgün oxunuşu kodlaşdırır.

ip -4 addr show dev ppp0
ip route show dev ppp0
ip route show table main | head -n 5

10.64.3.1 dev ppp0 proto kernel scope link src 10.64.3.9 kimi cihaz marşrutu şlüz daşımır, çünki interfeysin özü yoldur. Peer-i via ilə adlandıran marşrut başqa ömürlü başqa obyektdir və sessiya düşdükdə yox olur. İki formadan birini yenidən necə quraşdırıldığını yoxlamadan davamlı cədvələ köçürmək, işləyən tunelin yenidən qoşulmadan sonra marşrutunu itirməsinin adi səbəbidir.

İki siyahını yaddaşa güvənmək əvəzinə müqayisə edin. Peer marşrutu main daxilində varsa, amma əlavə cədvəliniz boşdursa, ünvan sətrinin sizə heç vaxt demədiyi bir şey öyrəndiniz.

Qayda və cədvəl ayrı qərarlardır

Cədvəl seçmək və onu doldurmaq müstəqil addımlardır və müqayisə burada vacibdir, çünki sazlama zamanı ikisi tez-tez qarışdırılır. İşarələnmiş trafiki 100-cü cədvələ göndərən qayda, 100-cü cədvəldə uyğun marşrut yoxdursa heç nə etmir, yaxşı doldurulmuş cədvəl isə ona heç bir qayda işarə etmirsə əlçatmazdır.

Defolt marşrutun yarısı defolt marşrut deyil. Bir 0.0.0.0/1 IPv4 fəzasının aşağı yarısını əhatə edir, buna görə hər şeyi tutmağı nəzərdə tutan siyasət uyğun 128.0.0.0/1 və ya əsl default da tələb edir. İşləyən konfiqurasiyanı oxuyub iki yarıdan birini köçürmək, insanların yalnız bəzi hədəflərdə qırılan marşrutlaşdırma dövrəsinə düşmə üsuludur.

LAN-da qalmalı olan ünvanlar üçün qəsdən istisnalar buraxın və axtarış seçilmiş cədvəldə heç nə tapmadıqda nə olacağına qərar verin. Açıq ehtiyat marşrut, əlçatmaz nəticə qaytaran və tətbiqi səhv yönləndirilmiş deyil pozulmuş göstərən boş cədvəldən daha asan düşünülür.

Axtarışa tətbiqinizin verdiyi sualı verin

ip route get bir yolu həll edir; ip route show saxlanan qeydləri sadalayır və ikisi heç biri səhv olmadan ziddiyyət təşkil edə bilər. Mənbə kontekstini daxil edin, çünki mənbəyə əsaslanan qaydalar yalnız axtarış mənbə daşıdıqda uyğun gəlir.

ip route get 198.51.100.23 from 10.64.3.9
ip route get 198.51.100.23 from 10.64.3.9 iif ppp0
ip -4 rule show

Birinci əmr sualı host tərəfindən verir. İkincisi giriş interfeysi əlavə edir, bu ötürülən trafikin yaşadığına daha yaxındır və cavab çox vaxt başqa cədvəli göstərir. Təyinatların heç biri canlı test xidməti deyil; 198.51.100.23 sənədləşdirmə ünvanıdır, buna görə onu yoxlamağa icazəniz olan host ilə əvəz edin.

Hətta düzgün axtarış yalnız yolun seçildiyini sübut edir. Qarşı tərəfin trafiki qəbul edib-etmədiyi və ya cavabın eyni düşüncə ilə qayıda biləcəyi barədə heç nə demir.

Müqayisənin çevrildiyi yer

Host trafiki və ötürülən trafik yalnız fərqli axtarışlar etmir; qayıdış yolunda fərqli filtrlərlə qarşılaşır. Linux əks yol yoxlamasını bütün interfeyslər və qəbuledici interfeys ayarlarından daha sərt olanla tətbiq edir, buna görə bir interfeysin dəyərini dəyişmək görünən təsir verməyə bilər. İşarəyə əsaslanan marşrutlaşdırma mənbənin etibarlı sayılması üçün işarənin uyğun gəlməli olduğu src_valid_mark əlaqəsini əlavə edir.

Gedən marşrutlaşdırma düzgün görünərkən cavablar yox olursa, onlara toxunmazdan əvvəl effektiv dəyərləri oxuyun və yalnız bəyan edilmiş siyasət səbəbi ilə dəyişdirin.

sysctl net.ipv4.conf.all.rp_filter
sysctl net.ipv4.conf.ppp0.rp_filter
sysctl net.ipv4.conf.all.src_valid_mark

İki dizayn arasında sübuta əsaslanaraq seçin: tətbiq PPP ünvanına bağlanırsa mənbə qaydası və peer marşrutunu saxlayan cədvəl kifayətdir. Qutu arxasındakı LAN üçün ötürürsə, giriş konteksti və qayıdış yolu da uyğun olmalıdır. Onlar uyğun olmadıqda, bütün maşın üçün yoxlamanı yumşaltmaq əvəzinə marşrutun sahibliyini düzəldin.

Əlaqəli məqalələr