Ubuntu 21.10 переключился на nftables, так почему же iptables все еще доступен?

Согласно примечаниям к выпуску 21.10 :

nftables теперь является серверной частью по умолчанию для брандмауэра.

Однако, установив Ubuntu 21.10, я вижу, что iptables (и ufw) по-прежнему установлены по умолчанию:

      m@m-VirtualBox:~$ whereis iptables

iptables: /usr/sbin/iptables /usr/share/iptables /usr/share/man/man8/iptables.8.gz

m@m-VirtualBox:~$ whereis ufw

ufw: /usr/sbin/ufw /usr/lib/ufw /etc/ufw /usr/share/ufw /usr/share/man/man8/ufw.8.gz

Почему это происходит?

Насколько я знаю, это оболочка вокруг iptables, а не nftables.

Могу ли я безопасно использовать эти команды? Или я должен позаботиться о том, чтобы никогда не печатать iptablesили же ufwв терминале?

2 ответа

После вашего whereis iptablesкоманда, вы должны следовать файлам. Пример с сервера 20.04:

      doug@s19:~$ whereis iptables
iptables: /usr/sbin/iptables /usr/share/iptables /usr/share/man/man8/iptables.8.gz
doug@s19:~$ ls -l /usr/sbin/iptables
lrwxrwxrwx 1 root root 26 Jan 23  2020 /usr/sbin/iptables -> /etc/alternatives/iptables
doug@s19:~$ ls -l /etc/alternatives/iptables
lrwxrwxrwx 1 root root 22 Apr 18  2021 /etc/alternatives/iptables -> /usr/sbin/iptables-nft
doug@s19:~$ ls -l /usr/sbin/iptables-nft
lrwxrwxrwx 1 root root 17 Feb 28  2020 /usr/sbin/iptables-nft -> xtables-nft-multi
doug@s19:~$ ls -l /usr/sbin/xtables-nft-multi
-rwxr-xr-x 1 root root 220488 Feb 28  2020 /usr/sbin/xtables-nft-multi

Итак, iptables на самом деле использует nftables.

nftables может интерпретировать синтаксис iptables.

У меня нет ответов на все ваши вопросы, но некоторые из них у меня есть.

UFW — это уровень абстракции брандмауэра, который может использовать iptables или nftables в качестве внутреннего брандмауэра. Это просто удобный помощник Ubuntu, очень похожий на Firewalld + firewall-cmd для вариантов Red Hat.

Свежая серверная установка Ubuntu 21.10 Server показывает именно то, что вы видите: на самом деле серверная часть все еще использует iptables при стандартной установке сервера.

Справочная страница xtables-nft-multi (или просто xtables-multi) показывает объяснение:

xtables-nft — это версии iptables, использующие API nftables. Это набор инструментов, помогающих системному администратору перенести набор правил с iptables(8), ip6tables(8), arptables(8) и ebtables(8) на nftables(8).

Насколько я могу судить, вы правы в том, что, хотя Ubuntu, кажется, движется к nftables в качестве замены iptables, их еще нет.

Однако приятно то, что если вы все это время использовали UFW, с точки зрения управления ничего не изменится, поскольку и iptables, и nftables кажутся взаимозаменяемыми, поскольку nft примет синтаксис iptables, даже если у вас есть странные правила в /etc/ufw/before.rules например.

Другие вопросы по тегам