OpenWrt siyasət marşrutlaşdırması: yerli DNS-i tutan zəncir
Müştəri sorğuları və marşrutlaşdırıcının öz sorğuları fərqli qarmaqlara daxil olur. prerouting-ə yönəlmiş siyasət hər LAN sorğusunu daşıyır və marşrutlaşdırıcını ISP uplinkində qoyur.
LAN-dakı müştərilər tunel vasitəsilə həll edir, marşrutlaşdırıcının öz axtarışları isə səssizcə bunu etmir. Paket yeniləmələri, vaxt sinxronizasiyası və dinamik DNS hamısı adi uplinkdən çıxır, hər yönləndirilmiş sorğu isə VPN-i götürür və interfeysdə iki fərqli yolun mövcud olduğuna dair heç bir işarə yoxdur. İzah siyasətdəki xəta deyil, paketi hansı qarmağın gördüyü məsələsidir. İki axın, bir həlledici ünvanı və onlardan yalnız biri marşrutlaşdırıcını keçir. Onları ayırmaq bütün düzəlişdir.
İki axın, bir həlledici ünvanı
Birinci axın insanların təsəvvür etdiyi axındır. Müştəri marşrutlaşdırıcının həlledicisindən soruşur, həlledici yuxarıya yönləndirir və həmin yönləndirilmiş paket çıxarkən marşrutlaşdırıcıdan keçir. Həmin paket yönləndirilmiş trafiki izləyən hər şey üçün görünürdür.
İkinci axın heç yerdən gəlmir. Onu marşrutlaşdırıcı yaradır, buna görə gələn paket və uyğunlaşdırılacaq yönləndirmə addımı yoxdur.
Hər ikisi eyni həlledici ünvanını hədəf ala bilər, fərqin asanlıqla qaçırılmasının səbəbi də məhz budur. Eyni təyinat, fərqli mənbə, fərqli zəncir. Mənbəyi gördükdən sonra diaqnozun qalanı gəlir.
Yönləndirilmiş və yerli yaradılmış paketlər fərqli daxil olur
Yönləndirilmiş trafik başqa interfeysdən gəldikdə qiymətləndirilir. Siyasət marşrutlaşdırma paketləri bunu prerouting zənciri kimi təqdim edir və oraya qoyulan qayda marşrutlaşdırıcını keçən hər paketi görür. Müştəri axtarışlarının siyasətin təsvir etdiyi kimi davranmasının və marşrutlaşdırıcının onu nəzərə almamasının səbəbi budur. Qayda səhv deyil, sadəcə marşrutlaşdırıcının heç vaxt çatmadığı bir qarmağa bağlanıb. Onu köçürün və eyni uyğunluq işləməyə başlayır.
Yerli yaradılmış trafiki marşrutlaşdırıcıdakı proses yaradır və o, əvəzində çıxış yoluna daxil olur. O, marşrutlaşdırıcının öz qərarı ilə marşrutlaşdırılır və yalnız siyasət həmin zənciri əhatə edərsə siyasətlə qarşılaşır. Uyğunlaşdırılacaq gələn interfeys və müşahidə ediləcək yönləndirmə qərarı yoxdur.
Bu, hər hansı konkret paketdən deyil, paketlərin harada doğulmasından irəli gələn xüsusiyyətdir. Bir zəncir üçün yazılmış qaydanın digəri barədə sadəcə fikri yoxdur. Heç bir qayda tənzimləməsi bunu dəyişmir.
Çıxış zəncirini seçin, sonra uyğunluğu daraldın
Düzəliş eyni niyyəti çıxış zəncirinə də bağlamaq və ya marşrutlaşdırıcının öz sorğuları sizi maraqlandırırsa, qaydanı oraya köçürməkdir. Siyasət marşrutlaşdırma paketi üzərində qurulmuş OpenWrt quraşdırmasında bu, qaydanın zəncir parametrində prerouting əvəzinə output seçmək deməkdir. Hər iki kütlə əhatəyə ehtiyac duyursa, hər iki qaydanı saxlayın.
Sonra qaydanın nəyə uyğunlaşdığını daraldın. Həlledicinin həqiqətən istifadə etdiyi portda təyinat həlledici ünvanları, marşrutlaşdırıcının yaratdığı hər şeyi tunelə göndərməkdən qat-qat kiçik qərardır.
İki qaydanı ayrı-ayrılıqda açıq saxlayın, hər iki zənciri əhatə edən bir qayda yazmağa çalışmayın. Ayrı qaydalar oxumaq daha asandır və sazlayarkən müştəri trafikinə toxunmadan marşrutlaşdırıcının yolunu söndürməyə imkan verir. Onlar həm də sayğacları bir-bir mənalı edir.
Tunelin öz nəqliyyatını qaydadan kənarda saxlayın
Tunelin xarici bağlantısını da marşrutlaşdırıcı yaradır. Bütün yerli yaradılmış trafiki tunelə göndərən qayda tuneli özü vasitəsilə marşrutlaşdıracaq və o, heç qalxmayacaq.
İdarəetmə girişi ikinci itkidir. Marşrutlaşdırıcıdan yaranan inzibati sessiyalar və ya onlara cavablar həddindən artıq geniş yerli qayda ilə tunelə çəkilə və LAN-dan əlçatmaz ola bilər.
Tunelin son nöqtəsini uyğunluqdan çıxarın və qaydanı həlledici ünvanları ilə məhdudlaşdırın. Bu, DNS tələbi üçün kifayətdir və üzərində düşünmək üçün kifayət qədər kiçikdir.
Hər iki kütləni sınayın, birini deyil
Marşrutlaşdırıcının öz sorğusunu etməsini izləyin və hansı interfeysin onu daşıdığını qeyd edin. Axtarışı LAN hostundan təkrarlayın və onun getdiyi yolu qeyd edin. Siyasət qaydalarındakı sayğaclar hər iki cavabı təxmin etmədən görünən edir.
Nəticələrə iki ayrı tapıntı kimi baxın. Tunel vasitəsilə həll edən müştəri marşrutlaşdırıcı haqqında heç nə demir, düzgün həll edən marşrutlaşdırıcı isə başqa dinləyicidəki müştəri haqqında heç nə demir. Onları dəyişiklik qeydində ayrı sətirlər kimi yazın.
Portu da yoxlayın: təyinat portu 53-ə uyğunlaşan qayda 853-də DNS over TLS və ya HTTPS son nöqtəsi ilə çatılan həlledicini qaçırır. Konfiqurasiya edilmiş yuxarının həqiqətən istifadə etdiyi nəqliyyatı uyğunlaşdırın və sızma düzgün səbəbdən bağlanır.