Como configurar o iptables para passar dados da interface net para fazer a ponte?

1

Estou construindo um ambiente all-in-one openstack em uma máquina CentOS7.4. Por alguma razão eu tenho apenas uma interface de rede (eth0) e um endereço ip, então criei uma ponte linux (br0), e enviei dados para eth0 usando o comando iptables:

iptables -t nat -A POSTROUTING -s {bridge virtual ip} -j SNAT --to {eth0 ip}

Mas parece que não funciona.

Quando faço ping para 8.8.8.8 de br0 e executo o tcpdump, vejo que os dados podem ser encaminhados para eth0 e enviados para 8.8.8.8, mas quando os dados são enviados de volta para eth0, eles não podem ser encaminhados para br0 .

Ip forwarding , net.bridge.bridge-nf-call-iptables e net.bridge.bridge-nf-call-ip6tables estão definidos como 1.

Como posso resolver este problema?

    
por Don_Chen 25.11.2018 / 03:27

1 resposta

0

Para encaminhar o pedido NAT, você deve ativar o Masquerading no iptables:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Mais detalhes podem ser encontrados na documentação .

    
por 27.11.2018 / 10:47