Siyosatga asoslangan marshrutlash ko'pchilik muammolarni bartaraf etish yozuvlari beradigan savoldan boshqa savolga javob beradi. Asosiy jadval manzil qayerga ketishini aytadi; siyosat qoidalari qaysi jadvalga umuman murojaat qilinishini aytadi va ular buni manba manzili, paket belgisi, yoki paket kelgan interfeys bo'yicha hal qilishlari mumkin. Tunnel o'zini nomuvofiq tutsa, sabab ko'pincha qoidalar to'plami bo'ladi, marshrutlash jadvali esa ko'pincha emas.

Qoidalar jadvalni tanlaydi, keyin jadval marshrutni tanlaydi

Har bir qoida ustuvorlik, moslik sharti va maqsad jadvalini olib yuradi. Yadro qoidalarni ustuvorlik tartibida o'tadi va birinchi moslikda to'xtaydi, so'ngra o'sha jadvalda odatdagi eng uzun prefiks qidiruvini bajaradi. Bo'sh jadvalga ishora qilgan qoida keyingi qoida tanlagan narsaga tushadi, va puxta yozilgan qoida hech narsa qilmayotgandek ko'rinishining sababi shu.

Shuning uchun asosiy jadvalni chiqarish ishlayotgan VPN mijozi haqida kamdan-kam tushuntirish beradi. Mijozlar odatda qoidalarni past ustuvorlik raqamlariga, asosiy jadvalning standart qoidasidan ancha oldin kiritadilar, shuning uchun paket siz tikilib turgan marshrutga hech qachon yetib bormaydi. Asosiy jadvaldagi metrikni pasaytirish allaqachon burib yuborilgan trafik uchun hech narsani o'zgartirmaydi.

Qoida prefiksni ataylab qora tuynuk yoki yetib bo'lmaydigan holga keltirishi mumkin. Ba'zi mijozlar bunday qoidani xavfsizlik kaliti sifatida qo'shadi, va u holda tushirish sozlangan tunnel emas, buzilgan tunnel kabi ko'rinadi.

Qoidalar to'plamini ro'yxat emas, ketma-ketlik sifatida o'qing

Qoidalarni ustuvorliklari va ular ishora qilgan jadvallar bilan birga chiqaring, so'ngra standart yoki tunnel marshrutini olib yurgan har bir jadvalni chiqaring. Muhim qism — tartib, va ekran surati odatda o'tkazib yuboradigan qism ham aynan shu:

ip rule show
ip route show table all | sed -n '1,60p'
ip route get 198.51.100.20 from 10.8.0.2
ip route get 198.51.100.20 from 10.8.0.2 mark 0x1

Oxirgi ikki buyruq nazariyani kuzatuvga aylantiradi, chunki ular so'raydi: yadro o'sha manba va o'sha belgi uchun nima qilardi. Agar belgi o'zgarganda javob o'zgarsa, belgiga asoslangan qoida ishlamoqda va belgini chetlab o'tadigan har qanday sinov boshqa paketni sinaydi. Tashqi ulanish o'z qoidasiga loyiq. Butun trafikni o'zidan o'tkazadigan tunnel o'zi ulanadigan oxirgi nuqta manzilini istisno qilishi kerak, aks holda shifrlangan paketlar hozir tark etgan tunnelga qaytariladi. Mijozlarning ko'pchiligi bu istisnoni avtomatik kiritadi, qo'lda tahrirlangan qoidalar to'plami esa u yo'qolgan joy.

Belgilar va soketlar: mijozlar trafikni bo'lishning ikki usuli

Ba'zi mijozlar paketlarni firewall ichida belgilaydi va belgiga mos keladigan qoida qo'shadi. Boshqalari soket darajasidagi marshrutlashdan foydalanadi va ulanmasdan oldin soketga marshrut qo'yadi. Birinchisi ip rule chiqishida ko'rinadi; ikkinchisi ko'rinmaydi va umumiy qidiruvda paydo bo'lmaydi.

Agar sinov dasturi o'zi ifodalashi kerak bo'lgan ilovadan boshqacha ish tutsa, ilova belgi qo'yadimi yoki qurilmaga bog'lanadimi, tekshiring. Mexanizm nomlangandan keyin bu farq sir emas, va u bir mashinada shell'dan curl va brauzer varaqasi nega turli yo'llarni olishi mumkinligini tushuntiradi. Ikkala usul ham keng ma'noda siyosatga asoslangan marshrutlash: yo'lni manzildan boshqa narsa bilan tanlaydi. Hech biri trafikni ruxsatlamaydi, hech biri hamkor kutadigan firewall qoidalari yoki hisob ma'lumotlarini almashtirmaydi.

Yana bir qoida qo'shishdan oldin egalikni kuzatib boring

Qoidalarni nimadir o'rnatadi. VPN mijozi, tarmoq menejeri va qo'lda yozilgan skript har biri ishga tushishda qoidalar qo'shishi mumkin, qayta ulanish mantig'i esa oldingi to'plamni ortda qoldirishi mumkin. Avvalgi profildan qolgan ikki eski qoida profil o'chirilgandan ancha keyin ham trafikni boshqarishda davom etadi.

Qaysi jarayon qoidaga egaligini uning ustuvorligi va shakli bo'yicha toping va bu egasi har bir ulanishda to'plamni qayta yozadimi, tekshiring. Agar yozsa, bugun qo'shilgan qo'l qoidasi ertaga yo'qoladi, tuzatish esa shell tarixi faylida emas, mijoz konfiguratsiyasida bo'lishi kerak. Sinov uchun butun qoidalar to'plamini tozalash — bashorat qilsa bo'ladigan narxga ega vasvasali qisqa yo'l: u mijozga o'z tunnelini ishlatish uchun kerak bo'lgan qoidalarni ham olib tashlaydi. Qoidalarni birma-bir o'chiring yoki qayta yuklay oladigan mashinada sinang.

Qamrovni bitta emas, ikki oqim bilan isbotlang

Tuzatish faqat ta'sir qilishi kerak bo'lgan oqim va ta'sir qilmasligi kerak bo'lgan oqim bilan tasdiqlanadi. Siyosat tunnelga yo'naltiradigan manzilni va tashqarida qolishi kerak bo'lgan bir manzilni tanlang, so'ngra ikkalasi uchun qidiruvlar va ushlanmalarni solishtiring:

ip route get 198.51.100.20 from 192.0.2.44
ip route get 198.51.100.21 from 192.0.2.44
tcpdump -ni any host 198.51.100.21 and port 443

Ikki qidiruv turli interfeyslarni qaytarsa, qoida nimadir qilyapti. Ular bir xil interfeysni qaytarsa, qoida ko'zda tutilganidan kengroq mos keladi va bu bitta ilova uchun mo'ljallangan tunneldan butun bir quyi tarmoqni jimgina yuboradigan nosozlikdir.

Qoidalarning ustuvorliklari va ega xizmatni ikki sinov manzili bilan birga chiptaga yozib qo'ying. Shunda keyingi odam simptom tavsifi o'rniga takrorlanadigan juftlikka ega bo'ladi va siyosatga asoslangan marshrutlash hali ham amalda ekanini bir daqiqada ayta oladi.

O'xshash maqolalar