The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Выпуск пакетного фильтра nftables 1.0.1

20.11.2021 12:23

Опубликован выпуск пакетного фильтра nftables 1.0.1, унифицирующего интерфейсы фильтрации пакетов для IPv4, IPv6, ARP и сетевых мостов (нацелен на замену iptables, ip6table, arptables и ebtables). Необходимые для работы выпуска nftables 1.0.1 изменения включены в состав ядра Linux 5.16-rc1.

В пакет nftables входят компоненты пакетного фильтра, работающие в пространстве пользователя, в то время как на уровне ядра работу обеспечивает подсистема nf_tables, входящая в состав ядра Linux начиная с выпуска 3.13. На уровне ядра предоставляется лишь общий интерфейс, не зависящий от конкретного протокола и предоставляющий базовые функции извлечения данных из пакетов, выполнения операций с данными и управления потоком.

Непосредственно правила фильтрации и специфичные для протоколов обработчики компилируются в байткод в пространстве пользователя, после чего данный байткод загружается в ядро при помощи интерфейса Netlink и выполняется в ядре в специальной виртуальной машине, напоминающей BPF (Berkeley Packet Filters). Подобный подход позволяет значительно сократить размер кода фильтрации, работающего на уровне ядра и вынести все функции разбора правил и логики работы с протоколами в пространство пользователя.

Основные новшества:

  • Сокращено потребление памяти при загрузке больших set- и map-списков.
  • Ускорена перезагрузка set- и map-списков.
  • Ускорен вывод избранных таблиц и цепочек в больших наборах правил. Например, время выполнения команды "nft list ruleset" для вывода набора правил, насчитывающего 100 тысяч строк, составляет 3.049 секунды, а при выводе только таблиц nat и filter ("nft list table nat", "nft list table filter") сокращается до 1.969 и 0.697 секунд.
  • Ускорено выполнение запросов с опцией "--terse" при обработке правил с большими set- и map-списками.
  • Предоставлена возможность фильтрации трафика из цепочки "egress", обрабатываемой на том же уровне, что egress-обработчик в цепочке netdev (hook egress), т.е. на стадии когда драйвер получает пакет от сетевого стека ядра.
    
      table netdev filter {
            chain egress {
                    type filter hook egress devices = { eth0, eth1 } priority 0;
                    meta priority set ip saddr map { 192.168.10.2 : abcd:2, 
    192.168.10.3 : abcd:3 }
            }
      }
    
  • Разрешено сопоставление и изменение байтов в заголовке и содержимом пакета по заданному смещению.
    
      # nft add rule x y @ih,32,32 0x14000000 counter
      # nft add rule x y @ih,32,32 set 0x14000000 counter
    


  1. Главная ссылка к новости (https://www.mail-archive.com/n...)
  2. OpenNews: Выпуск пакетного фильтра nftables 1.0.0
  3. OpenNews: Выпуск firewalld 1.0
  4. OpenNews: Для ядра Linux предложен новый пакетный фильтр bpfilter
  5. OpenNews: Разработчики Netfilter официально объявили инструментарий iptables устаревшим
  6. OpenNews: Релиз iptables 1.8.0
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/56192-nftables
Ключевые слова: nftables, netfilter
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (27) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, А где же каменты (?), 12:32, 20/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Какие преимущества перед openbsd pf?
     
     
  • 2.2, Stanislav (??), 12:35, 20/11/2021 [^] [^^] [^^^] [ответить]  
  • +18 +/
    Есть на значительно бОльшем числе реальных серверов, выставленных голой жопой в инет для зарабатывания денег.
     
  • 2.8, Аноним (8), 13:32, 20/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Из коробки в ванилле.
     
  • 2.17, Аноним (17), 19:14, 20/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А какой юзкейс у вас для нетбзд? Просто интересно.
     
  • 2.18, Аноним (17), 19:14, 20/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А какой юзкейс у вас для опенбзд? Просто интересно.
     

  • 1.7, Аноним (7), 13:22, 20/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Все ещё её научили его отрабатывать нормальными кодами ошибки на не определённые ситуации.
     
     
  • 2.9, Аноним (9), 13:41, 20/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Patches are WELCOME.

    // b.

     

  • 1.11, Ilya Indigo (ok), 15:11, 20/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Сокращено потребление памяти при загрузке больших set- и map-списков.
    > Ускорена перезагрузка set- и map-списков.

    Ждём выпуска 5.16 что бы проверить.

     
     
  • 2.12, Аноним (12), 16:12, 20/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ну кстати сеты у него внатуре очень тормозные при любых внешних манипуляциях с ними, в отличие от старого доброго ipset
     
     
  • 3.13, Ilya Indigo (ok), 16:50, 20/11/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Ну кстати сеты у него внатуре очень тормозные при любых внешних манипуляциях
    > с ними, в отличие от старого доброго ipset

    У меня sshguard уже с 50к айпишиками и на sshg-fw-nft-sets инициализация растягивается до часа, но если через sshg-fw-iptables (я так понимаю он ipset использует), то это занимает несколько минут.
    По этому продолжаю использовать в sshguard и firewalld (если там использовать одно а там другое будет очень плохо) iptables.

     
     
  • 4.15, onanim (?), 18:17, 20/11/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > 50к айпишиками

    зачем отдельные IP? я почти все страны заблокировал подсетями, iptables+ipset полёт нормальный.

    bash-4.2# iptables-save|grep blacklist|wc -l
    198
    bash-4.2# ipset save|wc -l
    16942

     
     
  • 5.16, onanim (?), 18:18, 20/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > 198

    это страны; подсети для каждой страны записаны в ipset.

     
  • 4.21, Онаним (?), 23:15, 20/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    VPN для доступа к боевым SSH уже отменили?
     
  • 4.22, Онаним (?), 23:16, 20/11/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не то, чтобы я сильно против, но это ж надо ж так извращаться.
    Сертификаты на доступе в виртуальную подсеть, дальше RSA/EC ключи для SSH.
    Зачем вообще SSH голой жопой в паблик-то вывешивать?
     
     
  • 5.25, onanim (?), 08:57, 21/11/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Зачем вообще SSH голой жопой в паблик-то вывешивать?

    а что не так? это же не Proftpd или Exim)

     
     
  • 6.26, Онаним (?), 09:09, 21/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну вот у чела 50к адресов в фильтре, чтобы в этот самый SSH не долбили.
    Если всё так просто, как вы говорите - зачем они ему?
     
     
  • 7.28, onanim (?), 10:57, 21/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну вот у чела 50к адресов в фильтре, чтобы в этот самый
    > SSH не долбили.
    > Если всё так просто, как вы говорите - зачем они ему?

    вот и я чуть выше недоумеваю - зачем блокировать 50к долбящих SSH, если можно просто заблокировать большинство стран, откуда даже теоретически не возможны посетители, а против долбления со всяких Amazon и Digitalocean прописать одно простое правило iptables - не чаще одной долбёжки в 30 секунд.

     
  • 4.29, Аноним (29), 12:26, 21/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Надо полагать, что вышеобозначенные продукты написаны жопой, потому что даже мой самопал на sh загружает 80к айпишников при хреновой реализации (one by one) ну минуты две от силы.
     
  • 4.31, лютый жабби__ (?), 11:44, 22/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >У меня sshguard уже с 50к айпишиками

    бред, перевешай с 22 на 3хххх-4хххх и никто не найдёт

     
     
  • 5.32, Аноним (32), 13:40, 22/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    еще и древний рецент, никто не отменял
     

  • 1.14, Аноним (14), 17:28, 20/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    Фильтры какие-то - черт ногу сломит, другое дело Защитник Виндовс. Просто работает и все!!
     
     
  • 2.19, john_erohin (?), 19:55, 20/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Защитник Виндовс. Просто работает и все!!

    ложь. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-1170

    и что-то еще было, я сейчас не помню.

     
  • 2.23, Аноним (8), 00:02, 21/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Только никто не знает, как оно там работает.
     
     
  • 3.24, анонимуслинус (?), 00:21, 21/11/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    даже ребята и мелкософта не знают. куда уж нам)))
     

  • 1.20, Аноним (14), 22:46, 20/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Филькина грамота это все ваши писульки. Защитник Виндовс - тру остальное тлен!
     
     
  • 2.27, InuYasha (??), 10:57, 21/11/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    как ни старайся, тебе до Фрактала и КвертиРега ещё жиреть и жиреть...
     

  • 1.30, Аноним (-), 09:36, 22/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Они создание документации специально игнорят?
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру