Acesso à Internet na rede interna com IPTables

1

Em uma nuvem privada que estou configurando, tenho algumas VMs do RHEL, redes e um roteador em openstack. Meu roteador está conectado à internet pública e meu nó de gateway está conectado ao roteador e tem acesso à Internet através da eth0. O nó está conectado à rede interna na eth1. Eu tenho alguns nós internos do RHEL conectados à rede interna em suas interfaces eth0. Os nós podem pingar um ao outro e acredito que os arquivos ifcfg de cada nó estejam configurados corretamente.

Usando o IPTables, tentei fornecer aos nós internos acesso à Internet:

iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT  
iptables -A FORWARD -i eth0 -o eth1 -m conntrack -ctstate ESTABLISHED,RELATED -j ACCEPT  
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Eu também habilitei o encaminhamento de ipv4 (desativado por padrão) no nível do kernel. Depois de salvar a configuração e o SSHing em um nó interno, não consigo fazer ping de endereços externos:

# ping 8.8.8.8
connect: Network is unreachable

Meu roteador em openstack tem uma rota estática com o
Destino CIDR: minha rede interna
Próximo salto: meu nó de gateway

Por que não consigo acessar a Internet nos meus nós internos? O que estou perdendo aqui?

    
por keysersoze 02.04.2018 / 05:20

2 respostas

0

Pode ser que você não tenha habilitado o encaminhamento no kernel -

Tente

echo 1 > /proc/sys/net/ipv4/forward

Se isso resolver o problema, torne-o permanente editando o /etc/sysctl.conf e adicionando a linha

net.ipv4.ip_forward = 1
    
por 02.04.2018 / 06:32
0

Network is unreachable significa que não há rota definida para alcançar 8.8.8.8. Este é provavelmente um problema retornado diretamente pela VM, e que está na VM, não no host.

O OpenStack tem várias configurações de rede possíveis. Você acabou de escrever "redes" e não deu nenhuma informação sobre os IPs das VMs. Esperando que não haja configuração desconhecida (redes intermediárias com NATs intermediários), em cada VM você precisa adicionar uma rota padrão através do IP definido na interface eth1 do seu roteador. se esse IP fosse, por exemplo, 10.0.2.1, então isso seria feito:

ip route add default via 10.0.2.1

Para configurações permanentes, ele deve ser adicionado em seu arquivo de configuração específico (consulte Rotas estáticas e o gateway padrão da Redhat).

    
por 08.04.2018 / 20:47