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 например.