nftables பாக்கெட் வடிகட்டி வெளியீடு 1.0.2

IPv1.0.2, IPv4, ARP மற்றும் நெட்வொர்க் பிரிட்ஜ்களுக்கான (iptables, ip6table, arptables மற்றும் ebtables ஆகியவற்றை மாற்றுவதை நோக்கமாகக் கொண்ட) பாக்கெட் வடிகட்டி இடைமுகங்களை ஒருங்கிணைக்கும் பாக்கெட் வடிகட்டி nftables 6 வெளியிடப்பட்டது. nftables 1.0.2 வெளியீடு வேலை செய்ய தேவையான மாற்றங்கள் Linux kernel 5.17-rc இல் சேர்க்கப்பட்டுள்ளன.

nftables தொகுப்பில் பயனர் இடத்தில் இயங்கும் பாக்கெட் வடிகட்டி கூறுகள் உள்ளன, அதே சமயம் கர்னல்-நிலை வேலை nf_tables துணை அமைப்பால் வழங்கப்படுகிறது, இது 3.13 வெளியீட்டிலிருந்து லினக்ஸ் கர்னலின் ஒரு பகுதியாக உள்ளது. கர்னல் நிலை ஒரு பொதுவான நெறிமுறை-சுயாதீன இடைமுகத்தை மட்டுமே வழங்குகிறது, இது பாக்கெட்டுகளிலிருந்து தரவைப் பிரித்தெடுப்பதற்கும், தரவு செயல்பாடுகளைச் செய்வதற்கும் மற்றும் ஓட்டக் கட்டுப்பாடுக்கும் அடிப்படை செயல்பாடுகளை வழங்குகிறது.

வடிகட்டுதல் விதிகள் மற்றும் நெறிமுறை-குறிப்பிட்ட ஹேண்ட்லர்கள் பயனர் இடத்தில் பைட்கோடாக தொகுக்கப்படுகின்றன, அதன் பிறகு இந்த பைட்கோடு Netlink இடைமுகத்தைப் பயன்படுத்தி கர்னலில் ஏற்றப்பட்டு, BPF (Berkeley Packet Filters) ஐ நினைவூட்டும் ஒரு சிறப்பு மெய்நிகர் இயந்திரத்தில் கர்னலில் செயல்படுத்தப்படுகிறது. இந்த அணுகுமுறையானது கர்னல் மட்டத்தில் இயங்கும் வடிகட்டுதல் குறியீட்டின் அளவைக் கணிசமாகக் குறைக்கவும், நெறிமுறைகளுடன் பணிபுரியும் நெறிமுறைகளைப் பாகுபடுத்தும் அனைத்து செயல்பாடுகளையும் பயனர் இடத்திற்கு நகர்த்தவும் உங்களை அனுமதிக்கிறது.

முக்கிய கண்டுபிடிப்புகள்:

  • புதிய "-o" ("--optimize") விருப்பத்தைப் பயன்படுத்தி ஒரு விதிகள் மேம்படுத்தல் பயன்முறை சேர்க்கப்பட்டது, இது "--check" விருப்பத்துடன் இணைந்து ரூல்செட் கோப்பை ஏற்றாமல் மாற்றங்களைச் சரிபார்த்து மேம்படுத்தலாம். . உகப்பாக்கம் உங்களை ஒத்த விதிகளை இணைக்க அனுமதிக்கிறது, எடுத்துக்காட்டாக, விதிகள்: meta iifname eth1 ip saddr 1.1.1.1 ip daddr 2.2.2.3 மெட்டா iifname eth1 ip saddr 1.1.1.2 ip daddr 2.2.2.5 ஏற்கவும் ip daddr 1.1.1.1 ip daddr.2.2.2.2. .2.2.2.2 ip saddr 3.3.3.3 ip daddr XNUMX drop

    meta iifname ஆக இணைக்கப்படும். ip saddr. ip daddr { eth1 . 1.1.1.1. 2.2.2.3, eth1 . 1.1.1.2. 2.2.2.5 } ip saddr ஐ ஏற்கவும். ip daddr vmap { 1.1.1.1 . 2.2.2.2 : ஏற்றுக்கொள், 2.2.2.2 . 3.3.3.3 : துளி }

    எடுத்துக்காட்டு பயன்பாடு: # nft -c -o -f ruleset.test Merging: ruleset.nft:16:3-37: ip daddr 192.168.0.1 counter accept ruleset.nft:17:3-37: ip daddr 192.168.0.2 எதிர் ஏற்கும் Ruleset.nft:18:3-37: ip daddr 192.168.0.3 கவுண்டர் ஏற்றுக்கொள்வது

  • தொகுப்பு பட்டியல்கள் ip மற்றும் tcp விருப்பங்களை குறிப்பிடும் திறனை செயல்படுத்துகிறது, அத்துடன் sctp துகள்கள்: அமைக்கவும் s5 { typeof ip option ra மதிப்பு உறுப்புகள் = { 1, 1024 } } set s7 { typeof sctp chunk init num-inbound-streams elements = { 1, 4 } } சங்கிலி c5 { ip விருப்பம் ra மதிப்பு @s5 ஏற்கவும் } சங்கிலி c7 { sctp chunk init num-inbound-streams @s7 accept
  • TCP விருப்பங்கள் fastopen, md5sig மற்றும் mptcp ஆகியவற்றிற்கான ஆதரவு சேர்க்கப்பட்டது.
  • மேப்பிங்கில் mp-tcp துணை வகையைப் பயன்படுத்துவதற்கான ஆதரவு சேர்க்கப்பட்டது: tcp விருப்பம் mptcp துணை வகை 1
  • மேம்படுத்தப்பட்ட கர்னல் பக்க வடிகட்டுதல் குறியீடு.
  • Flowtable இப்போது JSON வடிவமைப்பிற்கு முழு ஆதரவைக் கொண்டுள்ளது.
  • ஈத்தர்நெட் ஃபிரேம் பொருத்துதல் செயல்பாடுகளில் "நிராகரிப்பு" செயலைப் பயன்படுத்துவதற்கான திறன் வழங்கப்பட்டுள்ளது. ether saddr aa:bb:cc:dd:ee:ff ip daddr 192.168.0.1 நிராகரி

ஆதாரம்: opennet.ru

கருத்தைச் சேர்