Ikki shlyuz, bitta VPN: nima uchun OpenVPN noto'g'ri yuqori kanalni tanlaydi
Tunnel joyida; soket noto'g'ri WAN orqali chiqmoqda. Faol peer manzilini o'qing, xost marshrutini mahkamlang va avval siyosat qoidalarini tekshiring.
Ikki yuqori kanal, bitta tunnel, va trafik siz tanlamagan kanal orqali chiqmoqda. Xususiy quyi tarmoqlar yetib boriladi, jurnal muvaffaqiyatli ulanishni xabar qiladi, va aynan o'lchangan kanal uni tashimoqda. OpenVPN chiqishida shlyuz haqida hech narsa aytilmagan, chunki mijoz hech qachon bittasini tanlamagan. U uzoq manzilga soket ochdi va bu manzilga qanday yetishni yadroga qoldirdi.
Tunnel manzili oxirgi nuqta emas
Har bir sessiyada ikki xil yo'l bor. Tashqi yo'l shifrlangan transportni serverning ommaviy manziliga olib boradi. Ichki yo'l server tunnelga itarib yuborgan hamma narsani tashiydi, va birining marshrut qoidalari ikkinchisiga ta'sir qilmaydi.
Profildagi remote yozuvi tashqi manzilni nomlaydi, shuning uchun mahkamlash kerak bo'lgan manzil o'sha. Bu xost nomi boshqacha hal qilinganda yoki profil bir nechta remote ro'yxatini bersa o'zgaradigan qiymat ham.
Mijoz haqiqatan qo'ng'iroq qilgan manzilni toping
Konfiguratsiya fayli o'rniga tirik soketni o'qing. Soket jadvali jarayon haqiqatan ulangan peerni ko'rsatadi, va istisno o'sha qiymatga mos kelishi kerak. Profilni sessiya boshlangandan keyin ham tahrirlash mumkin, va nimaga qo'ng'iroq qilinganining yagona dalili soket:
ss -tunp | grep -i openvpn
journalctl -u openvpn-client@work --no-pager | grep -i "Peer Connection Initiated"
Jurnal satri ulanish vaqtidagi peer manzili va portni nomlaydi. Agar profilga mos kelmasa, mijoz oldida biror narsa ulanish boshlanishidan oldin manzilni qayta yozmoqda.
Manzil oilasini ham tekshiring. Ikki stekli profil IPv6 orqali ulanishi mumkin, sizning istisnongiz esa faqat IPv4ni qamrab oladi, va shunda trafik siz yozgan qoidadan boshqa qoidaga bo'ysunadi. Xuddi shu narsa oxirgi nuqta nomidan javob beradigan proksi uchun ham amal qiladi. Ikkala holatda ham marshrutingiz hech narsa qilmayotganda tunnel ishlaydi.
Oxirgi nuqtani mahkamlang va siyosat tartibini o'qing
Xost marshruti har qanday standart marshrutdan aniqroq. Shuning uchun peer manzili uchun /32 uni o'z ichiga olgan jadvalda g'olib bo'ladi. Odatiy shakl shlyuz va qurilmani aniq nomlaydi:
ip route add 203.0.113.40/32 via 192.168.10.1 dev eth0
Bu marshrut faqat qidiruv o'sha jadvalga yetganda yordam beradi. Siyosat qoidalari tartib bilan baholanadi va birinchi moslik hal qiladi, shuning uchun hamma narsani ikkinchi jadvalga yuboradigan qoida maindagi xost marshrutingizni chetlab o'tadi. Marshrutni vakolatli deb hisoblashdan oldin qoidalarni o'qing:
ip rule show
ip route get 203.0.113.40
Ikkinchi buyruqni mijoz ishlatadigan bir xil manba manzili yoki belgisi bilan so'rang, siyosat ularga bog'liq bo'lganda. U yadro tanlaydigan marshrutni xabar qiladi, bu qidiruv haqida dalil, tirik soket o'sha yo'lni ishlatayotganining dalili emas.
Oxirgi nuqta siljiganda
Bir nechta manzilga hal qilinadigan xost nomi javob o'zgarishi bilan doimiy /32ni bekor qiladi. Bir nechta remote satri bo'lgan profil ham xuddi shu muammoga ega, chunki mijoz ulardan istalganiga qo'nishi mumkin. Marshrutni qo'lda qo'shish o'rniga mijozning o'z hayot sikli ilgaklaridan yangilang. up skripti kelishilgan peerni o'qib, xost marshrutini o'rnatadi, istisnoni voqelikka moslab turadi, mos keladigan down skripti esa uni olib tashlaydi.
Yangilashni xostning qolgan marshrutlash konfiguratsiyasi bilan bir joyda yozib qo'ying. Keyingi qayta yuklashgacha mavjud bo'lgan marshrut sinov, tuzatish emas.
Ichki siyosatni alohida saqlang
Tashqi yo'lni ko'chirish yangi xususiy quyi tarmoqqa kirish bermaydi va server tunnelga qaysi manzillarni itarishini o'zgartirmaydi. Pastki qatlam marshruti simni tanlaydi; itarilgan marshrutlar tunnelga nima kirishini tanlaydi. Aynan shu ikki qarorni alohida saqlash bo'linishni oldindan aytib bo'ladigan qiladi.
Agar maqsad faqat shifrlangan transportni o'lchangan kanaldan uzoqda saqlash bo'lsa, standart marshrutga tegmasdan yagona xost istisnosini qo'shing. Bitta VPN ulanishini ko'chirish uchun butun mashinaning standart marshrutini almashtirish xostdagi har bir boshqa dasturni buzadi.
Natijani ikki mustaqil kuzatuv bilan tasdiqlang: soketning mahalliy manzili va qurilmasi, va xususiy manzil hal qilinadigan marshrut. Ikkalasi ham niyatingizga mos bo'lsa, bo'linish haqiqiy. OpenVPN 2.6 qo'llanmasi mijoz qaysi manzilga qo'ng'iroq qilishini belgilaydigan remote va mahalliy bog'lash variantlarini qamrab oladi.