VPN interfeysi kelganda nftables siyosatini barqaror saqlang
Nomga asoslangan nftables qoidalari paydo bo'lib, yo'qoladigan tunnelga dosh beradi, lekin marshrutlar va mavjud oqimlar avtomatik ergashmaydi. Egalarini ajrating.
Tunnellar bir martalik; siyosat bunday bo'lmasligi kerak. Linux shlyuzida tunnel interfeysini nomi bo'yicha moslashtiruvchi nftables qoidasini bir marta yuklash mumkin va u interfeys har paydo bo'lganda amal qilishda davom etadi. Interfeys hali ham hayot tsikliga ega: u yaratiladi, yo'qoladi, atrofidagi marshrutlar va tarjimalar esa o'z jadvaliga ergashadi. Aynan shu egalarni ajratish qayta ulanish paytida kirishni barqaror saqlaydi.
Nom mosligi interfeysdan uzoqroq yashaydi
nftables raqamli interfeys indeksi mosliklarini va dinamik nom mosliklarini iifname va oifname taklif qiladi. Bu nomlardan foydalanadigan qoidalar tunnel qurilmasi hali yaratilmagan bo'lsa ham toza yuklanadi, bu esa yuklanish paytida qoidalar to'plamiga aynan kerak bo'lgan narsa. Interfeys nomi o'zgartirilsa moslik to'xtaydi va yangi interfeys bu nomni olsa yana boshlanadi. Raqamli indeksda bu xususiyat yo'q, shuning uchun tunnel uchun nom shakli odatiy tanlovdir.
Nom moslik kaliti, boshqa tomonda kim borligining isboti emas. Hamrohning autentifikatsiyasi VPN ishi bo'lib qoladi.
Qoidalar qo'shishdan oldin zanjirni o'qing
Qoidalar to'plamida hozir nima borligini va yangi qoida qayerda joylashishini ko'ring, chunki natijani tartib belgilaydi.
nft list ruleset
nft -c -f /etc/nftables.confRo'yxat zanjirlar, qoidalar va tutqichlarni ko'rsatadi, tekshirish rejimi nomzod faylni yuklamasdan tasdiqlaydi. Xuddi shu oqim uchun oldingi qabuldan keyin qo'yilgan faqat tunnelga oid ruxsat hech narsani o'zgartirmaydi, chunki birinchi mos kelgan qoida g'olib bo'ladi. Shuning uchun kech kelgan qoida to'g'ri ko'rinishi mumkin, ammo hech qanday ta'siri bo'lmaydi. Zanjirni tartib bilan o'qing va mijozdan yuqori bog'lanishga ketadigan trafikni taqiqlash hali ham har qanday kengroq narsadan oldin turishini tasdiqlang.
Marshrutlar, tarjima va oqimlarning boshqa egalari bor
Interfeysning mavjudligi marshrut yaratmaydi va hamrohni autentifikatsiya qilmaydi. Ular VPN menejeriga tegishli, tarjimaning esa uchinchi hayot tsikli bor.
conntrack -L -s 10.20.0.0/24 | head
ip route show dev vpn0conntrack ro'yxati mavjud oqimlarni ularning asl va tarjima qilingan qiymatlari bilan ko'rsatadi, marshrutlar ro'yxati esa menejer interfeys uchun nima o'rnatganini ko'rsatadi. NAT qoidalari ulanish kuzatuvi holatini birinchi paketdayoq yaratadi, shuning uchun o'rnatilgan oqim qoida o'zgargandan keyin ham tarjimasini saqlaydi. Shuning uchun yangilanayotgan qoida va yangi yo'ldan foydalanayotgan oqim ikki xil bayonotdir. Qaysi sessiyalar qayta ulanishi kerakligini hal qiling va aloqasi yo'q oqimlarni tinch qo'ying.
Sovuq start, yo'qotish va tiklanishni qabul qiling
Shlyuzni tunnel yuklanish paytida yo'q holatda, keyin mavjud holatda, so'ng uzilish va qaytishdan keyin sinab ko'ring. Tunnel yo'q bo'lganda taqiqlangan yo'naltirish taqiqlanganligicha qolishini, hamroh autentifikatsiya qilingandan keyin yangi ruxsat etilgan oqim ishlashini va tiklanish aloqasi yo'q holatni tozalashni talab qilmasligini tasdiqlang. Bitta profilning to'xtatish harakati sifatida butun POSTROUTING zanjirini yoki har bir conntrack yozuvini o'chirmang, chunki boshqa xizmatlar ularni baham ko'radi. Faqat ishga tushish ilgagi nol bilan chiqqanini emas, qaysi komponent interfeys, marshrut va siyosatni o'zgartirganini ham yozib qo'ying.
Qayta ulanishdan omon qoladigan siyosat egalari nomlangan va qoidalari tunnel pastda ham, yuqorida ham sinab ko'rilgan siyosatdir. Muvaffaqiyat haqida xabar beruvchi ilgak faqat ilgak ishga tushganini isbotlaydi.