Iptables: masquarading e roteamento

1

Eu tenho um roteador WAN que está vinculado ao isp em uma sub-rede WAN /30 . Mas também funciona como um roteador para uma sub-rede WAN pública /29 local que está conectada a poucos dos meus servidores. O tráfego de /29 é roteado para o ISP via /30 subnet. Por um motivo com fio eu quero masqarade (NAT) a interface que tem /30 ip. Portanto, a interface com /30 ip deve aparecer como mascarada para minha rede 192.168.1.0/24 e também deve funcionar como um roteador não NAT normal para minha sub-rede pública da WAN /29 . Isso pode ser feito com o iptables em uma máquina Linux?

EDIT1: Como minhas regras de firewall estão no momento:

iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

#WAN Security
iptables -A INPUT -d 1.2.3.3 -m state --state INVALID -j DROP
iptables -A INPUT -d 1.2.3.3 -m state --state ESTABLISHED,RELATED -j ACCEPT

#NAT
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to-source 1.2.3.3

#FORWARD
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT


iptables -A INPUT -d 1.2.3.3 -j DROP
    
por nixnotwin 26.11.2011 / 16:59

1 resposta

2

Sim, isso funcionará bem. Configure sua filtragem de pacotes e seu roteamento como você faria se você não estivesse usando nenhum NAT e, em seguida, adicione algo como:

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to-source 1.2.3.3

(Assumindo que seu ISP está conectado a eth0, e seu IP público é 1.2.3.3.)

Isso aplicará o NAT apenas aos pacotes vindos de sua LAN com endereços IP privados.

    
por 26.11.2011 / 18:17