Ayuda de Iptables

Tuthotep-El Negro tuthotep en gmail.com
Jue Dic 6 21:53:52 GMT 2007


Ulises M. Alvarez wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Tuthotep-El Negro wrote:
>   
>> Buenas gente:
>>
>> Salida ifconfig:
>> eth0      Link encap:Ethernet  HWaddr 00:D0:B7:16:7B:2C
>>           inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0
>>           inet6 addr: fe80::2d0:b7ff:fe16:7b2c/64 Scope:Link
>>           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
>>           RX packets:2822617 errors:0 dropped:0 overruns:0 frame:0
>>           TX packets:7766278 errors:0 dropped:0 overruns:0 carrier:0
>>           collisions:0 txqueuelen:1000
>>           RX bytes:181805465 (173.3 MiB)  TX bytes:401871921 (383.2 MiB)
>>
>> eth1      Link encap:Ethernet  HWaddr 00:0E:2E:05:6E:13
>>           inet addr:10.35.126.99  Bcast:10.35.126.127  Mask:255.255.255.224
>>           inet6 addr: fe80::20e:2eff:fe05:6e13/64 Scope:Link
>>           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
>>           RX packets:28031 errors:0 dropped:0 overruns:0 frame:0
>>           TX packets:21203 errors:0 dropped:0 overruns:0 carrier:0
>>           collisions:0 txqueuelen:1000
>>           RX bytes:4205010 (4.0 MiB)  TX bytes:10767279 (10.2 MiB)
>>           Interrupt:10 Base address:0x2c00
>>
>>
>>
>>
>> Tengo una maquina que comparte dos redes y es un firewall;  Uso 
>> Firestarter, con retoques a mano.  Toda petición http, la re-envia a un 
>> web de la máquina 10.35.126.99. He permitido conexiones a un par de 
>> direcciones con otros puertos, y todo ok.
>>
>> Pero  al hacerlo con el puerto 80 (http), las dos lineas - una en 
>> user-pre y otra en user-post de firestarter - que re-envian las 
>> peticiones http:
>>
>> iptables -t nat -A PREROUTING -s 10.35.126.96/27 -p tcp -m tcp --dport 
>> 80 -j DNAT --to-destination 10.35.126.99-10.35.126.99:80-80
>> iptables -t nat -A POSTROUTING -s 10.35.126.96/27 -p tcp -m tcp --dport 
>> 80 -j SNAT --to-source 10.35.126.99
>>
>>
>> siguen funcionando;  O sea, necesito una execpción a ciertas ip's, para 
>> las dos reglas mencionadas antes.
>> He probado varias cosas, que fuí encontrando en google, tutorials, me 
>> leí las man de iptables 5 mil veces, pero no doy con ello.
>> Por fa, necesito una mano, mi ultimo intento fue:
>> //iptables -t nat -A POSTROUTING -s 10.35.126.96/27 -d 69.72.161.58 -j 
>> SNAT --to-source 10.35.126.99
>> //iptables -A INPUT -p TCP -m state --state related -j ACCEPT
>> y tampoco lo conseguí..........
>> me estoy volviendo loco........
>> y las chinas me persiguen.............
>>
>> GRACIAS
>>
>>
>>     
>
> ¡Hola!
>
> Vamos a ver si comprendí tu petición, de acuerdo a:
>
>   
>> iptables -t nat -A POSTROUTING -s 10.35.126.96/27 -p tcp -m tcp \
>> --dport 80 -j SNAT --to-source 10.35.126.99
>>     
>
> Lo que entiendo es, ¿deseas enmascarar las peticiones para que que
> parezca que provienen de la IP 10.35.126.99 (eth1)?
>
> Si es así, la regla quedaría:
>
> iptables -t nat -A POSTROUTING -s 10.35.126.96/27 \
> - -j SNAT --to-source 10.35.126.99
>
> Saludos.
> - --
> Ulises M. Alvarez.
> Unidad de Gestión del Conocimiento e Innovación Tecnológica.
> Centro de Física Aplicada y Tecnología Avanzada.
> UNAM
> http://www.fata.unam.mx/
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.6 (GNU/Linux)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
>
> iD8DBQFHVv++QLeMG7SzNAoRAoddAJwJNiQ9m2olEH59DdVLzReJF6iIIQCdG4s2
> b1jt3vWOnOQeZajgLnwXKCM=
> =ohag
> -----END PGP SIGNATURE-----
>
>   
Gracias Ulises.
Eso ya lo realiza. a ver si me explico mejor.
colocas www.google.com, o cualquier web que quieras,  y te sale la web 
por defecto del host 10.35.126.99.
Hasta funciona correctamente.
Ahora, quiero que, para ciertas ip's/nombre de hosts, si se permita el 
acceso.
Con la regla de postrouting creo que no hay problema, pero, 
diseccionando un poco la de pre:

iptables -t nat -A PREROUTING -s 10.35.126.96/27 -p tcp -m tcp --dport 
80 -j DNAT --to-destination 10.35.126.99-10.35.126.99:80-80


Corregirme si me equivoco,  todo lo que venga de la red 10.35.126.96/27, 
y por el puerto 80, enviarlo al host 10.35.126.99, y aqui sale nuestra web.
Yo necesito una execpción, por ip, a esta regla.
he probado con:
(todo lo que venga de la red 10.35.126.96/27, por el puerto 80, y el 
destino sea 65.72.161.65, aceptar, o sea, no enviarlo a --to-destination 
10.35.126.99-10.35.126.99:80-80)

iptables -t nat -A PREROUTING -s 10.35.126.96/27 -d 65.72.161.65 -p tcp -m tcp --dport 
80 -j DNAT ACCEPT

Y no me funcionó, pero creo que la regla de postrouting no tengo que tocarla, aunque puede que me equivoque tambien.
Gracias , y necesito la ayuda de verdad.





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