Configure iptables no linux ubuntu para rotear apenas IPs específicos entre duas redes

1

Eu não sou um especialista em Linux e preciso configurar esse cenário.

Eu tenho um host Hyper-V onde tenho duas interfaces de rede virtuais, ambas são adicionadas a uma máquina Linux Ubuntu, eth0 e eth1.

Agora eu tenho um monte de máquinas Windows na rede eth1, e eu as configurei para usar a máquina ubuntu como gateway. Agora quero que as máquinas windows na rede interna acessem apenas algumas máquinas no eth0 .

Esta é a configuração básica que eu configurei

echo 1 > /proc/sys/net/ipv4/ip_forward
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

Agora toda máquina na eth1 pode acessar todas as máquinas na eth0 e todas as máquinas da eth0 podem acessar todas as máquinas na eth1.

O que eu preciso agora é bloquear o tráfego de eth1 para eth0, exceto para dois IP (controladores de domínio), embora seja bom para mim que todas as máquinas na eth0 possam acessar a máquina na eth1.

Que configuração devo fazer para o iptables bloquear todo o tráfego de eth1 para eth0, exceto para um grupo se o IP?

Obrigado.

[EDITAR] Eu consegui trabalhar com essa configuração, parece funcionar bem, mas eu gostaria de algum comentário se estiver errado ou se houver uma solução melhor.

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o eth1 -m state  --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
sudo iptables -I FORWARD -d 10.0.0.0/24 -j DROP
sudo iptables -I FORWARD -d 10.0.0.42 -j ACCEPT
    
por Alkampfer 16.07.2016 / 12:45

1 resposta

1

Você pode especificar o endereço IP ou a sub-rede de origem com o parâmetro "-s" e depois soltar todo o tráfego de eth1 para eth0

sudo iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -s 192.168.1.1 -i eth1 -o eth0 -j ACCEPT
sudo iptables -A FORWARD -s 192.168.1.0/24 -i eth1 -o eth0 -j ACCEPT
sudo iptables -A FORWARD -i eth1 -o eth0 -j DROP
    
por 18.07.2016 / 21:23