Maskarad yoki siyosat bo'yicha marshrutlash: VPN shlyuzi orqali LAN trafigi
Linux shlyuzi LAN manbalarini tunnel manzili ortiga yashirishi yoki ularni o'zgartirmasdan marshrutlashi mumkin. Tanlov uzoq tomon kimga tegishli ekani va uning qaytish yo'liga bog'liq.
Butun LANni VPN tunnel ortiga qo'yish oson qismi; uzoq tomon bu mijozlarni qanday ko'rishini hal qilish esa oson emas. Maskarad har bir LAN manbasini shlyuzning tunnel manziliga qayta yozadi, shuning uchun uzoq tomon bitta hamkorga javob beradi. Siyosat bo'yicha marshrutlash asl manzillarni saqlaydi va uzoq tomon ularga qanday yetishni bilishini talab qiladi. Ikkalasi ham standart emas; tanlov uzoq tomon kimga tegishli ekani va qurilma bo'yicha shaxsiyat muhimligiga bog'liq.
Ikki loyiha turli narsalarni va'da qiladi
Maskarad LANni bitta ko'rinadigan xostga qisqartiradi: shlyuz. Uzoq tarmoq shu bitta manzilga javob beradi, shlyuz esa javoblarni oqimni boshlagan mijozga qaytarib tarjima qiladi. Uzoq tomonda shaxsiy prefikslaringizga marshrut kerak emas, shuning uchun bu loyiha ularni tashishdan bosh tortgan provayderda ham yashaydi. Shlyuz har bir ulanishning manbasi ham bo'ladi, shuning uchun uzoq tomon ikki mijozni ajrata olmaydi.
Siyosat bo'yicha marshrutlash har bir mijoz manzilini buzilmasdan saqlaydi. Uzoq tarmoq haqiqiy manbani ko'radi va uni jurnalga yozishi, xost bo'yicha qoida qo'llashi yoki javobni to'g'ridan-to'g'ri shu manzilga yuborishi mumkin. Bu ko'rinuvchanlik butun mazmun, va u majburiyat bilan keladi: uzoq tomonda LAN prefiksi uchun tunneldan qaytadigan marshrut bo'lishi kerak. Qoidani yoqishdan oldin shu marshrutni rejalashtiring, chunki tunnel baribir ko'tariladi va faqat javoblar yetishmaydi.
Muvaffaqiyatsizlik usullari va'dalar kabi farq qiladi. Yo'q maskarad qoidasi shaxsiy manbalar bilan chiqib, hech qachon qaytmaydigan paketlar yaratadi. Yo'q qaytish marshruti siyosat bo'yicha marshrutlashda xuddi shu alomatni beradi, lekin tuzatish shlyuzda emas, uzoq marshrutizatorda.
Maskarad: uzoq tomonda bitta hamkor
Maskarad yo'lining muhim tartibi bor. Har qanday NAT qoidasi foyda berishidan oldin yo'naltirish yoqilgan bo'lishi kerak, filtr jadvali ikki yo'nalishda ham o'tishga ruxsat berishi kerak, va shundan keyingina tunnel interfeysida tarjima qo'llanadi.
sysctl -w net.ipv4.ip_forward=1
iptables -A FORWARD -i eth1 -o tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
Mijozlar hali ham shlyuzga yo'l kerak. Yoki shlyuz ularning standart marshrutizatori, yoki ular uzoq prefiks uchun alohida marshrut olib yuradilar; agar alohida marshrutizator standart bo'lib qolsa, unga tunnel manzillari uchun statik marshrut kerak, aks holda paket shlyuz uni ko'rishidan oldin noto'g'ri sakrashga ketadi.
DNS alohida qaror. Uzoq tomondagi rezolver faqat javobi mijozga qaytishi mumkin bo'lsa javob beradi. Maskarad ostida so'rov shlyuzdan kelayotgandek ko'rinadi, shuning uchun rezolverning qaytish yo'li allaqachon ta'minlangan; siyosat bo'yicha marshrutlashda rezolverga boshqa har qanday uzoq xizmat kabi xuddi shu qaytish marshruti kerak.
Siyosat bo'yicha marshrutlash: manbani saqlang, qaytish yo'lini qo'shing
Siyosat bo'yicha marshrutlash jadval va uni tanlaydigan qoida bilan boshlanadi. LAN interfeysidan kiradigan trafik maxsus jadvalga yuboriladi va bu jadval tunnel orqali standart marshrutni olib yuradi. Asosiy jadval tegilmagan qoladi, shuning uchun shlyuzning o'zi yaratgan trafik boshqa yo'l bilan ketishi mumkin.
ip rule add iif eth1 table vpn
ip route add default dev tun0 table vpn
Keyin uzoq tomon LAN prefiksini tunnel orqali qaytarib marshrutlashi kerak. Bu shu shlyuzda emas, uzoq marshrutizatordagi sozlama. Shlyuz asosiy jadval kutganidan boshqa interfeysga keladigan javoblarni ham qabul qilishi kerak; qattiq rejim bu paketlarni tashlaganda bo'sh teskari yo'l filtri (rp_filter 2 ga qo'yilgan) odatiy tuzatishdir.
Ikki tunnel faol bo'lganda, har bir oqimni kirishda belgilang va belgi jadvalni tanlasin. Faqat kirish interfeysiga qaraydigan qoida ikkala tunnel trafigini bir jadvalga yuboradi, shuning uchun ikkinchi tunnel birinchidan oqimlarni o'g'irlaydi. Bu belgini qayta ulanishdan omon qoladigan ulanish bilan sinab ko'ring, chunki aralash siyosat aynan o'shanda namoyon bo'ladi.
Egalik va uzoq tomon nima jurnalga yozishiga qarab qaror qiling
Agar tunnel provayderda tugasa, maskaraddan foydalaning. Bu operator shaxsiy LAN diapazonlaringizni marshrutlamaydi va shlyuzingiz orqasidagi alohida mijozlarni ajratishga asosi yo'q. Bitta ko'rinadigan hamkor uning siyosati qo'llab-quvvatlaydigan yagona model, shuning uchun unga shuni bering va tarjimani o'z chegarangizda saqlang. Provayder bitta hamkorni ko'radi, bu aynan uning siyosati kutgan narsa, va mijozlaringiz o'sha yagona shaxsiyatni meros oladi.
Agar ikkala tomon ham sizniki bo'lsa va uzoq xizmatlar manba manzillari bo'yicha ishlasa, siyosat bo'yicha marshrutlash qo'shimcha marshrutiga loyiq. Shunda xavfsizlik devori qoidalari, foydalanuvchi bo'yicha kirish va audit jurnallari mijozlarni ajrata oladi. Agar uzoq tomonga faqat yetib borish kerak bo'lsa, maskarad soddaroq va qaytish marshruti xatolarining bir sinfini yo'q qiladi.
Gibrid loyihalar odatiy: o'z tarmog'ingizda siyosat bo'yicha marshrutlash, provayder chegarasida maskarad. Muhimi qaysi sakrash tarjima qilishini va qaysi sakrash marshrutlashini yozib qo'yish, chunki bitta mijoz uchun tasodifan qo'shilgan NAT qoidasi xuddi shu zanjirdagi har bir mijozdan manbani yashiradi.
Bitta mijozdan tekshiring, keyin ikkinchi mijozdan
Testni trafik boshlanadigan joyda o'tkazing. Xost ishlatadigan marshrutni tekshiring, paketning tunnel interfeysida paydo bo'lishini kuzating va tarjima uchun conntrackni ko'ring. Bu ketma-ketlik paket mo'ljallangan yo'lni bosib o'tganini isbotlaydi, shunchaki biror joyga yetib kelganini emas.
Qayta ulanishdan keyin testni takrorlang. Interfeysni nomlaydigan maskarad qoidasi yangi tunnel manzilida ham yashaydi; eski manzilni nomlaydigan qoida yashamaydi. Keyin ikkinchi LAN xostni sinab ko'ring, chunki bitta mashinada ishlaydigan loyiha ko'pincha o'sha mashinaning o'z marshrutiga bog'liq, shlyuz siyosatiga emas.
Tanlangan modelni, tarjima qilingan yoki saqlangan manbani va qaytish marshrutining egasini shlyuz eslatmalariga yozing. Aks holda mijoz yoki tunnel qo'shadigan keyingi odam taxmin qiladi, taxmin esa ishlayotgan LAN-dan-VPN-ga sozlamasini qisman holga keltiradigan yo'l.