LINUX.ORG.RU
ФорумAdmin

Не добавляется direct rule в firewalld

 


0

1

Здравствуйте. Не получатеся добавить direct rule, вернее его добавление проиходит с результатом 'success', но в итоге проавило в iptables не появлсяется.Пробую:

# firewall-cmd --direct --add-rule ipv4 nat OUTPUT 0 -m owner --uid-owner totor -j REDIRECT --to-port 8888
success
Проверяю:
# iptables-save | grep 8888
-A IN_public_allow -p tcp -m tcp --dport 8888 -m conntrack --ctstate NEW -j ACCEPT
Т.е. нового правила редиректа не появилось. При этом если добавить правило по-старинке через iptables, то всё получается:
# iptables -t nat -A OUTPUT -p tcp -m owner --uid-owner totor -j REDIRECT --to-port 8888
# iptables-save | grep 8888
-A OUTPUT -p tcp -m owner --uid-owner 1002 -j REDIRECT --to-ports 8888
-A IN_public_allow -p tcp -m tcp --dport 8888 -m conntrack --ctstate NEW -j ACCEPT
В чём может быть проблема?


Использование таблицы OUTPUT цепочки nat не является типовым и требует включенной опции ядра CONFIG_IP_NF_NAT_LOCAL=y https://wiki.debian.org/Firewalls-local-port-redirection . Вместо этого следует использовать таблицы PREROUTING и POSTROUTING . При отключенной опции ядра правило в iptables добавится, но действовать не будет, про поведение firewalld сказать не могу - вполне возможно что просто не будет создаваться правило.

Mike_RM
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.