NAT with two external IP numbers

former03 | Baltasar Cevc baltasar.cevc at former03.de
Thu Nov 16 17:32:06 CET 2006


Hi Mogens,

> Give the linux box two IP numbers externally,
> e.g. 130.226.184.38 and 130.226.184.39, register
> 130.226.184.38 with the journal, change the
> internal IP numbers so that:
>
 > [...]
>
> /sbin/iptables -t nat -A POSTROUTING -s 172.20.0.0/17 -o eth0 -j 
> MASQUERADE
> /sbin/iptables -t nat -A POSTROUTING -s 172.20.128.0/17 -o eth0:1 -j 
> MASQUERADE

eth0:1 is not a real interface so no packets can go out there. It would 
be
good if iptables would throw an error, but probably it's hard for the 
software
to tell what are 'real' interfaces.

You must use the SNAT target to achieve what you want:
/sbin/iptables -t nat -A POSTROUTING -s 172.20.0.0/17 -o eth0 -j SNAT 
--to 130.226.184.38
/sbin/iptables -t nat -A POSTROUTING -s 172.20.128.0/17 -o eth0 -j SNAT 
--to 130.226.184.39

(Please note that both rules use eth0 as that's the interface where the 
packets
go out).

Hope that helps,
Baltasar




More information about the netfilter mailing list