Acabei de instalar o Fedora 19 e estou usando o firewalld em vez do iptables, mas estou tendo dificuldade em interpretar a nova terminologia.
Eu tenho 2 NICs. Um é específico ZONE = "internal" e o outro "external" nos arquivos ifcfg- *, configurei ipv4.forwarding = 1 em /etc/sysctl.conf e execute firewall-cmd --zone = external --add -mascarada
No entanto, quando eu tento rotear de qualquer máquina na rede interna, estou recebendo Destination Host Prohibited e, claro, se eu desabilitar o firewalld, o erro desaparece, mas depois perco o mascaramento.
No iptables havia um conjunto de regras chamado FORWARD, mas no firewalld eu só consigo encontrar --add-port-forward que não é a mesma coisa.
Como faço para permitir o roteamento no firewalld?
... eu fiz algum progresso ...
# firewall-cmd --direct --add-rule ipv4 filter FORWARD 0 -i ens4 -o eth1 -j ACEITAR
Permitirá o roteamento, mas não é persistente e não permite a opção --permanent. Como eu faço isso persistente através de reinicializações?
fonte
firewall-cmd
deve permitir que você faça disso uma--permanent
regra.Respostas:
Finalmente, encontrei a resposta ...
Esse recurso apareceu no firewalld-0.3.4-1.fc19, mas ainda não há suporte para o firewall-cmd, e a página man foi omitida, mas funciona
Eventualmente, foi encontrado na seguinte lista de discussão http://www.spinics.net/linux/fedora/fedora-security/msg01688.html
fonte
chain="FORWARD"
deve ser suficiente. Como esta regra é definida em direct.xml, ela será transpilada comoFORWARD_input
A partir do Fedora25, isso pode ser resolvido usando o Firewalld Rich Rules. Firewalld Rich Rules são similares ao iptables DSL, mas prometem muito mais flexibilidade.
Eles também seguem encadeamento semelhante ao iptables. Mais detalhes podem ser encontrados aqui: - https://fedoraproject.org/wiki/Features/FirewalldRichLanguage#firewalld_Rich_Language
fonte