nftables paket filtri 0.9.9 versiyasi

nftables 0.9.9 paket filtri chiqarildi. U IPv4, IPv6, ARP va tarmoq ko'priklari (iptables, ip6table, arptables va ebtables o'rnini bosuvchi sifatida mo'ljallangan) uchun paket filtrlash interfeyslarini birlashtiradi. nf_tables quyi tizimi bilan o'zaro ishlash uchun past darajadagi API taqdim etuvchi libnftnl 1.2.0 kutubxonasi bir vaqtning o'zida chiqarildi. nftables 0.9.9 uchun zarur bo'lgan o'zgarishlar yadroga kiritilgan. Linux 5.13-rc1.

nftables paketi foydalanuvchi maydonida ishlaydigan paket filtri komponentlarini o'z ichiga oladi, yadro darajasidagi ish esa yadroning bir qismi bo'lgan nf_tables quyi tizimi tomonidan ta'minlanadi. Linux 3.13 versiyasidan beri yadro darajasida faqat umumiy protokolga bog'liq bo'lmagan interfeys taqdim etiladi, bu paketlardan ma'lumotlarni olish, ma'lumotlar operatsiyalarini bajarish va oqimni boshqarish uchun asosiy funksiyalarni ta'minlaydi.

Filtrlash qoidalarining o'zi va protokolga xos ishlov beruvchilar foydalanuvchi maydonida baytkodga kompilyatsiya qilinadi, shundan so'ng bu baytkod Netlink interfeysi yordamida yadroga yuklanadi va yadroda maxsus tarzda bajariladi. virtual mashina, BPF (Berkeley Packet Filters) ni eslatadi. Ushbu yondashuv yadro darajasida ishlaydigan filtrlash kodining hajmini sezilarli darajada kamaytirish imkonini beradi va barcha qoidalarni tahlil qilish va protokol mantig'ini foydalanuvchi maydoniga ko'chiradi.

Asosiy innovatsiyalar:

  • Oqim jadvalini qayta ishlashni tarmoq adapteri tomoniga o'tkazish imkoniyati amalga oshirildi, "offload" bayrog'i yordamida yoqilgan. Flowtable - paketlarni qayta yo'naltirish yo'lini optimallashtirish mexanizmi bo'lib, unda barcha qoidalarni qayta ishlash zanjirlarining to'liq o'tishi faqat birinchi paketga qo'llaniladi va oqimdagi barcha boshqa paketlar to'g'ridan-to'g'ri yo'naltiriladi. jadval ip global { flowtable f { ilgakka kirish ustuvor filtri + 1 qurilmalar = { lan3, lan0, wan } bayroqlarni tushirish } zanjir oldinga { turi filtri kanca oldinga ustuvorlik filtri; siyosatni qabul qilish; ip protocol { tcp, udp } flow add @f } zanjir post { type nat hook postrouting priority filter; siyosatni qabul qilish; oifname "wan" maskarad }}
  • Jarayon tomonidan jadvaldan eksklyuziv foydalanishni ta'minlash uchun stolga egasi bayrog'ini qo'shish uchun qo'shimcha yordam. Jarayon tugagach, u bilan bog'langan jadval avtomatik ravishda o'chiriladi. Jarayon haqidagi ma'lumotlar sharh ko'rinishidagi dump qoidalarida ko'rsatiladi: jadval ip x { # progname nft flags owner chain y { type filter hook kiritish ustuvor filtri; siyosatni qabul qilish; hisoblagich paketlari 1 bayt 309 } }
  • IEEE 802.1ad spetsifikatsiyasi (VLAN stacking yoki QinQ) uchun qo'shimcha qo'llab-quvvatlash, bu bir nechta VLAN teglarini bitta chekilgan ramkaga almashtirish vositalarini belgilaydi. Masalan, tashqi chekilgan 8021ad freym va vlan id=342 turini tekshirish uchun siz konstruksiyadan foydalanishingiz mumkin 802.1ad vlan id 342 Ethernet freymining tashqi turini tekshirish uchun 8021 ichki oʻrnatilgan 1ad/vlan id=802.1. q/vlan id=2 va keyingi IP-paket inkapsulyatsiyasi: ... efir turi 8021ad vlan identifikatori 1 vlan turi 8021q vlan id 2 vlan turi ip hisoblagichi
  • Yagona ierarxik guruhlardan foydalangan holda resurslarni boshqarish uchun qo'shimcha yordam v2. v2 va v1 guruhlari o'rtasidagi asosiy farq protsessor resurslarini taqsimlash, xotira sarfini tartibga solish va kiritish-chiqarish uchun alohida ierarxiyalar o'rniga barcha turdagi resurslar uchun umumiy guruhlar ierarxiyasidan foydalanishdir. Masalan, cgroupv2 birinchi darajasidagi rozetkaning ajdodi “system.slice” niqobiga mos kelishini tekshirish uchun quyidagi konstruktsiyadan foydalanishingiz mumkin: ... socket cgroupv2 1-darajali “system.slice”
  • SCTP paketlarining tarkibiy qismlarini tekshirish imkoniyati qo'shildi (ishlash uchun zarur bo'lgan funksiya yadroda paydo bo'ladi) Linux 5.14). Masalan, paketda 'ma' turi va 'turi' maydoniga ega bo'lgan qism bor-yo'qligini tekshirish uchun: … sctp qism ma'lumotlari mavjud … sctp qism ma'lumotlari turi 0
  • Qoidalarni yuklash operatsiyasi “-f” bayrog'i yordamida taxminan ikki marta tezlashdi. Qoidalar ro'yxatini chiqarish ham tezlashdi.
  • Bayroq bitlari o'rnatilganligini tekshirish uchun ixcham shakl taqdim etilgan. Masalan, snat va dnat status bitlari o'rnatilmaganligini tekshirish uchun quyidagilarni belgilashingiz mumkin: ... ct status ! snat,dnat sin biti bit maskasida o'rnatilganligini tekshirish uchun syn,ack: ... tcp flags syn / syn,ack fin va birinchi bitlar bitmaskda o'rnatilmaganligini tekshirish uchun syn,ack,fin,rst: ... tcp bayroqlari ! = fin,rst / syn,ack,fin,rst
  • "Hukm" kalit so'zidan to'plam/xarita turi ta'riflarida foydalanishga ruxsat bering: map xm { typeof iifname ni qo'shing. ip protokoli th port: hukm;}

Manba: opennet.ru

DDoS himoyasi, VPS VDS serverlari bo'lgan saytlar uchun ishonchli hosting sotib oling 🔥 DDoS himoyasi, VPS VDS serverlari bilan ishonchli veb-sayt xostingini sotib oling | ProHoster