[CentOS-es] IPTables NAT IP externa a IP interna

Ing. Ramon Resendiz rresendiz en globaltrack.com.mx
Vie Feb 15 16:15:21 UTC 2013


Buenas tardes compañeros,

 

Les expongo el siguiente caso que me ha estado quitando el sueño por varios
días:

 

Tengo un equipo Linux CentOS que esta fungiendo como Gateway, a la vez que
tiene IP externa (WAN) configuradas en la interface eth0; y además tiene IP
virtuales o IP alias en las interfaces eth0:1, eth0:2 y eth0:3. Además tiene
un IP interna (LAN).





eth0

X.X.X.237


eth0:1

X.X.X.235


eth0:2

X.X.X.234


eth0:3

X.X.X.236


eth1

192.168.0.1

 

Lo que requiero es realizer un NAT de la IP X.X.X.237 del puerto SMTP
(25/TCP) que haga un renvió (forwarding) la IP 192.168.0.134 que pertenece a
la red de la interface eth1.

Estoy ejecutando las siguientes reglas con IPTables:

 

iptables -t nat -D PREROUTING -i eth0 -p tcp -d X.X.X.237 --dport 25 -j DNAT
--to 192.168.0.134:25

iptables -D FORWARD -p tcp -d X.X.X.237 --dport 25 -j ACCEPT

 

Al realizar un análisis de trafico de paquetes con tcpdum me topo con lo
siguiente:

 

10:04:49.798208 IP ip.origen.52036 > X.X.X.237.smtp: S
640946167:640946167(0) win 8192 <mss 1260,nop,wscale 8,nop,nop,sackOK>

10:04:52.797073 IP ip.origen.52036 > X.X.X.237.smtp: S
640946167:640946167(0) win 8192 <mss 1260,nop,wscale 8,nop,nop,sackOK>

10:04:58.800293 IP ip.origen.52036 > X.X.X.237.smtp: S
640946167:640946167(0) win 8192 <mss 1260,nop,nop,sackOK>

 

Para no hacer tardado esto, el resultado es que al hacer telnet al puerto el
tiempo de espera (timeout) termina cerrando la conexión.

 

Alguna idea, sugerencia?

 

Saludos!

Ing. Ramón Resendiz



Más información sobre la lista de distribución CentOS-es