# [Iptables] Proxy Squid transparente y dudas (Solucionado)

## Pablo S. Barrera

Hola. 

Ante todo les pido disculpa por no poder poner aca los archivos de configuracion.

Les cuento, tengo un squid3 funcionando ok, al decidir cambiar shorewall por iptables tuvimos varios problemas.

1) El primer problema es no poder hacer que la navegacion sea transparente por el puerto 8080. Utilice las reglas que encontre en nuestros tutoriales y foros y nos es imposible. Tenemos una red con IP publica fija Eth0=190.x.x.x y una IP de lan Eth1=169.254.2.1 . Si pones proxy en los navegadores funciona! pero sin ellos no.

Cuales serian las reglas a utilizar? Es una red standar, WAN - Gnu/Linux - LAN.

2) De casualidad probamos borrar las reglas de Iptables, hacer un flush e hicimos esto: 

```
iptables -F

 iptables -X

 iptables -Z

 iptables -t nat -F

 iptables -t nat -X

 iptables -t nat -Z
```

Resulto que seguimos teniendo navegacion, y no entiendo el porque, las reglas estan todas vaciadas, y sigue habiendo conexion en al menos dos maquinas de la lan. Hay algo que no vaciamos? Shorewall en esta configuracion nunca se compilo, como puedo ver todas las reglas que estan corriendo?

Gracias de antemano y espero puedan ayudar.

----------

## pelelademadera

hiciste 

```
/etc/init.d/iptables save 

/etc/init.d/iptables reload
```

----------

## Pablo S. Barrera

No, porque queria todo funcione flotando antes de guardarlo. Si hago un save y luego un reload vuelvo a tomar los valores que salve, cierto? Como hago para limpiar todos los valores o ver las reglas que estan corriendo? 

Como comentaba, evidentemente alguna regla quedo funcionando porque seguia nateando, cosa que antes de compilar iptables no pasaba. Se entiende?

Gracias pelelademadera.

----------

## Pablo S. Barrera

Algo que estuve leyendo

¿Esto hace que el GNU/Linux enrute cual router domestico? 

```
echo 1 > /proc/sys/net/ipv4/ip_forward
```

Porque el bit ese esta activo y segun lei enruta.

----------

## gringo

 *Quote:*   

> ¿Esto hace que el GNU/Linux enrute cual router domestico?

 

casi, te faltaría el NAT ( y lo quieras añadirle vaya).

Para que iptables envíe al squid tienes que decirle que redirija todo el tráfico que vaya a internet ( puertos 80, etc) desde cualquier ip a la ip donde tengas escuchand squid.

Suena obvio pero por si las moscas.

saluetes

----------

## Inodoro_Pereyra

iptables -t nat -F tiene que dejar a la LAN sin internet siempre y cuando 169.254.2.1 sea el GW para la misma, aún con el bit ipv4_forward encendido en el kernel.

Las reglas que carga y descarga iptables cuando corre como servicio se guardan en texto plano en /var/lib/iptables/. Las reglas en ejecución se ven con iptables -L o iptables -t <nombre de la tabla> -L.

La única regla que necesitás para darle internet a toda tu lan es la que hace nat:

```
iptables -t nat -A POSTROUTING -o <tu wan> -j MASQUERADE
```

Para que después todo eso pase por el squid que decís tener en el 8080:

```
iptables -t nat -A PREROUTING -i <tu lan> -p tcp --dport 80 -j REDIRECT --to-port 8080
```

Es autoexplicativo, viste? Después de eso, si todo anda bien, ya podés enpezar a tunear todo lo demás. Por las dudas revisalo por que estoy tipeando desde Windows, de memoria y sin ningún Linux a mano ya mismo.

Salud!

----------

## Pablo S. Barrera

Gracias!

----------

