Bitta sinov LAN ga o'zining WireGuard chiqishini qanday berish mumkin
Bitta LAN ni maxsus marshrutlash jadvali va yetib bo'lmaydigan qo'riqchi bilan WireGuard chiqishiga cheklang, shlyuz esa odatdagi WAN standart marshrutini saqlab qoladi.
Uchta loyiha bir xil laboratoriya muammosini hal qiladi: kichik LAN WireGuard sherigi orqali chiqishi kerak, shlyuzning o'zi esa odatdagi yuqori ulanishini saqlab qoladi. Vasvasaga soluvchi qisqa yo'l — marshrutizatorning standart marshrutini tunnel ichiga ko'chirish, lekin bu qutining o'z boshqaruv yo'lini va u uzatadigan boshqa hamma narsani buzadi. Qiziqarli variant — bitta interfeys va bitta prefiks bilan cheklangan siyosat asosidagi marshrutlash. Haqiqatan sizda bor mashina haqidagi uchta savolga javob berib, ular orasidan tanlang.
Chiqish qayerda yashashini hal qiling
Birinchi savol: bu xost boshqa narsa uchun ham uzatadimi? Maxsus laboratoriya shlyuzi standart bo'yicha hamma narsani tashlaydigan uzatish siyosati bilan yashay oladi. Ishlab chiqarish vazifalari bo'lgan marshrutizator bunday qila olmaydi, boshqariladigan xavfsizlik devori ustiga raqobatchi qoidalar to'plamini qo'yish esa uzilishlar rejalashtiriladigan aynan o'sha usuldir. Ikkinchi: qayta yuklashlar orasida ikkita siyosat obyektini va ularning tartibini saqlay olasizmi? Uchinchi: sizning sherigingiz tunnel manba manzilini ruxsat qiladimi va internetga chiqish beradimi? Faqat xususiy tarmoqni ochadigan sherik boshqa mahsulot, va hech qanday mahalliy marshrutlash o'zgarishi buni tuzatmaydi. Agar biror javob yo'q bo'lsa, chiqishni o'rniga nomlar fazosiga yoki bir marta ishlatiladigan virtual mashinaga joylashtiring.
Nomlar fazosi yoki VM xotirani sarflaydi va sizga toza portlash radiusi beradi. Siyosat asosidagi marshrutlash ikkita qoidani sarflaydi va nosozlikni tuzatish uchun bitta quti qoldiradi.
Manbangizni ruxsat qiladigan chiqishni tanlang
Bu laboratoriyadagi nosozliklarning aksariyati bitta xavfsizlik devori qoidasi paydo bo'lishidan oldin sodir bo'ladi. Chiqish operatori tarjimadan keyin paketlaringiz olib yurgan manba manzilini qabul qilishi kerak, bu loyihada esa bu LAN prefiksi emas, tunnel manzili. Shuning uchun maskalash boshidan loyihaga kiradi, keyingi qo'shimcha sifatida emas.
Operator bilan uchta narsani tasdiqlang: sherik tunnel manzilingizni ruxsat qiladi, u o'zida tugash o'rniga IPv4 ni uzatadi va chiqish NAT ini qo'llaydi. Birinchisisiz paketlaringiz yetib keladi va yo'qoladi. Uchinchisisiz ular xususiy manba bilan chiqadi va keyingi sakrashda o'ladi. Keyin wg-quick o'zining standart marshrutini o'rnatmayotganini tekshiring, buni Table = off to'xtatadi; bu sozlama marshrut yaratishni bostiradi, sherikning AllowedIPs tekshiruvlarini yoki uning DNS ishlovini emas.
Ikkita siyosat obyekti yo'naltirishni bajaradi
Yo'naltirish uchun jadval va qoida kerak. Jadval ikkita marshrutni saqlaydi: LAN interfeysidan tashqariga chiqadigan LAN prefiksi va tunneldan tashqariga chiqadigan standart marshrut. Qoida LAN interfeysiga keladigan va shu prefiksni olib yurgan trafikni jadvalga yuboradi. Manba mosligi bilan birga iif tanlagichidan foydalaning, chunki shlyuzning o'z WireGuard paketlari mahalliy darajada paydo bo'ladi va hech qachon kirayotgan interfeysga mos kelmaydi.
Qo'riqchi qidiruvdan oldin keladi, keyin emas. Aynan shu tartib loyihaning butun xavfsizlik xususiyatidir.
Qo'riqchi o'sha tanlagichdagi ikkinchi qoida bo'lib, uning hukmi unreachable. Tunnel ko'tarilgan paytda qidiruv yutishda davom etishi uchun unga yuqoriroq raqamli ustuvorlik bering. Tunnel marshruti yo'qolganda qidiruv hech narsa qaytarmaydi va qo'riqchi qidiruvni to'xtatadi, uni asosiy jadvaldagi WAN standartiga tushib ketishiga yo'l qo'ymaydi.
ip rule add from 192.168.50.0/24 iif lan0 lookup 51861 pref 1000
ip rule add from 192.168.50.0/24 iif lan0 unreachable pref 1001
ip route add table 51861 default dev wg0
Orqaga chekinish tirqishini ochishdan oldin yoping
Avval qo'riqchini, keyin qidiruvni o'rnating. Buning teskarisini qilish bir necha soniyalik oyna qoldiradi, unda sinov mijozi trafigi yuqori ulanishga yetishi mumkin.
Filtr rasmni to'ldiradi. forward ilgagida sinov prefiksi uchun LAN dan tunnelga yo'nalishni va o'rnatilgan qaytish yo'nalishini qabul qiling, keyin qolgan hamma narsani tashlang; o'sha prefiksning tunnel interfeysiga NAT i postrouting ga tushadi. Aynan policy drop ni uzatish zanjirida qoldirish yo'qolgan marshrutni oqish emas, sukunatga aylantiradi. Teskari yo'l filtrlash tunnel interfeysida bo'sh rejimni talab qiladi, chunki dekapsulyatsiyadan keyin kelgan ommaviy manbaning eng yaxshi teskari marshruti WAN tomonda bo'ladi. Linux all va har bir interfeys qiymatlaridan yuqorisini oladi, shuning uchun tunnel interfeysini sozlash hamma joyda tekshiruvni zaiflashtirish bilan bir xil emas.
Buni nosozlik holati bilan isbotlang
Yadroga aniq savol bering: mijozning manba manzili va u keladigan interfeysni nomlang. Ikkalasi bo'lmasa qidiruv boshqa savolga javob beradi va ikkala holatda ham to'g'ri ko'rinadi. Keyin xavfsizlik devori hisoblagichlariga, sherikning uzatish holatiga va mijozning o'z xizmatiga qarang.
Olib tashlashni to'g'ri sinab ko'ring. Qoida va filtrni joyida qoldirib tunnelni to'xtating: mijoz to'xtab qolishi, shlyuzning o'z trafigi esa ishlashda davom etishi kerak. Keyin mahalliy interfeysga tegmasdan sherikni to'xtating, va faqat marshrut mavjudligiga tayanadigan loyihalarni ushlaydigan holat aynan shu. Nihoyat qayta yuklang va qoidalar tartibini yana tekshiring, chunki qo'riqchini olib tashlaydigan demontaj ilgagi butun loyihani asosiy jadvalga qaytaradi. Jadval raqamini, ustuvorliklarni va interfeys nomlarini o'zgartirish bilettiga yozing, chunki keyingi qoida qo'shadigan odam aynan shu narsani buzadi.