nftables pakkasía 1.0.7 útgáfa

nftables 1.0.7 pakkasíuútgáfan hefur verið gefin út, sem sameinar pakkasíuviðmót fyrir IPv4, IPv6, ARP og netbrýr (sem miðar að því að skipta um iptables, ip6table, arptables og ebtables). nftables pakkinn inniheldur pakkasíuhluta sem keyra í notendarými, en kjarnastigið er veitt af nf_tables undirkerfinu, sem hefur verið hluti af Linux kjarnanum frá útgáfu 3.13. Á kjarnastigi er aðeins almennt samskiptaóháð viðmót sem veitir grunnaðgerðir til að draga gögn úr pökkum, framkvæma aðgerðir á gögnum og stjórna flæði.

Síureglurnar sjálfar og siðareglur sértækar meðhöndlarar eru settar saman í notendarými bækióða, eftir það er þessum bætikóða hlaðið inn í kjarnann með því að nota Netlink viðmótið og keyrt í kjarnanum í sérstakri sýndarvél sem líkist BPF (Berkeley Packet Filters). Þessi nálgun gerir það mögulegt að minnka verulega stærð síunarkóðans sem keyrir á kjarnastigi og færa allar aðgerðir þáttunarreglna og rökfræði þess að vinna með samskiptareglur inn í notendarýmið.

Helstu breytingar:

  • Fyrir kerfi sem keyra Linux kjarna 6.2+ hefur stuðningi við vxlan, geneve, gre og gretap samskiptareglur verið bætt við, sem gerir einföldum tjáningum kleift að athuga hausa í hjúpuðum pökkum. Til dæmis, til að athuga IP töluna í hausnum á hreiðri pakka frá VxLAN, geturðu nú notað reglurnar (án þess að þurfa fyrst að afhylja VxLAN hausinn og binda síuna við vxlan0 viðmótið): ... udp dport 4789 vxlan ip siðareglur 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 }
  • Stuðningur við sjálfvirka sameiningu afganga eftir að hluta eyðingu á settalistaeiningu hefur verið útfærð, sem gerir þér kleift að eyða einingu eða hluta af sviði úr núverandi svið (áður var aðeins hægt að eyða svið að öllu leyti). Til dæmis, eftir að þáttur 25 hefur verið fjarlægður af settalista með svið 24-30 og 40-50, verður listinn áfram 24, 26-30 og 40-50. Lagfæringarnar sem þarf til að sjálfvirk sameining virki verða boðnar í viðhaldsútgáfur stöðugra útibúa 5.10+ kjarnans. # nft listi reglusetttafla ip x { set y { typeof tcp dport flags interval auto-merge elements = { 24-30, 40-50 } } } # nft delete element ip xy { 25 } # nft list ruleset table ip x { set y { typeof tcp dport flags interval auto-merge elements = { 24, 26-30, 40-50 } } }
  • Leyfir notkun tengiliða og sviða við kortlagningu heimilisfangaþýðingar (NAT). table ip nat { chain prerouting { type nat hook prerouting forgang dstnat; stefna samþykkja; dnat til ip daddr. tcp dport kort {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 } viðvarandi } }
  • Bætti við stuðningi við „síðasta“ tjáninguna, sem gerir þér kleift að finna út hvenær síðasti notkun regluþáttar eða settalista var notaður. Eiginleikinn er studdur frá og með Linux kjarna 5.14. table ip x {setja y { typeof ip daddr. tcp dport stærð 65535 fánar dynamic,timeout last timeout 1h } chain z {type filter hook output forgangssía; stefna samþykkja; uppfærðu @y { ip daddr . tcp dport } } } # nft listi setja ip xy töflu ip x { setja y { typeof ip daddr . tcp dport stærð 65535 fánar dynamic,timeout last timeout 1h þættir = { 172.217.17.14 . 443 síðast notuð 1s591ms leikhlé 1klst rennur út 59m58s409ms, 172.67.69.19. 443 síðast notuð 4s636ms tími 1klst rennur út 59m55s364ms, 142.250.201.72. 443 síðast notuð 4s748ms tími 1klst rennur út 59m55s252ms, 172.67.70.134. 443 síðast notuð 4s688ms tími 1klst rennur út 59m55s312ms, 35.241.9.150. 443 síðast notuð 5s204ms tími 1klst rennur út 59m54s796ms, 138.201.122.174. 443 síðast notuð 4s537ms tími 1klst rennur út 59m55s463ms, 34.160.144.191. 443 síðast notuð 5s205ms tími 1klst rennur út 59m54s795ms, 130.211.23.194. 443 síðast notaðir 4s436ms tími 1 klst. rennur út 59m55s564ms } } }
  • Bætti við möguleikanum á að skilgreina kvóta í settlistum. Til dæmis, til að ákvarða umferðarkvóta fyrir hverja mark-IP tölu, geturðu tilgreint: table netdev x { set y { typeof ip daddr size 65535 quota over 10000 mbytes } chain y { type filter hook egress device "eth0" forgangssía; stefna samþykkja; ip daddr @y drop } } # nft add element inet xy { 8.8.8.8 } # ping -c 2 8.8.8.8 # nft list ruleset table netdev x { set y { type ipv4_addr size 65535 quota over 10000 mbytes elements. 8.8.8.8 kvóti yfir 10000 mbæti notuð 196 bæti } } keðja y { gerð síunar króks útgöngutækis “eth0” forgangssía; stefna samþykkja; ip daddr @y drop } }
  • Heimilt er að nota fasta í settlistum. Til dæmis, þegar þú notar áfangastaðsfangið og VLAN ID sem listalykilinn geturðu beint tilgreint VLAN númerið (daddr . 123): table netdev t { set s { typeof ether saddr . vlan auðkenni stærð 2048 fánar dynamic,timeout timeout 1m } keðja c {type filter hook ingress device eth0 forgang 0; stefna samþykkja; eter tegund != 8021q uppfærsla @s { eter daddr. 123 } teljari } }
  • Bætti við nýrri "eyðileggja" skipun til að eyða hlutum skilyrðislaust (ólíkt Delete skipuninni myndar hún ekki ENOENT þegar reynt er að eyða hlut sem vantar). Krefst að minnsta kosti Linux kjarna 6.3-rc til að virka. eyðileggja ip síu fyrir borð

Heimild: opennet.ru

Bæta við athugasemd