OpenVPN redirect-gateway: har bir bayroq marshrutlar bilan nima qiladi
Direktiva bayroqlariga ko'ra standart marshrutingizni tunnel bilan almashtiradi. Unga ishonishdan oldin o'rnatilgan marshrutlarni va IPv6 jadvalini tekshiring.
Profilga redirect-gateway qo'shib ulanib ko'ring, va kompyuteringizning standart marshruti yo'q bo'lib ketishi, ikkiga bo'linishi yoki avvalgi joyida qolishi mumkin, bu hech kim ikki marta o'qimaydigan bayroqlarga bog'liq. Bu parametr faqat marshrutlash holatini o'zgartiradi va boshqa hech narsani emas, shuning uchun u nima qilganining yagona ishonchli dalili mijoz keyin o'rnatgan jadvaldir. Keyin ulanishdan keyingi jadval, tunnelning o'zini tirik tutadigan marshrut va direktiva hech qachon qamrab olishini da'vo qilmaydigan IPv6 trafigi keladi. Har bir qadam tunnel ochiq turganda mijozda bajariladigan buyruqdir.
Har bir bayroq standart marshrut bilan nima qiladi
Hech qanday bayroqsiz parametr odatdagi standart marshrutni olib tashlaydi va uning o'rniga tunnelni qo'yadi, shuning uchun ulanish ochiq turganda eski shlyuz jadvaldan yo'qoladi. def1 qo'shing, o'sha standart ro'yxatda qoladi, ishni ikkita tor marshrut bajaradi. bypass-dhcp qo'shing, DHCP marshruti ham omon qoladi, bu mijoz hali ham mahalliy DHCP serveriga yetib borishi kerak bo'lgan tarmoqda muhim. OpenVPN 2.6 qo'llanmasi sahifasidagi bayroqlar ro'yxati bir marta o'qish uchun yetarlicha qisqa va har bir yozuv jadvalga qaysi marshrutlar tushishini o'zgartiradi.
Surilgan parametr kelganda xuddi shunday yo'l tutadi, shuning uchun mijoz profilida hech narsa bo'lmasligi mumkin, jadval esa to'liq qayta yo'naltirilgandek ko'rinadi. Bu normal: server bayroqlarni yubordi, mijoz ularni qo'lladi, mahalliy fayl esa direktivani hech qachon tilga olmadi. Surish hech narsa qilmayotgandek ko'rinsa, mijoz tomonidagi tortilgan parametrlarni qabul qiladigan yoki tashlab yuboradigan filtrni tekshiring, chunki tashlab yuborilgan parametr hech bir tomonda xato bermaydi.
def1 standartingizga tegmasdan aniqlik bilan yutadi
Ikkita yarim standart marshrut birgalikda IPv4 fazosini qoplaydi, 0.0.0.0/1 va 128.0.0.0/1. Har biri 0.0.0.0/0 dan aniqroq, shuning uchun qidiruv ularni afzal ko'radi, haqiqiy standart esa eng kam aniq moslikni so'raydigan hamma narsa uchun jadvalda qoladi.
Profilni emas, jadvalni o'qing, chunki qaysi holatda ekaningizni faqat jadval ko'rsatadi. Ularni farqlash uchun ikki qator yetarli:
ip route show default
ip route show | grep -E '^(0\.0\.0\.0/1|128\.0\.0\.0/1)'
Har bir qatorda faqat manzilga emas, interfeys va metrikaga ham e'tibor bering. Tunnelga qaratilgan standart marshrut va tunnelga qaratilgan yarim standart marshrutlar jufti bir xil niyatni ifodalaydi va tunnel yiqilganda turlicha muvaffaqiyatsiz bo'ladi, chunki bir holatda zaxira yo'l hali ham mavjud. Ikkala maydonni ham o'zgarish yozuviga yozing. Omon qolgan zaxira yo'l ba'zan masofaviy sessiyani tunnelni tuzatish uchun yetarlicha uzoq tirik tutadi, niyat to'liq tunnel bo'lganda trafikni oqizadigan ham o'sha.
Tunnelning oxirgi nuqtasini yetib boradigan qilib saqlang
Mijozga tunnelning uzoq chetiga o'zi tunneldan o'tmaydigan marshrut kerak. OpenVPN boshqa hech narsani o'zgartirishdan oldin o'sha host marshrutini o'rnatadi, qo'lda marshrut tahrirlash yoki ikkinchi VPN mijoz esa uni olib tashlashi mumkin. Keyingi alomat ulangan deb xabar beradigan, so'ng hech narsani o'tkazmaydigan ulanishdir.
Tunnel ochiq turganda yadrodan oxirgi nuqta manzili uchun qaysi interfeysni ishlatishini so'rang. Javob jismoniy interfeys va uning shlyuzini aytishi kerak, hech qachon tun0 emas:
ip route get 198.51.100.20
Agar bu qidiruv tunnel qurilmasini qaytarsa, tunnel o'z transportini o'zi olib yuribdi va biron paket tashqariga chiqishi kerak bo'lganda qulaydi. Mahalliy prefikslar, ikkinchi adapter va siyosatga asoslangan marshrutlash bu yerda hali ham muhim, shuning uchun toza noutbukda ishlaydigan qayta yo'naltirish boshqaruv interfeysi va ikkita standarti bor hostda ishlamasligi mumkin. Odatda manzil rejasi qilgan ish uchun profil ayblanadi.
IPv6 trafigi o'z jadvalini ishlatishda davom etadi
IPv4 ni qayta yo'naltirish IPv6 ga tegmaydi, ikki oila turli bayroqlar bilan o'zgartiriladi. Ishlaydigan v6 standarti bor ikki stekli hostda v4 trafigi butunlay tunnel ichida o'tirishi mumkin, v6 ga qodir har bir manzil esa jismoniy bog'lanish orqali chiqadi. Bir jadvalda to'g'ri ko'ringan host ikkinchisida oqadi.
Ulangandan keyin v6 jadvalini tekshiring, tunnel uni qamrab oldi deb taxmin qilish o'rniga. Direktiva manzil oilasi bayroqlarini aynan shu sabab bilan olib yuradi va ularni tashlab ketgan profil platforma standart ravishda qiladiganini meros oladi:
ip -6 route show default
ip -6 route get 2001:db8::10
Dastur qaysi interfeysdan foydalanishini isbotlang
Ulangan holat to'siq emas, marshrut o'zgarishi esa favqulodda o'chirgich emas. Tunnel ishlamay qolganda to'g'ridan-to'g'ri trafik to'xtashi kerak bo'lsa, bu siyosat xavfsizlik devorida yashaydi va o'z sinovini talab qiladi.
Profil tasvirlagan yo'lni emas, dastur haqiqatan bosib o'tadigan yo'lni sinab ko'ring. Avval marshrutni so'rang, so'ng navbat bilan har bir interfeysga so'rovni bog'lab, uzoq tomon nima xabar berishini solishtiring:
ip route get 203.0.113.10
curl -s --interface tun0 https://ifconfig.me
curl -s --interface eth0 https://ifconfig.me
Agar ikkala so'rov ham bir xil manzilni qaytarsa, marshrutlash jadvali shunday bo'lishi kerak desa ham, dastur tunneldan foydalanmayapti. Agar faqat tunnelga bog'langan so'rov muvaffaqiyatli bo'lsa, jismoniy yo'l o'sha manzil uchun filtrlangan va tunnel siz so'ragan narsani qilmoqda. Bayroqlar, o'rnatilgan marshrutlar, oxirgi nuqta qidiruvi va ikkala chiqish natijasini o'zgarishlar jurnaliga yozing, keyingi odam skrinshot emas, faktlarni meros olsin.