Nftables - Nftables

Nftables
Asl muallif (lar)Netfilter loyihasi
Tuzuvchi (lar)Netfilter loyihasi
Barqaror chiqish
0.9.7[1] / 2020 yil 27 oktyabr; 27 kun oldin (2020-10-27)
Ko'rib chiqish versiyasi
Ombor Buni Vikidatada tahrirlash
YozilganC
Operatsion tizimLinux
PlatformaNetfilter
Turipaketlarni filtrlash
LitsenziyaGPLv2
Veb-sayt
tc bilan bog'liq Linux yadrosi paketlarini rejalashtiruvchisi kabi iptables ga Netfilter va nft nftables-ga. Hammasi foydalanuvchi maydoni CLI - tegishli Linux yadro quyi tizimini sozlash uchun ishlatiladigan dasturlar.

nftables ning pastki tizimidir Linux yadrosi filtrlash va tasniflashni ta'minlash tarmoq paketlari / datagrams / freymlar. U Linux yadrosi 3.13 dan 2014 yil 19-yanvarda chiqarilganidan beri mavjud.[2]

nftables eski iptables qismlarini almashtiradi Netfilter. Nftables-ning iptable-larga nisbatan afzalliklari qatorida kodning kam nusxasi va yangi protokollarga osonlikcha kengaytirilganligi mavjud. nftables. orqali sozlangan foydalanuvchi maydoni qulaylik nft, eski vositalar esa yordam dasturlari orqali tuzilgan iptables, ip6 jadvallari, Arptable va ebtables ramkalar.

nftables qurilish bloklaridan foydalanadi Netfilter infratuzilma, masalan, tarmoq stekiga mavjud ulanishlar, ulanishni kuzatish tizimi, foydalanuvchilarning navbatdagi komponentlari va jurnalga kirish tizimining quyi tizimi.

nft

Buyruq satrining sintaksisi

Belgilangan IP-manzilga ega bo'lgan har qanday paketlarni tushirish buyrug'i 1.2.3.4:

nft qoida qo'shish ip filtri chiqishi ip daddr 1.2.3.4 tomchi

E'tibor bering, yangi sintaksisi xuddi shu qoida yoziladigan iptables-dan sezilarli darajada farq qiladi:

iptables -A OUTPUT -d 1.2.3.4 -j DROP

Yangi sintaksis yanada ravshan ko'rinishi mumkin, ammo u ham ancha moslashuvchan. nftables o'z ichiga oladi rivojlangan ma'lumotlar tuzilmalari iptables bilan mavjud bo'lmagan lug'atlar, xaritalar va birikmalar kabi. Ulardan foydalanish ma'lum bir paketli filtrlash dizaynini ifodalash uchun zarur bo'lgan zanjirlar va qoidalar sonini sezilarli darajada kamaytirishi mumkin.

The iptables-tarjima qilish vositasi yordamida ko'plab mavjud iptables qoidalarini teng nftables qoidalariga tarjima qilish uchun foydalanish mumkin.[3][4] Debian 10 (Buster), boshqalar qatorida Linux tarqatish, bilan birgalikda nftable-lardan foydalaniladi iptables-tarjima qilish sukut bo'yicha paket filtrlash orqa tomoni sifatida.[5]

Tarix

Loyiha birinchi bo'lib Netfilter Workshop 2008-da Netfilter Core Team-dan Patrik MakHardi tomonidan taqdim etildi.[6] Yadro va foydalanuvchilar maydonini tatbiq etishning birinchi oldindan ko'rish versiyasi 2009 yil mart oyida berilgan.[7] Ushbu vosita "2001 yilda iptables paydo bo'lganidan buyon Linux xavfsizlik devoriga eng katta o'zgarish" deb nomlangan bo'lsa-da, u matbuot tomonidan kam e'tiborga sazovor bo'ldi.[8] Taniqli xaker Fyodor Vaskovich (Gordon Lion) "u asosiy oqimda umumiy chiqishini kutayotganini" aytdi Linux yadrosi ".[8]

Loyiha alfa bosqichida qoldi va rasmiy veb-sayti 2009 yilda olib tashlandi. 2010 yil mart oyida loyihaning pochta ro'yxatlaridagi muallifning elektron pochta xabarlari loyihaning hali ham faolligini va beta-versiyaga yaqinlashayotganini ko'rsatdi,[9][10] ammo ikkinchisi hech qachon rasmiy ravishda jo'natilmagan. 2012 yil oktyabr oyida Pablo Neira Ayuso iptables uchun moslik qatlamini taklif qildi[11] va loyihani asosiy yadroga kiritish mumkinligini e'lon qildi.

2013 yil 16 oktyabrda Pablo Neira Ayuso nftables yadrosini taqdim etdi so'rovni torting uchun Linux yadrosi magistral liniyasi daraxt.[12] U yadro magistraliga 2014 yil 19-yanvarda qo'shildi, Linux yadrosi 3.13 versiyasi chiqarildi.[2]

Umumiy nuqtai

Nftables yadrosi dvigateli oddiy qo'shadi virtual mashina tarmoq paketini tekshirish va ushbu paketga qanday ishlov berish kerakligi to'g'risida qaror qabul qilish uchun bayt kodini bajaradigan Linux yadrosiga. Ushbu virtual mashina tomonidan amalga oshiriladigan operatsiyalar ataylab asosiy holga keltiriladi. U paketning o'zidan ma'lumotlarni olishi, bog'liq metama'lumotlarni ko'rib chiqishi (masalan, kirish interfeysi) va ulanishni kuzatish ma'lumotlarini boshqarishi mumkin. O'sha ma'lumotlar asosida qaror qabul qilishda arifmetik, bitli va taqqoslash operatorlaridan foydalanish mumkin. Virtual mashina, shuningdek, ma'lumotlar to'plamini (odatda, IP-manzillarni) manipulyatsiya qilishga qodir, bu bir nechta taqqoslash operatsiyalarini bitta to'plamni qidirish bilan almashtirishga imkon beradi.[13]

Yuqorida tavsiflangan tashkilot iptables xavfsizlik devori kodiga ziddir, chunki u mantiqqa chuqur kiritilgan protokol xabardorligiga ega, chunki kod to'rt marta takrorlanishi kerak edi. IPv4, IPv6, ARP va Ethernet ko'prik - chunki xavfsizlik devori dvigatellari protokolga xos bo'lib, ularni umumiy tarzda ishlatish mumkin emas.[13]

Nftables-ning iptable-larga nisbatan asosiy afzalliklari Linux yadrosini soddalashtirishdir ABI, kamaytirish kodni takrorlash yaxshilandi xato haqida xabar berish va filtrlash qoidalarini yanada samarali bajarish, saqlash va qo'shimcha o'zgarishlar. An'anaviy ravishda ishlatiladi iptables (8), ip6 jadvallari (8), arpable (8) va ebtables (8) (IPv4, IPv6, ARP va Ethernet ko'prigi uchun) mos ravishda o'zgartirilishi kerak nft (8) yadro ichidagi virtual mashinaning yuqori qismida xavfsizlik devori konfiguratsiyasini ta'minlaydigan yagona birlashtirilgan dastur sifatida.

nftables shuningdek, foydalanuvchi kengaytirilgan API-ni taqdim etadi atom bitta yoki bir nechta xavfsizlik devori qoidalarini bitta ichida almashtirish Netlink bitim. Bu katta qoidalarga ega bo'lgan o'rnatish uchun xavfsizlik devori konfiguratsiyasini o'zgartirishni tezlashtiradi; shuningdek qoidalar o'zgarishi paytida poyga sharoitlaridan qochishga yordam beradi. nftables shuningdek, avvalgi xavfsizlik devorlaridan o'tishni engillashtirish uchun moslik xususiyatlarini, iptables formatidagi qoidalarni aylantirish uchun buyruq qatori yordam dasturlarini,[14] va nftables backend-dan foydalanadigan iptables buyruqlarining sintaksisga mos versiyalari.[15]

Adabiyotlar

  1. ^ "Netfilter / iptables loyihasi yangiliklari". netfilter.org. 2020-10-27. Olingan 2020-11-22.
  2. ^ a b "nftables, iptables-ning davomchisi". Linux 3.13. kernelnewbies.org. 2014-01-19. Olingan 2016-03-04.
  3. ^ https://wiki.nftables.org/wiki-nftables/index.php/Moving_from_iptables_to_nftables
  4. ^ https://wiki.nftables.org/wiki-nftables/index.php/List_of_available_translations_via_iptables-translate_tool
  5. ^ https://wiki.debian.org/nftables
  6. ^ "Foydalanuvchilar uchun kun dasturi - NFWS2008". seminar.netfilter.org. 2008-10-03. Olingan 2014-02-22.
  7. ^ dastlabki e'lon e'lon.
  8. ^ a b Grey, Patrik (2009 yil 26 mart). "YANGILIKLAR: Linux yangi xavfsizlik devorini oladi". Xavfli.biz.
  9. ^ "Linux Netfilter Devel - Re: nftablesning hozirgi holati". Spinics.net. Olingan 2014-01-20.
  10. ^ "Linux Netfilter Devel - Re: nftablesning hozirgi holati". Spinics.net. Olingan 2014-01-20.
  11. ^ "Linux Netfilter Devel - [RFC] nf_tables-ga (yana moslik qatlami) qaytadan". Spinics.net. Olingan 2014-01-20.
  12. ^ "[PATCH 00/17] netfilter yangilanishlari: nf_tables tortishish so'rovi". Marc.info. Olingan 2014-01-20.
  13. ^ a b Jonathan Corbet (2013-08-20). "Nftablesning qaytishi". LWN.net. Olingan 2013-10-22.
  14. ^ Neira Ayuso, Pablo. "nftables - buyruq qatori nft vositasi". git.netfilter.org. Olingan 24 yanvar 2019.
  15. ^ Arturo, Ral. "Netfilter Workshop 2018 Berlin xulosasi". ral-arturo.org. Olingan 24 yanvar 2019.

Tashqi havolalar