Следваща стъпка и разработчиците на Ubuntu по подразбиране пакетният филтър .
За запазване на обратно съвместимост се предлага използване на пакета , който предоставя инструменти с идентичен синтаксис на командния ред, както при iptables, но компилира получените правила в байткод nf_tables. Промяната е планирана да бъде включена в есенната версия на Ubuntu 20.10.
Това е вторият опит настолна на Ubuntu с nftables. Първият опит беше направен миналата година, но беше отхвърлен поради несъвместимост с инструментариума. . Вече в LXD има вградена поддръжка на nftables и той може да работи с новия бекенд за пакетната филтрация. За потребителите, на които им липсва прослойката за осигуряване на съвместимост, има възможност за инсталиране на класически утилити iptables, ip6tables, arptables и ebtables с стария бекенд.
Напомняме, че в пакетния филтър унифицирани интерфейси за пакетна филтрация за IPv4, IPv6, ARP и мрежови мостове. Пакетът nftables съдържа компоненти на пакетния филтър, работещи в пространството на потребителя, докато в ядрото работи подсистемата nf_tables, налична в ядрото на Linux от версия 3.13. На ядрено ниво се предоставя само общ интерфейс, независим от конкретния протокол, предоставящ основни функции за извличане на данни от пакети, работа с данни и управление на потока.
Правилата за филтрация и специфичните за протоколите обработвачи се компилират в байткод в пространството на потребителя, а след това този байткод се зарежда в ядрото чрез интерфейса Netlink и се изпълнява в ядрото в специална виртуална машина, подобна на BPF (Berkeley Packet Filters). Този подход позволява значително да се намали размерът на кода за филтрация, работещ в ядрото, и да се изнесе цялата логика на парсене на правилата и работата с протоколите в пространството на потребителя.
Източник: opennet.ru
