Scagaire paicéad nftables scaoileadh 0.9.1

Tar éis bliana d'fhorbairt curtha i láthair scaoileadh scagaire paicéad táblaí nfáilte 0.9.1, ag forbairt mar ionadú ar iptables, ip6table, arptables agus ebtables trí chomhéadain scagtha paicéad a aontú le haghaidh IPv4, IPv6, ARP agus droichid líonra. Áirítear sa phacáiste nftables comhpháirteanna scagaire paicéad a ritheann i spás úsáideora, agus soláthraíonn an fochóras nf_tables an obair ar leibhéal na heithne, atá mar chuid den eithne Linux ó scaoileadh 3.13.

Ní sholáthraíonn an leibhéal eithne ach comhéadan prótacal-neamhspleách cineálach a sholáthraíonn feidhmeanna bunúsacha chun sonraí a bhaint as paicéid, oibríochtaí sonraí a dhéanamh, agus rialú sreafa.
Tiomsaítear an loighic scagtha féin agus láimhseálaithe prótacail-shonracha i bytecode sa spás úsáideora, ina dhiaidh sin déantar an beart seo a luchtú isteach san eithne ag baint úsáide as comhéadan Netlink agus a fhorghníomhú i meaisín fíorúil speisialta a mheabhraíonn BPF (Scagairí Paicéad Berkeley). Ligeann an cur chuige seo duit méid an chóid scagtha a ritheann ag leibhéal na heithne a laghdú go suntasach agus feidhmeanna uile na rialacha parsála agus an loighic maidir le hoibriú le prótacail a bhogadh isteach sa spás úsáideora.

Príomh-nuálaíochtaí:

  • Tacaíocht IPsec, a cheadaíonn seoltaí tolláin a mheaitseáil bunaithe ar phaicéad, ID iarratais IPsec, agus clib SPI (Innéacs Paraiméadar Slándála). Mar shampla,

    ... ipsec in ip saddr 192.168.1.0/24
    ... ipsec in spi 1-65536

    Is féidir a sheiceáil freisin an dtéann bealach trí thollán IPsec. Mar shampla, chun trácht nach trí IPSec a chosc:

    … aschur scagaire rt ipsec titim in easnamh

  • Tacaíocht do IGMP (Prótacal Bainistíochta Grúpa Idirlín). Mar shampla, is féidir leat riail a úsáid chun iarratais bhallraíocht ghrúpa IGMP atá ag teacht isteach a scriosadh

    nft add rule netdev foo bar igmp cineál ballraíochta-iarratas cuntar

  • Féidearthacht athróga a úsáid chun slabhraí trasdula a shainiú (léim / goto). Mar shampla:

    shainigh dest = ber
    cuir riail ip foo barra léim $dest

  • Tacaíocht do mhaiscí chun córais oibriúcháin a aithint (Méarlorg OS) bunaithe ar luachanna TTL sa cheanntásc. Mar shampla, chun paicéid a mharcáil bunaithe ar OS an tseoltóra, is féidir leat an t-ordú a úsáid:

    ... tacar meiteamharc osf ttl skip ainmmhapa { "Linux" : 0x1,
    "Windows": 0x2,
    "MacOS": 0x3,
    "anaithnid" : 0x0 }
    ... osf ttl skip leagan "Linux: 4.20"

  • Cumas seoladh ARP an tseoltóra agus seoladh IPv4 an chórais sprice a mheaitseáil. Mar shampla, chun cuntar na bpacáistí ARP a sheoltar ón seoladh 192.168.2.1 a mhéadú, is féidir leat an riail seo a leanas a úsáid:

    tábla stua x {
    slabhra y {
    cineál scagaire scagaire tosaíochta ionchur Hook; glacadh le beartas;
    arp saddr ip 192.168.2.1 paicéid cuntair 1 beart 46
    }
    }

  • Tacaíocht chun iarratais a chur ar aghaidh go trédhearcach trí sheachvótálaí (tproxy). Mar shampla, chun glaonna chuig port 80 a atreorú chuig port seachfhreastalaí 8080:

    tábla ip x {
    slabhra y {
    cineál scagaire Hook prerouting tosaíocht -150; glacadh le beartas;
    tcp dport 80 tproxy go :8080
    }
    }

  • Tacaíocht do mharcáil soicéid atá in ann an marc socraithe a fháil a thuilleadh trí setsockopt() i mód SO_MARK. Mar shampla:

    tábla inet x {
    slabhra y {
    cineál scagaire Hook prerouting tosaíocht -150; glacadh le beartas;
    tcp dport 8080 marc soicéad socraithe
    }
    }

  • Tacaíocht chun ainmneacha téacs tosaíochta a shonrú le haghaidh slabhraí. Mar shampla:

    nft cuir slabhra ip x amh { cineál scagaire hook tosaíochta amh; }
    nft add chain ip x scagaire { cineál scagaire hook réamhródaithe scagaire tosaíochta; }
    nft cuir slabhra ip x filter_later { cineál an hook scagaire ag réamhródú an scagaire tosaíochta + 10; }

  • Tacaíocht do chlibeanna SELinux (Secmark). Mar shampla, chun an chlib "sshtag" a shainiú i gcomhthéacs SELinux, is féidir leat:

    nft cuir secmark inet scagaire sshtag "system_u:object_r: ssh_server_packet_t:s0"

    Agus ansin bain úsáid as an lipéad seo sna rialacha:

    nft cuir riail le hionchur scagaire inet tcp dport 22 meta secmark set “sshtag”

    nft add map inet filter filter secmapping { cineál inet_service : secmark; }
    nft cuir eilimint inet scagaire seichmapping { 22 : "sshtag" }
    nft add rule inet filter input meta secmark set tcp dport map @secmapping

  • Cumas chun calafoirt a shanntar do phrótacail a shonrú i bhfoirm téacs, mar a shainítear iad sa chomhad /etc/services. Mar shampla:

    nft cuir riail xy tcp dport "ssh" leis
    nft list ruleset -l
    tábla x {
    slabhra y {
    ...
    tcp dport "ssh"
    }
    }

  • Cumas an cineál comhéadan líonra a sheiceáil. Mar shampla:

    cuir riail leis inet raw prerouting meta iifkind "vrf" glacadh

  • Tacaíocht fheabhsaithe chun inneachar na tacair a nuashonrú go dinimiciúil tríd an mbratach “dinimiciúil” a shonrú go sainráite. Mar shampla, chun “s” a nuashonrú chun an seoladh foinse a chur leis agus athshocraigh an iontráil mura bhfuil paicéid ann ar feadh 30 soicind:

    cuir tábla x leis
    cuir tacar xs { cineál ipv4_addr; méid 128; Teorainn ama 30s; bratacha dinimiciúla; }
    cuir slabhra xy { cineál ionchuir hook scagaire tosaíocht 0; }
    cuir riail xy update @s { ip saddr } leis

  • Cumas coinníoll am istigh ar leith a shocrú. Mar shampla, chun an teorainn ama réamhshocraithe a shárú do phaicéid a thagann ar phort 8888, is féidir leat a shonrú:

    scagaire ip tábla {
    Teorainn ama ct ionsaitheach-tcp {
    prótacal tcp;
    l3proto ip;
    polasaí = {bunaithe: 100, close_wait: 4, dún: 4}
    }
    aschur slabhra {
    ...
    Teorainn ama tcp dport 8888 ct socraithe "ionsaitheach-tcp"
    }
    }

  • Tacaíocht NAT don teaghlach inet:

    tábla inet nat {
    ...
    ip6 daidí marbh::2::1 dnat go marbh:2::99
    }

  • Tuairisciú earráide tíopála feabhsaithe:

    nft add slabhra tástála scagaire

    Earráid: Níl comhad nó eolaire den sórt sin ann; an raibh “scagaire” tábla i gceist agat i ip an teaghlaigh?
    cuir tástáil scagaire slabhra leis
    ^^^^^^

  • Cumas ainmneacha comhéadain a shonrú i dtacair:

    socraigh sc {
    cineál inet_service . ifainm
    eilimintí = { "ssh". "eth0" }
    }

  • Comhréir rialacha sreafa nuashonraithe:

    nft cuir tábla x
    nft add flowtable x ft { hook ingress tosaíocht 0; gléasanna = { eth0, wlan0 }; }
    ...
    nft cuir riail x ar aghaidh ip prótacal { tcp, udp } sreabhadh cuir @ft

  • Tacaíocht feabhsaithe JSON.

Foinse: oscailtenet.ru

Add a comment