nftables pakkasía 1.0.6 útgáfa

nftables 1.0.6 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:

  • Í reglufínstillingunni sem kallaður er þegar valmöguleikinn "-o/--optimize" er tilgreindur, hefur sjálfvirk pökkun reglna verið sett upp með því að sameina þær og breyta þeim í korta- og settalista. Til dæmis eru reglurnar # cat ruleset.nft table ip x { chain y { type filter hook input priority filter; stefnufall; meta iifname eth1 ip saddr 1.1.1.1 ip daddr 2.2.2.3 samþykkja meta iifname eth1 ip saddr 1.1.1.2 ip daddr 2.2.2.4 samþykkja meta iifname eth1 ip saddr 1.1.1.2 ip 2.2.3.0 met.addr 24 met. 1 .1.1.1.2 ip daddr 2.2.4.0-2.2.4.10 samþykkja meta iifname eth2 ip saddr 1.1.1.3 ip daddr 2.2.2.5 samþykkja } } á eftir "nft -o -c -f reglusetur.nft" verður breytt í eftirfarandi: reglusett. nft:4:17-74: meta iifname eth1 ip saddr 1.1.1.1 ip daddr 2.2.2.3 samþykkja reglur.nft:5:17-74: meta iifname eth1 ip saddr 1.1.1.2 ip daddr 2.2.2.4 samþykkja regluret 6:17-77: meta iifname eth1 ip saddr 1.1.1.2 ip daddr 2.2.3.0/24 accept ruleset.nft:7:17-83: meta iifname eth1 ip saddr 1.1.1.2 ip daddr 2.2.4.0. ruleset.nft:2.2.4.10:8-17: meta iifname eth74 ip saddr 2 ip daddr 1.1.1.3 samþykkja í: 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 } samþykkja
  • Fínstillingin getur líka þjappað saman reglum sem þegar nota einfalda settlista í þéttara form, eins og: # cat ruleset.nft table ip filter { chain input { type filter hook input priority filter; stefnufall; iifname "lo" samþykkja ct ástand stofnað, tengt samþykkja athugasemd "Í umferðinni erum við upprunnin, við treystum" iifname "enp0s31f6" ip saddr { 209.115.181.102, 216.197.228.230 } ip daddr 10.0.0.149 udp sport 123 udp 32768 udp 65535 udp 0. iifname "enp31s6f64.59.144.17" ip saddr { 64.59.150.133, 10.0.0.149 } ip daddr 53 udp sport 32768 udp dport 65535-6 samþykkja } } eftir að hafa keyrt "c -ft" pakkann - ft verður svona : ruleset.nft:22:149-0: iifname "enp31s6f209.115.181.102" ip saddr { 216.197.228.230, 10.0.0.149 } ip daddr 123 udp sport 32768 d65535 samþykkja 7 udp íþrótt 22 d143: 0 udp 31 d6 64.59.144.17 64.59.150.133 : iifname "enp10.0.0.149s53f32768" ip saddr { 65535, 0 } ip daddr 31 udp sport 6 udp dport 209.115.181.102-10.0.0.149 samþykkja í: iifname. ip saddr. ip daddr. udp íþrótt. udp dport {enp123s32768f65535. 0. 31. 6 . 216.197.228.230-10.0.0.149, enp123s32768f65535. 0 . 31. 6 . 64.59.144.17-10.0.0.149, enp53s32768f65535. 0. 31. 6 . 64.59.150.133-10.0.0.149, enp53s32768f65535. XNUMX. XNUMX. XNUMX . XNUMX-XNUMX } samþykkja
  • Leysti vandamál með bækakóðagerð fyrir sameiningu millibila sem nota tegundir með mismunandi endianness, eins og IPv4 (netkerfi endian) og meta mark (system endian). table ip x { map w { typeof ip saddr . meta mark: verdict flags interval counter elements = {127.0.0.1-127.0.0.4. 0x123434-0xb00122 : samþykkja, 192.168.0.10-192.168.1.20 . 0x0000aa00-0x0000aaff : samþykkja, } } keðja k {tegund filter krók inntak forgangssía; stefnufall; ip saddr. meta merkja vmap @w } }
  • Bætt sjaldgæf samskiptakortlagning þegar notaðar eru hráar tjáningar, til dæmis: meta l4proto 91 @th,400,16 0x0 accept
  • Lagaði vandamál með að virkja reglur með millibili: settu inn reglu xy tcp sport { 3478-3497, 16384-16387 } gegn samþykkja
  • JSON API hefur verið endurbætt til að styðja tjáningu í settum og kortalistum.
  • Í viðbótum við nftables python bókasafnið er leyfilegt að hlaða reglusettum til vinnslu í ávísunarham ("-c") og stuðningi við skilgreiningu ytri breytu hefur verið bætt við.
  • Það er leyfilegt að bæta við athugasemdum í þáttum settalista.
  • Það er leyfilegt að tilgreina núllgildi í bitahraðamörkum.

Heimild: opennet.ru

Bæta við athugasemd