Como permitir FORWARDing com firewalld em um roteador Fedora 19

7

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?

banjo67xxx
fonte
3
A versão atual firewall-cmddeve permitir que você faça disso uma --permanentregra.
Michael Hampton

Respostas:

8

Finalmente, encontrei a resposta ...

# cat /etc/firewalld/direct.xml
<?xml version="1.0" encoding="utf-8"?>
<direct>
   [ <rule ipv="ipv4" table="filter" chain="FORWARD_direct" priority="0"> -i eth0 -o eth1 -j ACCEPT </rule> ]
</direct>

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

banjo67xxx
fonte
chain="FORWARD"deve ser suficiente. Como esta regra é definida em direct.xml, ela será transpilada comoFORWARD_input
rhgb