Encaminhamento de tráfego entre duas interfaces de firewall na mesma zona

2

Eu tenho quatro interfaces no meu sistema CentOS 7.3.1611 em três zonas:

# firewall-cmd --get-active-zones
dmz
  interfaces: ens192
internal
  interfaces: ens256 ens161
external
  interfaces: ens224

Eu quero que os sistemas nas duas zonas internas possam conversar entre si.

Eu tentei adicionar regras diretas bidirecionais:

# firewall-cmd --direct --add-rule ipv4 filter FORWARD 0 -o ens256 -i ens161 -j ACCEPT
# firewall-cmd --direct --add-rule ipv4 filter FORWARD 0 -i ens256 -o ens161 -j ACCEPT

... pois é assim que eu permiti que uma das redes internas falasse com a rede dmz, mas A) isso não parece funcionar no caso intra-zona; e B) já que este comando não aceita o --permanent flag, tenho minhas dúvidas de que tal comando sobreviverá a um reboot.

As duas interfaces internas podem falar corretamente com a zona externa (internet).

Como eu permito que o tráfego entre duas interfaces na mesma zona flua?

    
por David Mackintosh 27.02.2017 / 01:16

1 resposta

1

encontrou sua pergunta fazendo uma pesquisa no google sobre tópicos semelhantes de firewall de várias interfaces para o firewalld. Estamos cerca de um ano depois, e sua pergunta permanece sem resposta, e estou querendo saber se o problema que você tem com --permanent está relacionado à ordem dos argumentos.

Na versão 0.4.4.4 do Enterprise Linux 7.5, a página man no firewall-cmd mostra claramente que você precisa ter --permanent before --direct. Isso é provável porque quaisquer argumentos após --direct são sub-argumentos para direcionar, não o firewall-cmd. Então, execute seu comando da seguinte forma:

# firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -o ens256 -i ens161 -j ACCEPT

Em seu problema com as duas Interfaces Internas ... Por um lado, você precisa dar uma olhada na saída de # iptables -L e mapear como suas correntes fluem. O comando que você colocou lá insere uma regra na cadeia direta no topo da cadeia, com prioridade 0. Meu palpite é que há outra cadeia com prioridade mais alta, como "FORWARD_IN_ZONES", que acaba descartando seus pacotes.

Além disso, em versões recentes do firewalld, é possível executar # firewall-cmd --set-log-denied=all para ver informações sobre pacotes descartados. Os logs devem incluir o nome da cadeia que está criando o drop.

    
por 05.02.2018 / 22:05