Релиз iptables 1.6.0
Представлен iptables 1.6.0, первый выпуск новой значительной ветки инструментария для управления пакетным фильтром Linux. Ветка 1.6 сформирована спустя восемь лет с момента выпуска прошлой стабильной ветки 1.4.x и включает в себя ряд нарушающих совместимость изменений, а также первую официальную реализацию инструментария iptables-compat, построенного поверх инфраструктуры пакетного фильтра nftables.
Новый слой совместимости iptables-compat позволяет мигрировать на nftables, продолжив использовать привычные инструменты, не отказываясь от синтаксиса iptables и постепенно внедряя новый синтаксис nft. Работающая поверх nftables прослойка включает в себя утилиты iptables-compat, iptables-compat-save, iptables-compat-restore, ip6tables-compat, ip6tables-compat-save, ip6tables-compat-restore, ebtables-compat и arptables-compat, которые являются аналогами штатных утилит без метки »-compat» и используют тот же самый код разбора опций.
Напомним, что подсистема Nftables примечательна унификацией интерфейсов фильтрации пакетов для IPv4, IPv6, ARP и сетевых мостов, а также оставлением в ядре лишь общего интерфейса, не зависящего от конкретного протокола и предоставляющего базовые функции извлечения данных из пакетов, операций с данными и управления потоком. Логика фильтрации и специфичные для протоколов обработчики компилируются в байткод в пространстве пользователя, после чего данный байткод загружается в ядро при помощи интерфейса Netlink и выполняется в специальной виртуальной машине, напоминающей BPF (Berkeley Packet Filters). Подобный подход позволяет значительно сократить размер кода фильтрации, работающего на уровне ядра и вынести все функции разбора правил и логики работы с протоколами в пространство пользователя. Синтаксис правил nft не похож на iptables, основан на реальной грамматике и отличается использованием иерархических блочных структур вместо линейной схемы.
Из изменений iptables 1.6.0, нарушающих совместимость, отмечается удаление устаревших действий (target) MIRROR и SAME, а также прекращение поддержки критерия (match) «unclean», который уже достаточно давно исключён из состава ядра Linux. Кроме того, в новом выпуске представлена достаточна большая порция мелких исправлений и улучшений, которые затрагивают действия CT, REJECT, SET, SNAT, SNPT, DNPT, SYNPROXY и TEE, а также критерии ah, connlabel, cgroup, devgroup, dst, icmp6, ipcomp, ipv6header, quota, set, socket и string.
© OpenNet