CLIENTES DE CORREO A TRAVEZ DE SQUID

Forums: 

Hola a todos:

Soy un usuario no muy avanzado en linux, pero logré implementar squid, con 2 tarjetas de red eth0 sale hacia internet con ip 152.x.x.x, y eth1 con la ip 192.168.0.1 que es mi red interna.

Todos los usuarios de mi red interna (10 pc) navegan sin problema (configurando en los navegadores la direccion del proxy) y logro filtrar las páginas que deseo, pero mi problema va con los clientes de correo.... no bajan ni envìan correos.

he leido un monton en la net, pero no consigo hacerlo funcionar, agradecerìa enormemente si alguien me ayuda.

al parecer necito configurar ip tables, pero necesito una mano... bueno... las dos...

Gracias, por sus aportes.

haber en primer lugar squid

Imagen de falcom

haber en primer lugar squid es un cache proxy de http, y algo de ftp, nada q ver con imap o pop3, seguramente tienes mal declarado el puerto 443 en tu squid.conf
coloca las lineas respectivas de tu script de squid y de tu firewall para darte un hilo

correos con squid

Imagen de richard007

Claro squid solo te sirve para hacer cache es decir hacer mas rapido tu acceso a internet y para bloquear algunos accesos ahora para lo de los correos es muy raro que no puedas enviar ni recibir si es q no has implementado un firewall en todo caso abre los puertos correspondientes a SMTP 25, IMAP 143, POP3 110,,... y si necesitas una ayuda sobre iptables aqui tienes algo q te puede servir...

http://www.pello.info/filez/firewall/iptables.html

te dejo un script simple haber si te sirve

#!/bin/sh
## SCRIPT FIREWALL PARA UNA LAN CON PROXY TRANSPARENTE ##

######VARIABLES
PRIVATE=172.16.0.0/16
LOOP=127.0.0.1

########

## Borrado de reglas
iptables -F
iptables -X
iptables -Z
iptables -t nat -F

#### Reglas para encontrar puertos dinamicos de escucha FTP ####
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
#### Estan fueron las reglas para habilitar Connection Tracking ####

## Establecemos politica por defecto
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT

## Nota: eth0 es el interfaz que nos da salida a internet (conectado al router) y eth0:1 a la LAN

## Empezamos a filtrar
# El localhost se deja (por ejemplo conexiones locales a mysql)
iptables -A INPUT -i lo -j ACCEPT

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to 172.16.1.5:3128
# Hacemos enmascaramiento de la red local (NATEO)
iptables -t nat -A POSTROUTING -s 172.16.1.0/16 -o eth0 -j MASQUERADE

#Activamos el BIT DE FORWARDING
#Con esto permitimos hacer forward de paquetes en el firewall, o sea
# que otras máquinas puedan salir a traves del firewall.
echo 1 > /proc/sys/net/ipv4/ip_forward

############ AQUI EMPEZAMOS REGLAS FIREWALL A LAN Y EXTERIOR #########
############ REGLAS DE FIREWALL A LAN Y EXTERIOR ####################

# A nuestra IP le dejamos acceder a sitios web de internet:
iptables -A OUTPUT -s 192.168.1.1 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -d 192.168.1.1 -p tcp --sport 80 -j ACCEPT

# A nuestra IP le dejamos acceder a sitios web de internet:
iptables -A OUTPUT -s 192.168.1.1 -p udp --dport 53 -j ACCEPT
iptables -A INPUT -d 192.168.1.1 -p udp --sport 53 -j ACCEPT

# A nuestra IP le dejamos acceder a sitios https de internet:

iptables -A OUTPUT -s 192.168.1.1 -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -d 192.168.1.1 -p tcp --sport 443 -j ACCEPT

# A nuestra IP le dejamos acceder a sitios ftp:
iptables -A OUTPUT -s 192.168.1.1 -p tcp --dport 20:21 -j ACCEPT
iptables -A INPUT -d 192.168.1.1 -p tcp --sport 20:21 -j ACCEPT

### correo smtp, imap, pop 3 x si los necesitas

#iptables -A OUTPUT -s 192.168.1.1 -p tcp --dport 25 -j ACCEPT
#iptables -A INPUT -d 192.168.1.1 -p tcp --sport 25 -j ACCEPT

iptables -A OUTPUT -s 192.168.1.1 -p tcp --dport 143 -j ACCEPT
iptables -A INPUT -d 192.168.1.1 -p tcp --sport 143 -j ACCEPT

iptables -A OUTPUT -s 192.168.1.1 -p tcp --dport 110 -j ACCEPT
iptables -A INPUT -d 192.168.1.1 -p tcp --sport 110 -j ACCEPT

#Denegamos que hagan ping a mi pc
#iptables -A OUTPUT -p icmp -j DROP
#iptables -A INPUT -p icmp -j DROP

#########3 Como no accederemos a otros sitios más, denegamos el acceso a otros puertos:
iptables -A OUTPUT -s 192.168.1.1 -p tcp --dport 1:65535 -j DROP
iptables -A INPUT -d 192.168.1.1 -p tcp --sport 1:65535 -j DROP
iptables -A OUTPUT -s 192.168.1.1 -p udp --dport 1:65535 -j DROP
iptables -A INPUT -d 192.168.1.1 -p udp --sport 1:65535 -j DROP
########### Aquí acaba lo referente de FIREWALL - EXTERIOR ##########

###############################

######## AHORA DE LA LAN AL EXTERIOR #############################
###################### REGLAS LAN - EXTERIOR ######################

###########################

# A la LAN le dejamos acceder a sitios web de internet:

iptables -A FORWARD -s 172.16.1.0/16 -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -d 172.16.1.0/16 -p tcp --sport 80 -j ACCEPT

iptables -A FORWARD -s 172.16.1.0/16 -p tcp --dport 443 -j ACCEPT
iptables -A FORWARD -d 172.16.1.0/16 -p tcp --sport 443 -j ACCEPT

iptables -A FORWARD -s 172.16.1.0/16 -p udp --dport 53 -j ACCEPT
iptables -A FORWARD -d 172.16.1.0/16 -p udp --sport 53 -j ACCEPT

iptables -A FORWARD -s 172.16.1.0/16 -p tcp --dport 20:21 -j ACCEPT
iptables -A FORWARD -d 172.16.1.0/16 -p tcp --sport 20:21 -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

##################################
# Como no accederemos a otros sitios más, denegamos el acceso a otros puertos:
iptables -A FORWARD -s 172.16.0.0/16 -p tcp --dport 1:65535 -j DROP
iptables -A FORWARD -d 172.16.0.0/16 -p tcp --sport 1:65535 -j DROP
iptables -A FORWARD -s 172.16.0.0/16 -p udp --dport 1:65535 -j DROP
iptables -A FORWARD -d 172.16.0.0/16 -p udp --sport 1:65535 -j DROP

cualkier cosa respondes por este medio y avisa sobre tu avance.....exitos

------richard007----------------

---------richard007-----------
Red Hat Certified Technician
Linux Registered User # 493753
RedLinux SRL www.redlinux.com.pe
www.colisol.org

ya había probado algo de

ya había probado algo de iptables, abriendo los puertos 25 y 110 y no funca, pero no había configurado el puerto 143.

este es el script que tengo en iptables

#!/bin/sh

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8$
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P INPUT ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables --table nat --append POSTROUTING --out-interface eth1 -j MASQUERADE
iptables --append FORWARD --in-interface eth0 -j ACCEPT
iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 25 -j ACCEPT
iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 110 -j ACCEPT
iptables -A FORWARD -s 152.x.0.0/24 -i eth0 -p tcp --dport 25 -j ACCEPT #la 152.x.x es mi eth 0 a internet
iptables -A FORWARD -s 152.x.10.0/24 -i eth0 -p udp --dport 110 -j ACCEPT # el penúltimo octeto(10), lo puso pq
así lo vi en alguna página no se si
estará bien
iptables -F
iptables -X
iptables -Z
iptables -t nat -F
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -p tcp --dport 25 -j ACCEPT
iptables -A FORWARD -p tcp --sport 25 -j ACCEPT
iptables -A FORWARD -p tcp --dport 110 -j ACCEPT
iptables -A FORWARD -p tcp --sport 110 -j ACCEPT

alguna idea de mi falla???, gracias, por vuestra ayuda....

Quedo atento a cualquier aporte.

gracias.

esta mal el flush de reglas

Imagen de falcom

esta mal el flush de reglas siempre va primero

iptables -F
iptables -X
iptables -Z

aca a donde estas redireccionando ?

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8$

y el pto que te decia q lo declares es squid e iptables es el 443 no 143 (es el https)
mejor checa en los links de pello.info que te pasaron!

sorry, corrijo esta

sorry, corrijo esta linea

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

a ese puerto tengo configurado el squid.

hoy no estoy en la oficina que es donde tengo el problema, el lunes voya probar el script que me indicaron arriba, espero pueda lograrlo ya que llevo una semana tratando de resolver mi problema y estoy loco con las quejas de mis jefes....

gracias, toda ayuda es bienvenida.

Con relación al script de ejemplo

en relación al script dado por richard0000 tengo unas dudas si fueran tan amable de esclarecer.

mi eth0 es 152.74.x.x y es la que sale a internet
y mi eth1 es 192.168.1.1 y es la que conecto a los clientes y les doy internet con squid.

En el script que me diste de ejemplo, cual tendría que reeplazar???,

## Empezamos a filtrar

esta ip la reemplazo por mi que sale a internet?
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to 172.16.1.5:3128
# Hacemos enmascaramiento de la red local (NATEO)
iptables -t nat -A POSTROUTING -s 172.16.1.0/16 -o eth0 -j MASQUERADE

# A nuestra IP le dejamos acceder a sitios web de internet:

aqui debería poner mi ip que sale a los clientes?
iptables -A OUTPUT -s 192.168.1.1 -p tcp --dport 80 -j ACCEPT

Por último, la sintaxis para mi ip que sale a internet (152.74.x.x/Z) la Z que numero debería ser?.

Gracias por su gran aporte, estoy complicado y necsito una mano.

espero su pronta respuesta.

pana esta ip la reemplazo por

Imagen de falcom

pana

esta ip la reemplazo por mi que sale a internet?
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to 172.16.1.5:3128
# Hacemos enmascaramiento de la red local (NATEO)
iptables -t nat -A POSTROUTING -s 172.16.1.0/16 -o eth0 -j MASQUERADE

en las dos colocas la ip interna o clase C q tu tienes la 192.168.1.1
aca

# A nuestra IP le dejamos acceder a sitios web de internet:

aqui debería poner mi ip que sale a los clientes?
iptables -A OUTPUT -s 192.168.1.1 -p tcp --dport 80 -j ACCEPT

aca mejor cambiale asi


iptables -A INPUT -s 192.168.0.1 -j ACCEPT
iptables -A OUTPUT -d 192.168.0.1 -j ACCEPT

es suponiedo q es tu ip y sirve para q tengas acceso a tu proxy sino tu mismo te bloqueas!
por ultimo

Por último, la sintaxis para mi ip que sale a internet (152.74.x.x/Z) la Z que numero debería ser?.

esa es la ip q te da el proveedor dile que te de la mascara y colocasela.. es todo

Gracias: aca mejor cambiale

Gracias:

aca mejor cambiale asi

iptables -A INPUT -s 192.168.0.1 -j ACCEPT
iptables -A OUTPUT -d 192.168.0.1 -j ACCEPT
es suponiedo q es tu ip y sirve para q tengas acceso a tu proxy sino tu mismo te bloqueas!
en la 192.168.0.1 (debo poner la dirección de la eth0?, con la que tengo acceso a internet?, en mi caso 152.74.x.x?

por ultimo

Por último, la sintaxis para mi ip que sale a internet (152.74.x.x/Z) la Z que numero debería ser?.
esa es la ip q te da el proveedor dile que te de la mascara y colocasela.. es todo

ok, mi mascara es 255.255.252.0, pero cuando lo escribo en el formato de arriba, como seria?.

Gracias por la pronta respuesta y el tiempo invertido.

Páginas