Bienvenido(a) a Alcance Libre 08/06/2023, 03:34

Alcance Libre Foros

 Índice del foro > Todo acerca de Linux > Redes y Servidores New Topic Post Reply
 Duda en iptables
Tópico anterior Tópico siguiente
   
pozolero
 12/07/11 01:14PM (Leído 1,388 veces)  

Nuevo
sad

Estado: desconectado
Forum User

Identificado: 07/06/11
Mensajes: 14
Que tal a todos en el foro, de nuevo aqui molestando con una consulta en iptables.

Tengo este script:

PHP Formatted Code
# IP del servidor squid
SQUID_SERVER="172.16.0.1"
# Interface conectada a internet
INTERNET="eth0"
# Interface conectada a la LAN
LAN_IN="eth1"
# puerto Squid
SQUID_PORT="3128"

# Limpiar reglas iptables anteriores
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X

# Cargar modulos IPTABLES para soporte NAT e IP conntrack
modprobe ip_conntrack
modprobe ip_conntrack_ftp

# Para cliente ftp en windows xp

# modprobe ip_nat_ftp
echo 1 > /proc/sys/net/ipv4/ip_forward

# Bloquear todos los puertos a red dinamica
iptables -A FORWARD -m iprange --src-range 172.16.9.1-172.16.9.254 -d 0.0.0.0 -j REJECT

# Bloqueo de MSN messenger a todos
iptables -A FORWARD -p tcp --dport 1863 -j REJECT
iptables -A INPUT -p tcp --dport 1863 -j REJECT

# Dar acceso al puerto 443 para un rango de red a gmail
iptables -A FORWARD -p tcp --dport 443 -m iprange --src-range 172.16.5.1-172.16.5.254 --dst-range 74.125.0.0-74.125.255.255 -j ACCEPT

# DE AHI CIERRO EL PUERTO 443 PARA TODO ESE RANGO DE RED
iptables -A FORWARD -p tcp --dport 443 -m iprange --src-range 172.16.5.1-172.16.5.254 -j REJECT

# Estableciendo politicas por defecto
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT

# Acceso ilimitado a lo
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

# permitir UDP, DNS y FTP pasivo
iptables -A INPUT -i $INTERNET -m state --state ESTABLISHED,RELATED -j ACCEPT

# Dejar el servidor como dns para el  resto de la LAN
iptables --table nat --append POSTROUTING --out-interface $INTERNET -j MASQUERADE
iptables --append FORWARD --in-interface $LAN_IN -j ACCEPT

# Acceso ilimitado a la LAN
iptables -A INPUT -i $LAN_IN -j ACCEPT
iptables -A OUTPUT -o $LAN_IN -j ACCEPT

# DNAT al puerto 80 viniendo de sistemas en la LAN al puerto squid 3128 ($SQUID_PORT) o proxy transparente
iptables -t nat -A PREROUTING -i $LAN_IN -p tcp --dport 80 -j DNAT --to $SQUID_SERVER:$SQUID_PORT
iptables -t nat -A PREROUTING -i $LAN_IN -p tcp --dport 8080 -j DNAT --to $SQUID_SERVER:$SQUID_PORT

# Si se encuentra en la misma red
iptables -t nat -A PREROUTING -i $INTERNET -p tcp --dport 80 -j REDIRECT --to-port $SQUID_PORT

# DROP para todo y hacer log
iptables -A INPUT -j LOG
iptables -A INPUT -j DROP
 


Ahora vienen mis dudas:

1.- Que errores de sintaxis en cuanto permisos tiene este script? Les comento que está activo y no tengo problemas para navegar y bloquea el puerto 443 muy bien. O sea cumple su cometido. Pero puede tener errores para con la red.

2.- Dentro de mi red tengo un rango de red 172.16.9.1 - 172.16.9.254 de manera automatica, es decir por dhcp a los que quiero que tengan todo cerrado, que no tengan salida a nada. No encuentro una regla para iptables en la cual me cierre solo ese rango de red. Alguna ayuda?

Yo estoy probando con esto:
PHP Formatted Code
iptables -A FORWARD -m iprange --src-range 172.16.9.1-172.16.9.254 -d 0.0.0.0 -j REJECT
Pero los usuarios de ese rango pueden navegar libremente, salvo los sitios que tengo en squid, a esos sitios no les permite acceso...

Espero me haya explicado correctamente y puedan darme alguna luz al respecto.

Ya me eche algunos manuales sobre iptables, pero no doy con la solucion o no la estoy viendo...

Saludos a todos y gracias
 
Profile Email
 Quote
moy
 12/08/11 11:47AM  

Miembro Activo

Estado: desconectado
Forum User

Identificado: 11/29/08
Mensajes: 263
Segun lo que veo lo que tienes que hace es una regla antes de estas


# DNAT al puerto 80 viniendo de sistemas en la LAN al puerto squid 3128 ($SQUID_PORT) o proxy transparente
iptables -t nat -A PREROUTING -i $LAN_IN -p tcp --dport 80 -j DNAT --to $SQUID_SERVER:$SQUID_PORT
iptables -t nat -A PREROUTING -i $LAN_IN -p tcp --dport 8080 -j DNAT --to $SQUID_SERVER:$SQUID_PORT

# Si se encuentra en la misma red
iptables -t nat -A PREROUTING -i $INTERNET -p tcp --dport 80 -j REDIRECT --to-port $SQUID_PORT

porque cuando viene de alguna de las redes que quieres tapar la rediriges al squid entonces se pierde el control por iptables pon una que cuando venga de esas redes no la redirija al puerto del squid

iptables -t nat -A PREROUTING -i $LAN_IN -s ! 172.16.9.0/24 -p tcp --dport 80 -j DNAT --to $SQUID_SERVER:$SQUID_PORT

o

iptables -t nat -A PREROUTING -i $LAN_IN -s 172.16.9.0/24 -p tcp --dport 80 -j REJECT


algo asi para que mande todo al squid menos lo que venga de esa red y no naveguen. porque el problema radica en que mandas todo al squid o en el squid poner una regla para que esas ips no naveguen tambien podrias hacerlo asi.
 
Profile Email
 Quote
pozolero
 12/08/11 09:37PM  

Nuevo

Estado: desconectado
Forum User

Identificado: 07/06/11
Mensajes: 14
Quote by: moy

Segun lo que veo lo que tienes que hace es una regla antes de estas



Muchas gracias por contestar y aclararme las dudas, voy a probar y mañana comento como me fue...

Saludos
 
Profile Email
 Quote
Contenido generado en: 0.30 segundos New Topic Post Reply
 Todas las horas son CST. Hora actual 03:34 AM.
Tópico normal Tópico normal
Tópico Pegado Tópico Pegado
Tópico bloqueado Tópico bloqueado
Mensaje Nuevo Mensaje Nuevo
Tópico pegado con nuevo mensaje Tópico pegado con nuevo mensaje
Tópico bloqueado con nuevo mensaje Tópico bloqueado con nuevo mensaje
Ver mensajes anónimos 
Los usuarios anónimos pueden enviar 
Se permite HTML Filtrado 
Contenido censurado