nftables ప్యాకెట్ ఫిల్టర్ 1.0.6 విడుదల

IPv1.0.6, IPv4, ARP మరియు నెట్‌వర్క్ బ్రిడ్జ్‌ల కోసం ప్యాకెట్ ఫిల్టరింగ్ ఇంటర్‌ఫేస్‌లను ఏకీకృతం చేస్తూ nftables 6 ప్యాకెట్ ఫిల్టర్ విడుదల ప్రచురించబడింది (iptables, ip6table, arptables మరియు ebtables స్థానంలో ఉంది). nftables ప్యాకేజీ వినియోగదారు స్థలంలో అమలు చేసే ప్యాకెట్ ఫిల్టర్ భాగాలను కలిగి ఉంటుంది, అయితే కెర్నల్ స్థాయి nf_tables సబ్‌సిస్టమ్ ద్వారా అందించబడుతుంది, ఇది విడుదలైన 3.13 నుండి Linux కెర్నల్‌లో భాగంగా ఉంది. కెర్నల్ స్థాయిలో, ప్యాకెట్ల నుండి డేటాను సంగ్రహించడం, డేటాపై కార్యకలాపాలు చేయడం మరియు ప్రవాహాన్ని నియంత్రించడం కోసం ప్రాథమిక విధులను అందించే సాధారణ ప్రోటోకాల్-ఇండిపెండెంట్ ఇంటర్‌ఫేస్ మాత్రమే అందించబడుతుంది.

ఫిల్టరింగ్ నియమాలు మరియు ప్రోటోకాల్-నిర్దిష్ట హ్యాండ్లర్లు యూజర్-స్పేస్ బైట్‌కోడ్‌లో కంపైల్ చేయబడతాయి, ఆ తర్వాత ఈ బైట్‌కోడ్ నెట్‌లింక్ ఇంటర్‌ఫేస్‌ని ఉపయోగించి కెర్నల్‌లోకి లోడ్ చేయబడుతుంది మరియు BPF (బర్కిలీ ప్యాకెట్ ఫిల్టర్‌లు)ని పోలి ఉండే ప్రత్యేక వర్చువల్ మెషీన్‌లో కెర్నల్‌లో అమలు చేయబడుతుంది. ఈ విధానం కెర్నల్ స్థాయిలో నడుస్తున్న ఫిల్టరింగ్ కోడ్ పరిమాణాన్ని గణనీయంగా తగ్గించడం మరియు పార్సింగ్ నియమాల యొక్క అన్ని విధులు మరియు ప్రోటోకాల్‌లతో పని చేసే లాజిక్‌లను వినియోగదారు స్థలంలోకి తరలించడం సాధ్యం చేస్తుంది.

ప్రధాన మార్పులు:

  • నియమాల ఆప్టిమైజర్‌లో "-o/--ఆప్టిమైజ్" ఎంపికను పేర్కొనేటప్పుడు, నియమాల యొక్క స్వయంచాలక ప్యాకేజింగ్ వాటిని కలపడం మరియు వాటిని మ్యాప్- మరియు సెట్-లిస్ట్‌లుగా మార్చడం ద్వారా సెటప్ చేయబడింది. ఉదాహరణకు, నియమాలు # cat ruleet.nft టేబుల్ ip x { chain y { రకం ఫిల్టర్ హుక్ ఇన్‌పుట్ ప్రాధాన్యత ఫిల్టర్; పాలసీ డ్రాప్; 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.4 అంగీకరించు meta 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 మెటా iifname eth2.2.4.10 ip saddr 2 ip daddr 1.1.1.3 అంగీకరించు } } తర్వాత "nft -o -c -f ruleset.nft" కింది వాటికి మార్చబడుతుంది: రూల్‌సెట్. nft:2.2.2.5:4-17: meta iifname eth74 ip saddr 1 ip daddr 1.1.1.1 accept ruleset.nft:2.2.2.3:5-17: meta iifname eth74 ip saddr 1 ip daddrft: 1.1.1.2 2.2.2.4:6-17: meta iifname eth77 ip saddr 1 ip daddr 1.1.1.2/2.2.3.0 accept ruleset.nft:24:7-17: meta iifname eth83 ip saddr 1 ip daddr.1.1.1.2-2.2.4.0. ruleet.nft:2.2.4.10:8-17: meta iifname eth74 ip saddr 2 ip daddr 1.1.1.3 దీనికి అంగీకరించండి: iifname . ip saddr. ip daddr { eth2.2.2.5 . 1. 1.1.1.1, eth2.2.2.3 . 1 1.1.1.2, eth2.2.2.4 . 1 1.1.1.2/2.2.3.0, eth24 . 1 1.1.1.2-2.2.4.0, eth2.2.4.10 . 2 1.1.1.3 } అంగీకరించండి
  • ఆప్టిమైజర్ ఇప్పటికే సాధారణ సెట్‌లిస్ట్‌లను మరింత కాంపాక్ట్ ఫారమ్‌లో ఉపయోగించే నియమాలను కూడా సంగ్రహించగలదు, అవి: # cat ruleet.nft టేబుల్ ip ఫిల్టర్ {చైన్ ఇన్‌పుట్ {టైప్ ఫిల్టర్ హుక్ ఇన్‌పుట్ ప్రాధాన్యత ఫిల్టర్; పాలసీ డ్రాప్; iifname "lo" CT రాష్ట్రాన్ని ఆమోదించండి, సంబంధిత వ్యాఖ్యను అంగీకరించండి "ట్రాఫిక్‌లో మేము ఉద్భవించాము, మేము విశ్వసిస్తాము" iifname "enp0s31f6" ip saddr { 209.115.181.102, 216.197.228.230 } ip daddr 10.0.0.149udp123. 32768 అంగీకరించండి IIFNAME "ENP65535S0F31" IP SADDR {6, 64.59.144.17, 64.59.150.133} IP DADDR 10.0.0.149 UDP స్పోర్ట్ 53 UDP DPORT 32768-65535 "NFT -O -C -F- cunset.nft.nft" :ruleset.nft:6:22-149: iifname "enp0s31f6" ip saddr { 209.115.181.102, 216.197.228.230 } ip daddr 10.0.0.149 udp 123 support 32768 రూల్స్ :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. ip నాన్న. 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 } అంగీకరించండి
  • IPv4 (నెట్‌వర్క్ ఎండియన్) మరియు మెటా మార్క్ (సిస్టమ్ ఎండియన్) వంటి విభిన్న ముగింపులతో రకాలను ఉపయోగించే విరామాలను విలీనం చేయడం కోసం బైట్‌కోడ్ జనరేషన్‌తో సమస్య పరిష్కరించబడింది. పట్టిక 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 : అంగీకరించు, } } చైన్ k {రకం ఫిల్టర్ హుక్ ఇన్‌పుట్ ప్రాధాన్యత ఫిల్టర్; పాలసీ డ్రాప్; ip saddr. మెటా మార్క్ vmap @w }}
  • ముడి వ్యక్తీకరణలను ఉపయోగిస్తున్నప్పుడు మెరుగైన అరుదైన ప్రోటోకాల్ మ్యాపింగ్‌లు, ఉదాహరణకు: meta l4proto 91 @th,400,16 0x0 అంగీకరించండి
  • వ్యవధిలో నియమాలను ప్రారంభించడంలో సమస్యలు పరిష్కరించబడ్డాయి: నియమాన్ని చొప్పించండి xy tcp క్రీడ { 3478-3497, 16384-16387 } కౌంటర్ అంగీకరించండి
  • సెట్ మరియు మ్యాప్ జాబితాలలో వ్యక్తీకరణలకు మద్దతు ఇవ్వడానికి JSON API మెరుగుపరచబడింది.
  • nftables పైథాన్ లైబ్రరీకి పొడిగింపులలో, చెక్ మోడ్ ("-c")లో ప్రాసెస్ చేయడానికి నియమ సెట్‌లు లోడ్ చేయడానికి అనుమతించబడతాయి మరియు బాహ్య వేరియబుల్ డెఫినిషన్‌కు మద్దతు జోడించబడింది.
  • సెట్-లిస్ట్‌ల మూలకాలలో వ్యాఖ్యలను జోడించడం అనుమతించబడుతుంది.
  • ఇది బైట్ రేటు పరిమితిలో సున్నా విలువను పేర్కొనడానికి అనుమతించబడుతుంది.

మూలం: opennet.ru

ఒక వ్యాఖ్యను జోడించండి