Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/11/2011, 13:55
DEBSDaniel03
 
Fecha de Ingreso: noviembre-2011
Mensajes: 6
Antigüedad: 12 años, 5 meses
Puntos: 0
Pregunta Problemas Iptables + Squid [CentOS]

Hola a todos, tengo un servidor en CentOS, donde está configurado el NameServer, Mail Server y el Proxy Server.

El proxy lo monté con SQUID (no sé si habrá otra opción, pero me ha resutlado), todo ha estado bien. Dicho squid, se encarga de filtrar la salida a internet únicamente a ciertos equipos de adentro de la red, por medio del ip.

Así, el ip que esté en un archivo plano (que le puse permitidos) puede tener acceso a internet full. Hasta el momento todo bien, pero resulta que estoy haciendo una aplicación (ya a lo interno de la empresa) que se comunica a una ip (165.98.145.152) y puertos específicos (50555,4242,4244).

Como se supone que tenía acceso full desde mi pc, comencé el desarrollo, pero me topé que el linux no me dejaba salir a esa ip ni a esos puertos, así que investigando encontré que en el firewall tenía que poner una instrucción.

Código PHP:
# Habilite ruteo.
echo > /proc/sys/net/ipv4/ip_forward

iptables 
-t nat -A POSTROUTING -j MASQUERADE 
Ya con esto, el problema se solucionó, la aplicación se comunica con el servidor externo (en realidad es una especie de webservice, pero bueno, no hay problema). Pero cuando fui a ver algo en una pc (que no tiene acceso a internet), veo que se puede navegar libremente, así que ahí viene mi consulta.

¿Qué tengo que hacer para que el proxy funcione a como ha estado, pero que me permita enviar y recibir respuesta a la ip y puertos antes mencionados.

Mi script de iptables es (ACLARO: NO soy experto en iptables y por eso hago la pregunta, el script lo construí casi sin saber mucho lo que hace, así que no sé qué hacer)

Código PHP:
LAN_IN="eth0"
iptables -F INPUT
iptables 
-F OUTPUT
iptables 
-F FORWARD
iptables 
-F POSTROUTING -t nat
iptables 
-F PREROUTING -t nat
### Set our own simple iptable rules ###
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables 
-A INPUT -p tcp --dport 443 -j ACCEPT
iptables 
-A INPUT -p tcp --dport 53 -j ACCEPT
iptables 
-A INPUT -p udp --dport 53 -j ACCEPT
iptables 
-A INPUT -p tcp --dport 953 -j ACCEPT
iptables 
-A INPUT -p tcp --dport 1080 -j ACCEPT
iptables 
-A INPUT -p tcp --dport 50555 -j ACCEPT
iptables 
-A INPUT -p tcp --dport 4244 -j ACCEPT
iptables 
-A INPUT -p tcp --dport 4242 -j ACCEPT
iptables 
-A INPUT -p udp --dport 50555 -j ACCEPT
iptables 
-A OUTPUT -p tcp --dport 50555 -j ACCEPT
iptables 
-A OUTPUT -p udp --dport 50555 -j ACCEPT
iptables 
-A OUTPUT -p tcp --dport 4242 -j ACCEPT
iptables 
-A OUTPUT -p tcp --dport 4244 -j ACCEPT
iptables 
-A OUTPUT -d 165.98.145.152 -p tcp --dport 50555 -j ACCEPT
iptables 
-A INPUT -d 165.98.145.152 -p tcp --dport 50555 -j ACCEPT


iptables 
-A INPUT -s 127.0.0.1 -p tcp --dport 143 -j ACCEPT
iptables 
-A INPUT -p tcp --dport 4949 -j ACCEPT
iptables 
-A INPUT -p tcp --dport 25 -j ACCEPT
iptables 
-A INPUT -p tcp --dport 110 -j ACCEPT
iptables 
-A INPUT -p tcp --dport 22 -j ACCEPT
iptables 
-A INPUT -p tcp --dport 3128 -j ACCEPT
iptables 
-A INPUT -p udp --dport 161 -j ACCEPT
iptables 
-A INPUT -p tcp --dport 23 -j ACCEPT
iptables 
-A INPUT -p icmp -j ACCEPT
iptables 
-A INPUT -p tcp -m tcp --tcp-flags ACK ACK -j ACCEPT
iptables 
-A INPUT -m state --state ESTABLISHED -j ACCEPT
iptables 
-A INPUT -m state --state RELATED -j ACCEPT
iptables 
-A INPUT -j REJECT
###############################
# unlimited access to LAN
iptables -A INPUT -i $LAN_IN -j ACCEPT
iptables 
-A OUTPUT -o $LAN_IN -j ACCEPT


iptables 
-A FORWARD -i eth0 -o eth1 -j ACCEPT
# Habilite ruteo.
echo > /proc/sys/net/ipv4/ip_forward

iptables 
-t nat -A POSTROUTING -j MASQUERADE