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

IPv1.0.7, IPv4, ARP மற்றும் நெட்வொர்க் பிரிட்ஜ்களுக்கான பாக்கெட் வடிகட்டி இடைமுகங்களை ஒருங்கிணைத்து (iptables, ip6table, arptables மற்றும் ebtables ஆகியவற்றை மாற்றுவதை நோக்கமாகக் கொண்டது) பாக்கெட் வடிகட்டி nftables 6 வெளியீடு வெளியிடப்பட்டது. nftables தொகுப்பில் பயனர் இடத்தில் இயங்கும் பாக்கெட் வடிகட்டி கூறுகள் உள்ளன, அதே சமயம் கர்னல்-நிலை வேலை nf_tables துணை அமைப்பால் வழங்கப்படுகிறது, இது 3.13 வெளியீட்டிலிருந்து லினக்ஸ் கர்னலின் ஒரு பகுதியாக உள்ளது. கர்னல் நிலை ஒரு பொதுவான நெறிமுறை-சுயாதீன இடைமுகத்தை மட்டுமே வழங்குகிறது, இது பாக்கெட்டுகளிலிருந்து தரவைப் பிரித்தெடுப்பதற்கும், தரவு செயல்பாடுகளைச் செய்வதற்கும் மற்றும் ஓட்டக் கட்டுப்பாடுக்கும் அடிப்படை செயல்பாடுகளை வழங்குகிறது.

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

முக்கிய மாற்றங்கள்:

  • Linux kernel 6.2+ இயங்கும் கணினிகளுக்கு, vxlan, geneve, gre, மற்றும் gretap புரோட்டோகால் மேப்பிங்களுக்கான ஆதரவு சேர்க்கப்பட்டுள்ளது, இது இணைக்கப்பட்ட பாக்கெட்டுகளில் உள்ள தலைப்புகளைச் சரிபார்க்க எளிய வெளிப்பாடுகளை அனுமதிக்கிறது. எடுத்துக்காட்டாக, VxLAN இலிருந்து உள்ளமைக்கப்பட்ட பாக்கெட்டின் தலைப்பில் உள்ள IP முகவரியைச் சரிபார்க்க, நீங்கள் இப்போது விதிகளைப் பயன்படுத்தலாம் (முதலில் VxLAN தலைப்பை டீ-என்காப்சுலேட் செய்து வடிகட்டியை vxlan0 இடைமுகத்துடன் இணைக்க வேண்டிய அவசியமில்லை): ... udp dport 4789 vxlan ip Protocol udp ... udp dport 4789 vxlan ip saddr 1.2.3.0. 24/4789 ... udp dport 1.2.3.4 vxlan ip saddr. vxlan ip daddr { 4.3.2.1 . XNUMX }
  • செட்-லிஸ்ட் உறுப்பின் பகுதி நீக்கத்திற்குப் பிறகு எஞ்சியவற்றை தானாக இணைப்பதற்கான ஆதரவு செயல்படுத்தப்பட்டது, இது ஏற்கனவே உள்ள வரம்பிலிருந்து ஒரு உறுப்பை அல்லது வரம்பின் பகுதியை நீக்க உங்களை அனுமதிக்கிறது (முன்பு, ஒரு வரம்பை முழுவதுமாக மட்டுமே நீக்க முடியும்). எடுத்துக்காட்டாக, 25-24 மற்றும் 30-40 வரம்புகளைக் கொண்ட தொகுப்பு பட்டியலிலிருந்து உறுப்பு 50 ஐ அகற்றிய பிறகு, பட்டியல் 24, 26-30 மற்றும் 40-50 ஆக இருக்கும். 5.10+ கர்னலின் நிலையான கிளைகளின் பராமரிப்பு வெளியீடுகளில் வேலை செய்ய ஆட்டோமெர்ஜிங்கிற்குத் தேவையான திருத்தங்கள் வழங்கப்படும். # nft பட்டியல் விதிகள் அட்டவணை ip x { set y { typeof tcp dport flags interval auto-merge elements = { 24-30, 40-50 } } } # nft ip xy உறுப்பு நீக்கம் { 25 } # nft பட்டியல் விதிகள் அட்டவணை ip x { தொகுப்பு y { வகை tcp dport கொடிகள் இடைவெளி தானாக ஒன்றிணைக்கும் கூறுகள் = { 24, 26-30, 40-50 } } }
  • முகவரி மொழிபெயர்ப்பை (NAT) மேப்பிங் செய்யும் போது தொடர்புகள் மற்றும் வரம்புகளைப் பயன்படுத்த அனுமதிக்கிறது. டேபிள் ஐபி நாட் {செயின் ப்ரீரூட்டிங் { டைப் நாட் ஹூக் ப்ரீரூட்டிங் முன்னுரிமை டிஎஸ்டிநாட்; கொள்கை ஏற்றுக்கொள்வது; dnat to ip daddr. tcp dport வரைபடம் { 10.1.1.136 . 80: 1.1.2.69. 1024, 10.1.1.10-10.1.1.20. 8888-8889: 1.1.2.69. 2048-2049 } தொடர்ந்து } }
  • "கடைசி" வெளிப்பாட்டிற்கான ஆதரவு சேர்க்கப்பட்டது, இது விதி உறுப்பு அல்லது தொகுப்பு பட்டியலின் கடைசி பயன்பாட்டின் நேரத்தைக் கண்டறிய உங்களை அனுமதிக்கிறது. லினக்ஸ் கர்னல் 5.14 இல் தொடங்கி இந்த அம்சம் ஆதரிக்கப்படுகிறது. அட்டவணை ip x { set y { typeof ip daddr . tcp dport அளவு 65535 கொடிகள் டைனமிக், கடைசி நேரம் முடிந்தது 1h} சங்கிலி z {வகை வடிகட்டி ஹூக் வெளியீட்டு முன்னுரிமை வடிகட்டி; கொள்கை ஏற்றுக்கொள்வது; @y {ip daddr ஐப் புதுப்பிக்கவும். tcp dport } } } # nft பட்டியல் தொகுப்பு ip xy அட்டவணை ip x { set y { typeof ip daddr . tcp dport அளவு 65535 கொடிகள் டைனமிக், டைம் அவுட் கடைசி நேரம் முடிந்தது 1h உறுப்புகள் = { 172.217.17.14 . 443 கடைசியாகப் பயன்படுத்திய 1s591ms நேரம் முடிந்தது 1h காலாவதியாகிறது 59m58s409ms, 172.67.69.19 . 443 கடைசியாகப் பயன்படுத்திய 4s636ms நேரம் முடிந்தது 1h காலாவதியாகிறது 59m55s364ms, 142.250.201.72 . 443 கடைசியாகப் பயன்படுத்திய 4s748ms நேரம் முடிந்தது 1h 59m55s252ms, 172.67.70.134 . 443 கடைசியாகப் பயன்படுத்திய 4s688ms நேரம் முடிந்தது 1h காலாவதியாகிறது 59m55s312ms, 35.241.9.150 . 443 கடைசியாகப் பயன்படுத்திய 5s204ms நேரம் முடிந்தது 1h காலாவதியாகிறது 59m54s796ms, 138.201.122.174 . 443 கடைசியாகப் பயன்படுத்திய 4s537ms நேரம் முடிந்தது 1h காலாவதியாகிறது 59m55s463ms, 34.160.144.191 . 443 கடைசியாகப் பயன்படுத்திய 5s205ms நேரம் முடிந்தது 1h காலாவதியாகிறது 59m54s795ms, 130.211.23.194 . 443 கடைசியாகப் பயன்படுத்திய 4s436ms நேரம் முடிந்தது 1h காலாவதியாகிறது 59m55s564ms}}}
  • தொகுப்பு பட்டியல்களில் ஒதுக்கீடுகளை வரையறுக்கும் திறன் சேர்க்கப்பட்டது. எடுத்துக்காட்டாக, ஒவ்வொரு இலக்கு IP முகவரிக்கான ட்ராஃபிக் ஒதுக்கீட்டைத் தீர்மானிக்க, நீங்கள் குறிப்பிடலாம்: டேபிள் netdev x { set y { typeof ip daddr அளவு 65535 கோட்டா 10000 mbytes க்கு மேல் } chain y { type filter hook egress device "eth0" priority filter; கொள்கை ஏற்றுக்கொள்வது; ip daddr @y drop } } # nft inet xy ஐ சேர் 8.8.8.8 ஒதுக்கீடு 2 பைட்டுகளுக்கு மேல் பயன்படுத்தப்பட்டது 8.8.8.8 பைட்டுகள் } } சங்கிலி y {வகை வடிகட்டி ஹூக் எக்ரஸ் சாதனம் “eth4” முன்னுரிமை வடிகட்டி; கொள்கை ஏற்றுக்கொள்வது; ip daddr @y drop } }
  • தொகுப்பு பட்டியல்களில் மாறிலிகளின் பயன்பாடு அனுமதிக்கப்படுகிறது. எடுத்துக்காட்டாக, இலக்கு முகவரி மற்றும் VLAN ஐடியை பட்டியல் விசையாகப் பயன்படுத்தும் போது, ​​நீங்கள் நேரடியாக VLAN எண்ணைக் குறிப்பிடலாம் (daddr . 123): table netdev t {set s { typeof ether saddr . vlan ஐடி அளவு 2048 கொடிகள் டைனமிக், டைம்அவுட் டைம்அவுட் 1மீ } சங்கிலி c {வகை வடிகட்டி ஹூக் நுழைவு சாதனம் eth0 முன்னுரிமை 0; கொள்கை ஏற்றுக்கொள்வது; ஈதர் வகை != 8021q update @s {ether daddr . 123 } கவுண்டர் } }
  • பொருள்களை நிபந்தனையின்றி நீக்க புதிய "அழித்தல்" கட்டளை சேர்க்கப்பட்டது (நீக்கு கட்டளையைப் போலன்றி, காணாமல் போன பொருளை நீக்க முயற்சிக்கும்போது அது ENOENT ஐ உருவாக்காது). வேலை செய்ய குறைந்தபட்சம் Linux கர்னல் 6.3-rc தேவை. அட்டவணை ஐபி வடிகட்டியை அழிக்கவும்

ஆதாரம்: opennet.ru

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