Usando o iptables, configure o NAT para um intervalo específico em uma ponte local

0

Estou tentando obter uma configuração NAT para um intervalo específico de endereços IP. Eu corro um hipervisor QEMU / KVM com uma ponte local que tem o intervalo de ip 10.0.0.0/8. Nessa ponte, tenho vários intervalos de IP para diferentes classes de máquinas. Alguns desses intervalos são usados para fornecer endereços IP externos para as VMs via NAT 1 para 1. Isso funciona perfeitamente.

Agora, desejo configurar um intervalo de endereços IP para máquinas que obtêm acesso à Internet por meio do NAT comum (pense no roteador do consumidor). O intervalo de IPs é 10.0.0.5-10.0.0.150. Depois de pesquisar on-line, tentei adicionar uma regra como:

iptables -t nat -m iprange -A PREROUTING -i eth0 --dst-range 10.0.0.5-10.0.0.150 -j MASQUERADE

iptables não está configurado para bloquear tráfego. Ainda assim, o NAT não está funcionando. Minha VM pode executar ping no hipervisor, mas não pode executar ping em nenhum host na Internet. O encaminhamento de pacotes IP está ativado.

Alguma idéia?

    
por Simon 19.03.2016 / 02:52

1 resposta

0

Usando termos de pesquisa diferentes, encontrei essa resposta no serverfault .

Meu problema é simplesmente que eu estava usando a cadeia errada para aplicar a regra. O comando correto é:

iptables -t nat -miprange -A POSTROUTING -o eth0 --src-range 10.0.0.5-10.0.0.150 -j MASQUERADE
    
por 19.03.2016 / 12:42