Nastąpiła i deweloperzy Ubuntu przejścia na domyślne korzystanie z filtracji pakietów .
Dla zachowania zgodności wstecznej sugeruje się użycie pakietu , który zapewnia narzędzia o tej samej składni wiersza poleceń jak iptables, ale tłumaczący przyjęte reguły na kod bajtowy nf_tables. Zmiana ta ma być uwzględniona w jesiennym wydaniu Ubuntu 20.10.
To druga próba przejścia Ubuntu na nftables. Pierwsza próba miała miejsce w ubiegłym roku, ale została odrzucona z powodu niezgodności z narzędziami . Teraz w LXD już wbudowana obsługa nftables i może działać z nowym backendem do filtracji pakietów. Dla użytkowników, którym nie wystarcza warstwa zapewniająca zgodność, istnieje możliwość zainstalowania klasycznych narzędzi iptables, ip6tables, arptables oraz ebtables ze starym backendem.
Przypomnijmy, że w filtrze pakietów ujednolicone są interfejsy filtracji pakietów dla IPv4, IPv6, ARP oraz mostów sieciowych. W pakiecie nftables znajdują się komponenty filtra pakietów działające w przestrzeni użytkownika, podczas gdy na poziomie jądra pracuje podsystem nf_tables, wchodzący w skład jądra Linux od wydania 3.13. Na poziomie jądra dostępny jest jedynie ogólny interfejs, niezależny od konkretnego protokołu i zapewniający podstawowe funkcje wydobywania danych z pakietów, przeprowadzania operacji na danych oraz zarządzania strumieniem.
Bezpośrednio reguły filtracji oraz specyficzne dla protokołów przetwarzacze są kompilowane do kodu bajtowego w przestrzeni użytkownika, po czym ów kod bajtowy jest ładowany do jądra za pomocą interfejsu Netlink i wykonywany w jądrze w specjalnej wirtualnej maszynie, przypominającej BPF (Berkeley Packet Filters). Takie podejście pozwala znacznie zmniejszyć rozmiar kodu filtracji działającego na poziomie jądra, przenosząc wszystkie funkcje analizy reguł i logiki pracy z protokołami do przestrzeni użytkownika.
Źródło: opennet.ru
