Насколько я понял по визгам айтишной обслуги на ЛОРе вокруг systemd, wayland и прочих новшеств Линукса, эти люди не любят когда что-то нарушает их отлаженный мирок и когда приходится напрягать моск для переобучения. Так вот, господа, ядро 3.13 готовит вам эпический подарок - совершенно новый сетевой фильтр, несовместимый с ip/arp/ebtables:
В экспериментальную ветку linux-next, на базе которой будет формироваться ядро Linux 3.13, принят код Nftables, новой реализации пакетного фильтра, идущей на смену iptables, ip6table, arptables и ebtables. Nftables отличается существенным пересмотром организации процесса обработки правил фильтрации пакетов, новым синтаксисом правил, сокращением кода, выполняемого на уровне ядра, и унификацией интерфейсов для IPv4, IPv6, ARP и сетевых мостов.
Ключевой особенностью Nftables является применение идеи, близкой к реализации BPF (Berkeley Packet Filters) - правила фильтрации компилируются в пространстве пользователя в байткод и передаются в ядро через API Netlink, после чего для принятия решения по дальнейшим действиям с пакетом выполняются с использованием конечного автомата (pseudo-state machine).
Все операции по определению условий и связанных с ними действий выполняются в пространстве пользователя, в ядре производится только базовый набор операций, таких как чтение данных из пакета, сравнение данных и т.п. Присутствует поддержка словарного маппинга и поиска по наборам правил (sets), работа которых реализована через хеши и rb-деревья. При этом элементы наборов могут быть заданы в виде диапазонов значений (можно определять подсети).
Для взаимодействия с кодом, работающим на уровне ядра, предлагается специальная связующая интерфейсная библиотека libnl и построенный поверх неё фронтэнд, работающий на уровне пользователя. Для формирования правил фильтрации в nftables подготовлена утилита nft, которая проверяет корректность правил и транслирует их в байткод. Правила могут добавляться не только инкрементально, но и загружаться целиком из файла на диске.
Новый синтаксис правил не похож на iptables и отличается использованием иерархических блочных структур вместо линейной схемы. Язык классификации правил основан на реальной грамматике, при обработке которой используется сгенерированный в bison парсер.
Правда, ядрописатели сжалились и добавили слой совместимости:
Для обеспечения обратной совместимости с линейными правилами предоставляется специальная прослойка, позволяющая использовать iptables/ip6tables поверх инфраструктуры Nftables. Представленный для ядра 3.13 код предусматривает сосуществование старой и новой подсистем, так как Nftables ещё требует доработки и тестирования.
Но это пока :)
В тред торжественно приглашаются главные истерички ЛОРа (думаю, вы понимаете, о ком я) чтобы высказать своё авторитетное «АБЫРВАЛГ!!!!111111»