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

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

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

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

  • விதிகள் மேம்படுத்தி, “-o/—optimize” விருப்பம் குறிப்பிடப்படும்போது அழைக்கப்படுகிறது, விதிகளை ஒருங்கிணைத்து வரைபடம் மற்றும் தொகுப்பு பட்டியல்களாக மாற்றுவதன் மூலம் தானாகவே பேக்கேஜிங் செய்யும். எடுத்துக்காட்டாக, விதிகள் # cat ruleet.nft அட்டவணை ip x { சங்கிலி y { வகை வடிகட்டி ஹூக் உள்ளீடு முன்னுரிமை வடிகட்டி; கொள்கை வீழ்ச்சி; meta iifname eth1 ip saddr 1.1.1.1 ip daddr 2.2.2.3 ஏற்கவும் meta iifname eth1 ip saddr 1.1.1.2 ip daddr 2.2.2.4 மெட்டா iifname eth1 ip saddr 1.1.1.2 ஏற்கவும். 2.2.3.0 ip saddr 24 .1 ip daddr 1.1.1.2-2.2.4.0 meta iifname eth2.2.4.10 ip saddr 2 ip daddr 1.1.1.3 ஏற்கவும் } } "nft -o -c -f" ஐச் செயல்படுத்திய பிறகு: விதிகள் பின்வருமாறு மாற்றப்படும்: விதிகள் பின்வருமாறு மாற்றப்படும் nft:2.2.2.5:4-17: meta iifname eth74 ip saddr 1 ip daddr 1.1.1.1 ஏற்கவும் ruleset.nft:2.2.2.3:5-17: meta iifname eth74 ip saddr 1 ip daddr.1.1.1.2 2.2.2.4 விதிகளை ஏற்கவும். : 6:17-77: meta iifname eth1 ip saddr 1.1.1.2 ip daddr 2.2.3.0/24 ஏற்கவும் ruleset.nft:7:17-83: meta iifname eth1 ip saddr 1.1.1.2 ip daddr.2.2.4.0-2.2.4.10. ஏற்கவும் ruleset.nft:8:17-74: meta iifname eth2 ip saddr 1.1.1.3 ip daddr 2.2.2.5 ஏற்கவும்: iifname . ip saddr. ip daddr { eth1 . 1.1.1.1. 2.2.2.3, eth1 . 1.1.1.2. 2.2.2.4, eth1 . 1.1.1.2. 2.2.3.0/24, eth1 . 1.1.1.2. 2.2.4.0-2.2.4.10, eth2. 1.1.1.3. 2.2.2.5 } ஏற்கவும்
  • ஆப்டிமைசர் ஏற்கனவே எளிமையான தொகுப்பு பட்டியல்களைப் பயன்படுத்தும் விதிகளை மிகவும் கச்சிதமான வடிவமாக மாற்றலாம், எடுத்துக்காட்டாக விதிகள்: # cat ruleet.nft அட்டவணை ஐபி வடிகட்டி { சங்கிலி உள்ளீடு { வகை வடிகட்டி ஹூக் உள்ளீட்டு முன்னுரிமை வடிகட்டி; கொள்கை வீழ்ச்சி; iifname "lo" ஏற்கும் ct நிலை நிறுவப்பட்டது, தொடர்புடைய ஏற்றுக்கொள்ளும் கருத்து "போக்குவரத்தில் நாங்கள் உருவாகிறோம், நாங்கள் நம்புகிறோம்" iifname "enp0s31f6" ip saddr { 209.115.181.102, 216.197.228.230 } ip daddr 10.0.0.149 udpport 123 ஏற்கவும் iifname "enp32768s65535f0" ip saddr { 31, 6 } ip daddr 64.59.144.17 udp sport 64.59.150.133 udp dport 10.0.0.149-53}32768 விதிகளை ஏற்கும் d பின்வருமாறு : ruleet.nft:65535:6-22: iifname "enp149s0f31" ip saddr { 6, 209.115.181.102 } ip daddr 216.197.228.230 udp 10.0.0.149 sport 123 32768dpt 65535 விதிகள் :7:22- 143: iifname "enp0s31f6" ip saddr { 64.59.144.17, 64.59.150.133 } ip daddr 10.0.0.149 udp sport 53 udp dport 32768-65535 ஏற்கவும்: iifname. ip saddr. ஐபி அப்பா. udp விளையாட்டு. udp dport { enp0s31f6 . 209.115.181.102. 10.0.0.149. 123. 32768-65535, enp0s31f6. 216.197.228.230. 10.0.0.149. 123. 32768-65535, enp0s31f6. 64.59.144.17. 10.0.0.149. 53. 32768-65535, enp0s31f6. 64.59.150.133. 10.0.0.149. 53. 32768-65535 } ஏற்கவும்
  • ஐபிவி4 (நெட்வொர்க் பைட் ஆர்டர்) மற்றும் மெட்டா மார்க் (சிஸ்டம் பைட் ஆர்டர்) போன்ற வெவ்வேறு பைட் வரிசையுடன் வகைகளைப் பயன்படுத்தும் இடைவெளிகளை ஒன்றிணைப்பதற்கான பைட்கோட் உருவாக்கத்தில் உள்ள சிக்கல் தீர்க்கப்பட்டது. அட்டவணை ip x { வரைபடம் w { ip saddr வகை . மெட்டா குறி: தீர்ப்புக் கொடிகள் இடைவெளி எதிர் கூறுகள் = { 127.0.0.1-127.0.0.4 . 0x123434-0xb00122: ஏற்கவும், 192.168.0.10-192.168.1.20 . 0x0000aa00-0x0000aaff : ஏற்கவும், } } சங்கிலி கே {வகை வடிகட்டி ஹூக் உள்ளீடு முன்னுரிமை வடிகட்டி; கொள்கை வீழ்ச்சி; ip saddr. மெட்டா மார்க் vmap @w }}
  • மூல வெளிப்பாடுகளைப் பயன்படுத்தும் போது அரிய நெறிமுறைகளின் மேம்படுத்தப்பட்ட ஒப்பீடு, எடுத்துக்காட்டாக: meta l4proto 91 @th,400,16 0x0 ஏற்கவும்
  • இடைவெளியில் விதிகளை இயக்குவதில் உள்ள சிக்கல்கள் தீர்க்கப்பட்டுள்ளன: xy tcp sport விதியைச் செருகவும் { 3478-3497, 16384-16387 } எதிர் ஏற்கவும்
  • தொகுப்பு மற்றும் வரைபடப் பட்டியல்களில் வெளிப்பாடுகளுக்கான ஆதரவைச் சேர்க்க JSON API மேம்படுத்தப்பட்டுள்ளது.
  • nftables பைதான் நூலகத்திற்கான நீட்டிப்புகள் சரிபார்ப்பு பயன்முறையில் ("-c") செயலாக்கத்திற்கான விதி தொகுப்புகளை ஏற்ற அனுமதிக்கின்றன மற்றும் மாறிகளின் வெளிப்புற வரையறைக்கான ஆதரவைச் சேர்க்கின்றன.
  • தொகுப்பு பட்டியல் உறுப்புகளில் கருத்துகளைச் சேர்ப்பது அனுமதிக்கப்படுகிறது.
  • பைட் வீத வரம்பு பூஜ்ஜிய மதிப்பைக் குறிப்பிட அனுமதிக்கிறது.

ஆதாரம்: opennet.ru

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