נפטאַבלעס פּאַקאַט פילטער 0.9.3 מעלדונג

ארויס פּאַקאַט פילטער מעלדונג נפטאַבלעס 0.9.3, развивающегося в качестве замены iptables, ip6table, arptables и ebtables за счёт унификации интерфейсов фильтрации пакетов для IPv4, IPv6, ARP и сетевых мостов. В пакет nftables входят компоненты пакетного фильтра, работающие в пространстве пользователя, в то время как на уровне ядра работу обеспечивает подсистема nf_tables, входящая в состав ядра Linux начиная с выпуска 3.13. Необходимые для работы выпуска nftables 0.9.3 изменения включены в состав будущей ветки ядра Linux 5.5.

דער קערן מדרגה גיט בלויז אַ דזשאַנעריק פּראָטאָקאָל-פרייַ צובינד וואָס גיט יקערדיק פאַנגקשאַנז פֿאַר יקסטראַקטינג דאַטן פון פּאַקיץ, פּערפאָרמינג דאַטן אַפּעריישאַנז און לויפן קאָנטראָל. די פֿילטרירונג לאָגיק זיך און פּראָטאָקאָל-ספּעציפיש האַנדלערס זענען קאַמפּיילד אין ביטעקאָדע אין באַניצער פּלאַץ, נאָך וואָס דעם בייטעקאָד איז לאָודיד אין די קערן ניצן די נעטלינק צובינד און עקסאַקיוטאַד אין אַ ספּעציעל ווירטואַל מאַשין רעמאַניסאַנט פון BPF (Berkeley Packet Filters). דער צוגאַנג אַלאַוז איר צו באטייטיק רעדוצירן די גרייס פון די פֿילטרירונג קאָד פליסנדיק אויף די קערן מדרגה און מאַך אַלע די פאַנגקשאַנז פון פּאַרסינג כּללים און לאָגיק פֿאַר ארבעטן מיט פּראָטאָקאָלס אין באַניצער פּלאַץ.

הויפּט חידושים:

  • Поддержка сопоставления пакетов по времени. Можно определить как диапазоны времени и дат, в которых будет срабатывать правило, так и настроить срабатывание в отдельные дни недели. Также добавлена новая опция «-T» для вывода эпохального времени в секундах.

    meta time \»2019-12-24 16:00\» — \»2020-01-02 7:00\»
    meta hour \»17:00\» — \»19:00\»
    meta day \»Fri\»

  • Поддержка восстановления и сохранения меток SELinux (secmark).

    ct secmark set meta secmark
    meta secmark set ct secmark

  • Поддержка map-списков synproxy, позволяющих определять более одного правила на бэкенд.

    טיש ip foo {
    synproxy https-synproxy {
    mss 1460
    wscale 7
    timestamp sack-perm
    }

    synproxy other-synproxy {
    mss 1460
    wscale 5
    }

    chain pre {
    טיפּ פילטער פאַרטשעפּען פּריראָוטינג בילכערקייַט רוי; פּאָליטיק אָננעמען;
    tcp dport 8888 tcp פלאַגס מיט נאָטראַק
    }

    קייט באַר {
    טיפּ פילטער פאַרטשעפּען פאָרויס בילכערקייַט פילטער; פּאָליטיק אָננעמען;
    ct state invalid,untracked synproxy name ip saddr map { 192.168.1.0/24 : «https-synproxy», 192.168.2.0/24 : «other-synproxy» }
    }
    }

  • Возможность динамического удаления элементов set-наборов из правил обработки пакетов.

    nft add rule … delete @set5 { ip6 saddr . ip6 daddr }

  • Поддержка сопоставления VLAN по идентификатору и протоколу, определённых в метаданных интерфейса сетевого моста;

    meta ibrpvid 100
    meta ibrvproto vlan

  • Опция «-t» («—terse») для исключения элементов set-наборов при отображении правил. При выполнении «nft -t list ruleset» будет выведено:

    טיש יפּ רענטגענ {
    שטעלן י {
    type ipv4_addr
    }
    }

    А при «nft list ruleset»

    טיש יפּ רענטגענ {
    שטעלן י {
    type ipv4_addr
    elements = { 192.168.10.2, 192.168.20.1,
    192.168.4.4, 192.168.2.34 }
    }
    }

  • Возможность указания более одного устройства в цепочках netdev (работает только с ядром 5.5) для объединения типовых правил фильтрации.

    add table netdev x
    add chain netdev x y { \
    type filter hook ingress devices = { eth0, eth1 } priority 0;
    }

  • Возможность добавления описаний типов данных.

    # nft describe ipv4_addr
    datatype ipv4_addr (IPv4 address) (basetype integer), 32 bits

  • Возможность сборки CLI-интерфейса с библиотекой linenoise вместо libreadline.

    ./configure —with-cli=linenoise

מקור: opennet.ru

לייגן אַ באַמערקונג