route-gateway redirect-gateway emas: aslida nima o'zgaradi
Bu parametr faqat OpenVPN o'rnatadigan marshrutlarga keyingi sakrashni beradi. Uni olib tashlash surib yuborilgan to'liq tunnelni o'chirmaydi, tuzatish esa qayta yo'naltirishda.
Tunnelingiz ko'tariladi, xususiy quyi tarmoq javob beradi, va kimdir profildan shlyuz satrini o'chirgan bo'lsa ham oddiy veb-sayr VPN ichida yo'qolib boradi. Aynan shu birikma noto'g'ri direktivani tahrirlashning barmoq izidir. O'chirilgan narsa klientga o'zi o'rnatadigan marshrutlar uchun keyingi sakrashni berar edi; trafikni ushlashda davom etgan narsa boshqa joydan kelib, server tomonidan surib yuborilgan. Qamrov va keyingi sakrash alohida ishlar, va ulardan faqat bittasi ommaviy manzillar tunneldan foydalanishini hal qiladi.
Siz o'chirgan satr keyingi sakrash edi, siyosat kaliti emas
Klient o'rnatadigan har bir marshrut ko'rsatish uchun shlyuz manziliga muhtoj, va marshrut o'zi hech qanday manzil aytmasa, shlyuz direktivasi o'sha manzilning manbai bo'ladi. Uni o'chirsangiz, bu marshrutlarning ilinadigan joyi qolmaydi, shuning uchun ular yo o'rnatilmaydi yoki hech qayerga olib bormaydigan yo'lga tushadi. Xususiy quyi tarmoq aynan shunday marshrut ko'tarib yurgan narsadir.
Shu orada omon qolgan xulq-atvorning boshqa muallifi bor: surib yuborilgan blokdagi qayta yo'naltirish parametri, u o'z bayroqlariga ko'ra odatdagi chiqish trafigini tunnelga ko'chiradi. Shlyuzni olib tashlash uni na o'chiradi, na zaiflashtiradi. Natija ikki holatning eng yomoni: ommaviy trafik hali ham ushlanadi va tunnelni oqlagan xususiy manzil endi yetib bo'lmaydigan bo'lib qoladi. Shuning uchun o'sha ruhda qilingan ikkinchi tahrir ham hech narsani o'zgartirmaydi.
To'rt richag, to'rt xil ish
Bu munozarada to'rt direktiva bir-birining o'rnida keltiriladi, va ulardan faqat bittasi qamrovni boshqaradi, ya'ni qaysi manzillar tunnel orqali o'tishini. Ikkinchisi marshrutlar ishlatadigan keyingi sakrashni belgilaydi, uchinchisi bitta prefiks o'rnatadi, va to'rtinchisi server surib yuborgan hamma narsani, joriy etishga kerak bo'lgan xususiy marshrutlar bilan birga, tashlab yuboradi. Jadval ularni nom bo'yicha emas, administrator nima o'zgartirmoqchi bo'lganiga ko'ra tartiblaydi, chunki chalkashlikni aynan nomlar keltirib chiqaradi. Ularni to'rt alohida qaror deb qabul qiling va haqiqatan qaytarmoqchi bo'lganingizni tanlang.
Amalda to'rttasi ham ko'pincha bitta surib yuborilgan blokda, satrma-satr keladi, bu ularni bitta sozlamaning qismlaridek ko'rsatadi. Ular bunday emas, va OpenVPN ma'lumotnomasi ularni aynan shu sababdan alohida mexanizmlar deb qayd etadi. Qaysi qarorni qaytarayotganingizni aniqlash — ish, tahrir esa bitta satr.
| What you are trying to change | Directive that decides it | What it leaves alone |
|---|---|---|
| Which destinations use the tunnel | redirect-gateway | Per-prefix routes and resolver choice |
| The next hop a pushed route points at | route-gateway | Coverage of public destinations |
| One reachable prefix | route | Every other destination, default path included |
| All pushed routing and DNS at once | route-nopull | Nothing, which is the problem |
Surib yuborilgan satrni filtrlash, keyingi sakrashni saqlash
Agar siz e'tiroz bildirayotgan qamrov surib yuborilgan parametr sifatida kelsa, tor javob — o'sha parametrni nomi bilan e'tiborsiz qoldirish va surib yuborilgan blokning qolgan qismini tegmasdan qoldirish. Filtr sifatida yozilsa, u quyidagi satrga o'xshaydi, va uning joyi ta'sirlangan klient profilida, server konfiguratsiyasida emas.
pull-filter ignore "redirect-gateway"
Torlik — mazmunning o'zi. Filtr matn prefiksini solishtirgani uchun, qisqaroq naqsh keyingi sakrash direktivasiga ham mos keladi, bu xususiy marshrutlar tayangan ma'lumotni aynan shu yo'l bilan shilib tashlaydi va asl xatoni yangi kiyimda takrorlaydi. Filtr faqat surib yuborilgan parametrlarga ta'sir qiladi, shuning uchun mahalliy yozilgan yoki tarmoq menejeri yuklagan teng satrga hech qachon tegmaydi. Shundan keyin qayta ulanib oling, chunki jonli sessiya server surib yuborgan narsani qayta baholamaydi.
Jadvalni emas, qidiruvni o'qing
Profilni qayta yuklagandan keyin yadrodan ikkita manzil aslida qayerga ketishini so'rang: biri xususiy prefiks ichida, ikkinchisi ommaviy internetda. Asosiy jadvalning to'liq dumpini o'qish qiyinroq va xato o'qish osonroq, chunki marshrut mavjud bo'lib, baribir aniqroq moslikka yutqazishi mumkin. Siyosatga asoslangan marshrutlashda qoida, jadval va manba manzili ham tekshiruvga kiradi.
ip route get 10.40.7.25
ip route get 203.0.113.77
ip rule show
def1 varianti bilan tanishish kerak, chunki u eski standart yozuvni ko'rinadigan qoldiradi, yarim standartlar juftligi esa qidiruvni yutadi. Shuning uchun chiqishdagi 0.0.0.0/0 satri o'z-o'zidan hech narsani isbotlamaydi. Qidiruv ro'yxat faqat javob bergandek ko'rinadigan savolga javob beradi.
DNS, IPv6 va xususiy marshrut hali ham ishlashi kerak
Bitta IPv4 qayta yo'naltirishdan voz kechish hal qiluvchi haqida hech narsa demaydi, shuning uchun surib yuborilgan DNS parametri marshrutlar to'g'ri ko'rinib turganda ham so'rovlarni tunnelga yuborishda davom etishi mumkin. IPv6 standarti IPv4 tekshiruvi hech qachon tegmasgan manzillar oilasi uchun ham shunday qilishi mumkin. Ikkalasi ham taxmin o'rniga aniq qaror talab qiladi. Keyin xususiy xizmat hali ham javob berishini tasdiqlang, chunki xususiy marshrutini yo'qotgan bo'lingan tunnel bo'lingan tunnel emas, u buzilgan.
Bitta kengroq vosita ogohlantirishga loyiq: route-nopull har bir surib yuborilgan marshrutni va har bir surib yuborilgan DNS parametrini tashlab yuboradi, bu to'liq tunnelni aniq to'xtatadi va joriy etish tayangan xususiy marshrutlarni ham shunchalik aniq buzadi, shuning uchun bu bitta parametrga qaratilgan nom filtridan ancha katta bolg'a. Har qanday o'zgarishdan keyin xususiy manzilni, ommaviy manzilni va hal qiluvchini tekshiring, va tugallangan qo'l berib ko'rishishni qo'l berib ko'rishishdan boshqa hech narsaning dalili deb hisoblamang.