Выпуск пакетного фильтра nftables 0.9.9
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Опубликован выпуск пакетного фильтра nftables 0.9.9, унифицирующего интерфейсы фильтрации пакетов для IPv4, IPv6, ARP и сетевых мостов (нацелен на замену iptables, ip6table, arptables и ebtables). Одновременно опубликован выпуск сопутствующей библиотеки libnftnl 1.2.0, предоставляющей низкоуровневый API для взаимодействия с подсистемой nf_tables. Необходимые для работы выпуска nftables 0.9.9 изменения включены в состав ядра Linux 5.13-rc1.
В пакет nftables входят компоненты пакетного фильтра, работающие в пространстве пользователя, в то время как на уровне ядра работу обеспечивает подсистема nf_tables, входящая в состав ядра Linux начиная с выпуска 3.13. На уровне ядра предоставляется лишь общий интерфейс, не зависящий от конкретного протокола и предоставляющий базовые функции извлечения данных из пакетов, выполнения операций с данными и управления потоком.
Непосредственно правила фильтрации и специфичные для протоколов обработчики компилируются в байткод в пространстве пользователя, после чего данный байткод загружается в ядро при помощи интерфейса Netlink и выполняется в ядре в специальной виртуальной машине, напоминающей BPF (Berkeley Packet Filters). Подобный подход позволяет значительно сократить размер кода фильтрации, работающего на уровне ядра и вынести все функции разбора правил и логики работы с протоколами в пространство пользователя.
Основные новшества:
- Реализована возможность выноса обработки flowtable на сторону сетевого адаптера, включаемая при помощи флага 'offload'. Flowtable представляет собой механизм оптимизации пути перенаправления пакетов, при котором полное прохождение всех цепочек обработки правил применяется только для первого пакета, а все остальные пакеты в потоке пробрасывать напрямую.
table ip global {
flowtable f {
hook ingress priority filter + 1
devices = { lan3, lan0, wan }
flags offload
}
chain forward {
type filter hook forward priority filter; policy accept;
ip protocol { tcp, udp } flow add @f
}
chain post {
type nat hook postrouting priority filter; policy accept;
oifname "wan" masquerade
}
}
- Добавлена поддержка прикрепления к таблице флага для привязки к владельцу, который позволяет обеспечить эксклюзивное использование таблицы процессом. При завершении процесса привязанная к нему таблица автоматически удаляется. Информация о процессе отображается в дампе правил в форме комментария:
table ip x { # progname nft
flags owner
chain y {
type filter hook input priority filter; policy accept;
counter packets 1 bytes 309
}
}
- Добавлена поддержка спецификации IEEE 802.1ad (VLAN stacking или QinQ), определяющей средства для подстановки нескольких тегов VLAN в один кадр Ethernet. Например, для проверки типа внешнего Ethernet-кадра 8021ad и vlan id=342 можно использовать конструкцию
... ether type 802.1ad vlan id 342
для проверки внешнего типа Ethernet-кадра 8021ad/vlan id=1, вложенного 802.1q/vlan id=2 и дальнейшей инкапсуляции IP-пакета:
... ether type 8021ad vlan id 1 vlan type 8021q vlan id 2 vlan type ip counter
- Добавлена поддержка управления ресурсами при помощи унифицированной иерархии cgroups v2. Ключевым отличием cgroups v2 от v1 является применение общей иерархии cgroups для всех видов ресурсов, вместо раздельных иерархий для распределения ресурсов CPU, для регулирования потребления памяти и для ввода/вывода. Например, для проверки соответствует ли предок сокета на первом уровне cgroupv2 маске "system.slice" можно использовать констукцию:
... socket cgroupv2 level 1 "system.slice"
- Добавлена возможность проверки составных частей пакетов SCTP (необходимая для работы функциональность появится в ядре Linux 5.14).
Например, для проверки наличия в пакете chunk-а с типом 'data' и полем
'type':
... sctp chunk data exists
... sctp chunk data type 0
- Примерно в два раза ускорено выполнение операции загрузки правил при помощи флага "-f". Также ускорен вывода списка правил.
- Предоставлена компактная форма проверки установки битов в флагах. Например, для проверки, что биты состояния snat и dnat не установлены можно указывать:
... ct status ! snat,dnat
для проверки, что бит syn установлен в битовой маске syn,ack:
... tcp flags syn / syn,ack
для проверки, что биты fin и rst не установлены в битовой маске syn,ack,fin,rst:
... tcp flags != fin,rst / syn,ack,fin,rst
- Разрешено использование ключевого слова "verdict" в определениях typeof для set/map:
add map x m { typeof iifname . ip protocol . th dport : verdict ;}
===========
Источник:
OpenNet.RU
===========
Похожие новости
- Главная ссылка к новости (https://www.mail-archive.com/n...)
- OpenNews: Выпуск пакетных фильтров nftables 0.9.8 и iptables 1.8.7
- OpenNews: В состав ядра 4.18 одобрено включение нового пакетного фильтра bpfilter
- OpenNews: Разработчики Netfilter официально объявили инструментарий iptables устаревшим
- OpenNews: Релиз iptables 1.8.0
- OpenNews: В Debian 11 предлагается по умолчанию задействовать nftables и firewalld
Похожие новости:
- [Системное администрирование, IT-инфраструктура, *nix, Софт] FreeBSD. Путь сетевого пакета внутри ядра
- [Софт, IT-компании] Вебинар “ИТ-вызовы 2021 года: с чем бороться и как эффективно защищать свою сеть”
- [Информационная безопасность, PostgreSQL, Администрирование баз данных] Обеспечение безопасности базы данных PostgreSQL (перевод)
- [Системное администрирование, IT-инфраструктура, *nix, Софт] FreeBSD. Условная маршрутизация средствами PF
- [Информационная безопасность, Системное администрирование, IT-инфраструктура, Софт] FreeBSD. Трансляции, тэги и якоря в PF
- [Информационная безопасность] Palo Alto Networks. Учимся думать, как firewall. Сессии и состояния
- [Информационная безопасность, Системное администрирование, IT-инфраструктура, Софт] Фильтрация трафика PF
- [Серверное администрирование, Софт, IT-компании] Видеогид по настройке Интернет Контроль Сервер
- [Информационная безопасность, Системное администрирование, IT-инфраструктура, Софт] Файрвол PF в ОС FreeBSD
- [Информационная безопасность, Сетевые технологии, IT-компании] От локального ПО до всероссийских инсталляций: как изменился ИКС за 17 лет
Теги для поиска: #_nftables, #_firewall
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 14:35
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Опубликован выпуск пакетного фильтра nftables 0.9.9, унифицирующего интерфейсы фильтрации пакетов для IPv4, IPv6, ARP и сетевых мостов (нацелен на замену iptables, ip6table, arptables и ebtables). Одновременно опубликован выпуск сопутствующей библиотеки libnftnl 1.2.0, предоставляющей низкоуровневый API для взаимодействия с подсистемой nf_tables. Необходимые для работы выпуска nftables 0.9.9 изменения включены в состав ядра Linux 5.13-rc1. В пакет nftables входят компоненты пакетного фильтра, работающие в пространстве пользователя, в то время как на уровне ядра работу обеспечивает подсистема nf_tables, входящая в состав ядра Linux начиная с выпуска 3.13. На уровне ядра предоставляется лишь общий интерфейс, не зависящий от конкретного протокола и предоставляющий базовые функции извлечения данных из пакетов, выполнения операций с данными и управления потоком. Непосредственно правила фильтрации и специфичные для протоколов обработчики компилируются в байткод в пространстве пользователя, после чего данный байткод загружается в ядро при помощи интерфейса Netlink и выполняется в ядре в специальной виртуальной машине, напоминающей BPF (Berkeley Packet Filters). Подобный подход позволяет значительно сократить размер кода фильтрации, работающего на уровне ядра и вынести все функции разбора правил и логики работы с протоколами в пространство пользователя. Основные новшества:
=========== Источник: OpenNet.RU =========== Похожие новости
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 14:35
Часовой пояс: UTC + 5