Re: iptables y enmascaramiento

2003-11-27 Por tema Juande Egido
El mié, 26-11-2003 a las 00:24, Angel (4Caños) escribió:
> Hola lista
> 
> Tengo la siguiente configuración:
> 
> Red Wireless(eth1 10.34.82.0/255.255.255.192)
> Red Wireless2  (eth2 10.34.80.0/255.255.255.224)
> Red local  (eth0 192.168.0.0/255.255.255.0)
> 
> en la red local (eth0) tengo una página web, y un ftp. El caso es que quiero
> que sea accesible desde eth1 y eth 2, pero sin que estos tengan que conocer
> la ruta 192.168.0.0 que es donde esta el servidor (web y ftp).
Entiendo que te refieres a que están en otro ordenador de la red 192...
¿No?
> 
> Osea que cuando intenten acceder al ftp desde eth1 accediendo a la
> 10.34.82.58 que es el pc de linux salte esa peticion a eth0.Al igual con la
> pagina web. Vamos como si los servidores estuviesen en el pc linux (No
> los pongo ahi por falta de recursos...)

> El pc linux tiene las siguientes Ip´s
> 
> eth0  192.168.0.10  192.168.0.0/24
> eth1   10.34.82.58  10.34.82.0/26
> eth2   10.34.80.1   10.34.80.0/27
> 

> 
> iptables -t nat -A POSTROUTING -s 192.168.0.0/255.255.255.0 -d
> 0.0.0.0/0.0.0.0 -o eth1 -j MASQUERADE
> iptables -t nat -A POSTROUTING -s 192.168.0.0/255.255.255.0 -d
> 0.0.0.0/0.0.0.0 -o eth2 -j MASQUERADE

Aquí lo que haces es que cuando llege una petición desde 192... HACIA
eth1 o eth2 la enmascare y la pase.
Si he entendido bien la pregunta, lo que quieres es que cuando llega una
petición DESDE eth2 hacia el puerto 80 DEL ORDENADOR CON IPTABLES, este
la redirija a otro ordenador (visible por eth0) sin que el cliente se
entere (si me he colado con esto, el resto de la solución no te va a
funcionar).

Pongamos x ejemplo que el ordenador donde sirves la web es 192.168.0.5
http es un protocolo basado en TCP. La regla sería algo así:
iptables -t nat -A PREROUTING -p tcp -i eth2 -d 10.34.80.1
--destination-port 80 -j DNAT --to-destination 192.168.0.5

osea:
-i = interfaz por donde venga el cliente
-d = La IP a la que hace la petición (la que tienes tú en el interfaz
por donde te viene).
--destination-port = El puerto por el que llega
--to-destination: A qué IP lo quieres mandar.

Lo del ftp se puede complicar más, sobre todo si quieres conexiones
activas.


> 
-- 
Un abrazo, Juande


signature.asc
Description: Esta parte del mensaje =?ISO-8859-1?Q?est=E1?= firmada	digitalmente


iptables y enmascaramiento

2003-11-25 Por tema Angel (4Caños)


Hola lista

Tengo la siguiente configuración:

Red Wireless(eth1 10.34.82.0/255.255.255.192)
Red Wireless2  (eth2 10.34.80.0/255.255.255.224)
Red local  (eth0 192.168.0.0/255.255.255.0)

en la red local (eth0) tengo una página web, y un ftp. El caso es que quiero
que sea accesible desde eth1 y eth 2, pero sin que estos tengan que conocer
la ruta 192.168.0.0 que es donde esta el servidor (web y ftp).

Osea que cuando intenten acceder al ftp desde eth1 accediendo a la
10.34.82.58 que es el pc de linux salte esa peticion a eth0.Al igual con la
pagina web. Vamos como si los servidores estuviesen en el pc linux (No
los pongo ahi por falta de recursos...)

La verdad es que me cuesta explicarme, mis conocimientos son mas bien
escasos...

La ultima vez que estuve intentandolo me salio pero ahora que lo quiero
dejar fijo no logro vover a hacerlo.

El pc linux tiene las siguientes Ip´s

eth0  192.168.0.10  192.168.0.0/24
eth1   10.34.82.58  10.34.82.0/26
eth2   10.34.80.1   10.34.80.0/27


tengo la red con el ip_forward=yes y las siguientes reglas en iptables, por
si hay que tenerlo en cuenta

#establecer politicas generales
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

#limpiar ateriores reglas
iptables -F
iptables -t nat -F

iptables -t nat -A POSTROUTING -s 192.168.0.0/255.255.255.0 -d
0.0.0.0/0.0.0.0 -o eth1 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.0.0/255.255.255.0 -d
0.0.0.0/0.0.0.0 -o eth2 -j MASQUERADE


Gracias