Я прохожу курс “от 0 до Linux админа” на yodo.im и столкнулся с проблемой. После обновления ОС на сервере с Rocky 10 я обнаружил, что новые ядра не поддерживают старые модули iptables, из-за чего загрузка правил iptables невозможна. Теперь мне пришлось перейти на использование nftables, но я нахожу, что это система выглядит более сложной и многословной по сравнению с iptables. Например, простое правило перенаправления трафика с порта 80 на одном сервере на порт 80 другого сервера в iptables было гораздо более кратким. Вот пример:
Для iptables:
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination <IP of serverB>:80
iptables -t nat -A POSTROUTING -p tcp -j MASQUERADE
Для nftables это же правило стало значительно длиннее:
nft add table ip nat
nft add chain ip nat PREROUTING { type nat hook prerouting priority dstnat ; policy accept ; }
nft add chain ip nat POSTROUTING { type nat hook postrouting priority srcnat ; policy accept ; }
nft add rule ip nat PREROUTING tcp dport 80 dnat to <IP of serverB>:80
nft add rule ip nat POSTROUTING masquerade
Может ли кто-нибудь объяснить, какие преимущества у nftables по сравнению с iptables? Что было не так с iptables, что заставляет переходить на более сложный инструмент?