Преобразование правил IPTables в Firewalld
Я работаю над настройкой Cuckoo Sandbox, и у меня есть несколько правил IPTables, которые необходимо преобразовать в правила Firewalld.
Вот справочная страница для руководства по установке Cuckoo Sandbox: http://docs.cuckoosandbox.org/en/latest/installation/guest/network/
3 строки, которые мне нужно преобразовать из формата IPTables: (Подсеть удалена):
iptables -A FORWARD -o eth0 -i vboxnet0 -s 0.0.0.0/0 -m conntrack --ctstate NEW -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A POSTROUTING -t nat -j MASQUERADE
Я попытался преобразовать правила и реализовать их с помощью firewall-cmd, и вот три обновленных правила, которые я придумал:
firewall-cmd --permanent --direct --add-rule ipv4 -A FORWARD -o eth0 -i vboxnet0 -s 0.0.0.0/0 -m conntrack --ctstate NEW -j ACCEPT
firewall-cmd --permanent --direct --add-rule ipv4 -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
firewall-cmd --permanent --direct --add-rule ipv4 filter POSTROUTING 0 -t nat -j MASQUERADE
Тем не менее, когда я пытаюсь добавить одно из вышеуказанных правил, используя sudo firewall-cmd
Я получаю ответ, который говорит:
wrong priority
usage: --direct --add-rule { ipv4 | ipv6 | eb } <table> <chain> <priority> <args>
Что я делаю неправильно?
Спасибо за любую помощь!
1 ответ
Похоже, вы только что скопировали и вставили свой iptables
аргументы в задней части firewall-cmd
Команда: это не будет работать. Сообщение об ошибке говорит вам, что он не находит то, что он ожидает после 'ipv4': таблица, цепочка, приоритет и аргументы. Вам нужно что-то вроде:
firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p tcp --dport 9000 -j ACCEPT
Вы можете добавить MASQUERADE несколькими способами:
firewall-cmd --permanent --zone=external --add-masquerade
firewall-cmd --permanent --direct --add-rule ipv4 nat POSTROUTING 0 -o eth1 -j MASQUERADE
Вот хорошая ссылка для начала работы с firewalld: https://www.certdepot.net/rhel7-get-started-firewalld/