Bienvenido(a) a Alcance Libre 12/09/2025, 03:57
|
![]() |
Índice del foro > Todo acerca de Linux > Redes y Servidores |
![]() ![]() |
![]() |
DaniSpiri |
|
|||||||
![]() ![]() ![]() ![]() ![]() Nuevo Estado: desconectado ![]() Identificado: 15/07/08 Mensajes: 5 |
En busca de ayuda aprovecho en saludar a todos los del foro.
Tengo un servidor CentOS 5.4 con Squid funcionando en modo transparente con una sola interface de red eth0 en una intranet. El esquema de la intranet seria algo así: PHP Formatted Code ---------- ------------------- ---------- ( Internet )----+ Firewall/Router | ( Internet ) ---------- --------+---------- ---------- \ \ ----------+------------ -----+------ | Switch (AVAYA) | | firewall | -+-+-+-+-+-+-+-+-+-+-+- -----+------ / / / / / / / / / / / \ 192.168.a.0/24 --+ / / / / / / / / / / ------+------ / / / / / / / / / / | SrvCorreo | 192.168.b.0/24 --+ / / / / / / / / / ------+------ / / / / / / / | | 192.168.20.212 192.168.c.0/24 --+ / / / / / / | | \ / / / / / / | | ----+----- 192.168.d.0/24 --+ / / / / / | +-- 192.168.20.0/24 --+ switch | / / / / / | ----+----- 192.168.e.0/24 --+ / / / / 10.0.0.0/8 | / / / / | * 192.168.f.0/24 --+ / / / -----+---- / / / | switch | 192.168.g.0/24 --+ / / --+---+--- / / / \ 192.168.h.0/24 --+ / * \ / 10.10.17.2 192.168.i.0/24 --+ ----+---- | Proxy | --------- Cada red está en un edificio diferente. El Firewall/Router y Switch (AVAYA) se encuentran en el mismo edificio de la red 10.0.0.0/8 donde tengo el servidor Proxy. Este proxy solo es para el filtrado de este edificio o sea, para la red 10.0.0.0/8. El Proxy funciona bien, con algunos detalles que pulir y corregir, pero eso lo dejo para otro momento. El problema: quiero reenviar la salida de correos smtp (25) antes de que haga el enmascaramiento para no configurar el relay del servidor SMTP Como es transparente, las reglas para iptables: PHP Formatted Code #!/bin/sh ##Script de Iptables para hacer forward al puerto 80 (HTTP) y mandarlo al squid # Binario Iptables IPTABLES="/sbin/iptables" # Redes RED_LOCAL="10.0.0.0/8" # Interfaces IF_LOC=eth0 # IP's IP_LOC="10.10.17.2" GATEWAY="10.10.15.1" DNS_TIGO_1="200.85.32.2" DNS_TIGO_2="200.85.32.3" IP_SRVCORREO_LAN="192.168.20.212" # Puerto para squid PROXYPORT=3128 #################################### ##### FUNCION 'FLUSH_IPTABLES' ##### #################################### flush_iptables() { echo "Limpiando posibles configuraciones previas..." # # reset the default policies in the filter table. # $IPTABLES -P INPUT ACCEPT $IPTABLES -P FORWARD ACCEPT $IPTABLES -P OUTPUT ACCEPT # # reset the default policies in the nat table. # $IPTABLES -t nat -P PREROUTING ACCEPT $IPTABLES -t nat -P POSTROUTING ACCEPT $IPTABLES -t nat -P OUTPUT ACCEPT # # reset the default policies in the mangle table. # $IPTABLES -t mangle -P PREROUTING ACCEPT $IPTABLES -t mangle -P OUTPUT ACCEPT # # flush all the rules in the filter and nat tables. # $IPTABLES -F $IPTABLES -t nat -F $IPTABLES -t mangle -F # # erase all chains that's not default in filter and nat table. # $IPTABLES -X $IPTABLES -t nat -X $IPTABLES -t mangle -X } # Fin función flush iptables #################################### ##### FUNCION 'START_IPTABLES' ##### #################################### start_iptables() { echo "Configuración existente de interfaces de red:" echo " - Interfaz LAN: $IF_LOC - $IP_LOC" # #RESETEO IPTABLES flush_iptables # #POLITICAS 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 # #OPCIONES DE SYSCTL echo "Configurando las opciones sysctl..." #Habilita el forwarding en el kernel echo 1 > /proc/sys/net/ipv4/ip_forward #Deshabilita ataques de IP Spoofing #echo 2 > /proc/sys/net/ipv4/conf/all/rp_filter #No responde a broadcast dirigidos (Smurf-Amplifier-Protection) #echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts #Bloquea source routing #echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route #Elimina timestamps #echo 0 > /proc/sys/net/ipv4/tcp_timestamps #Habilita SYN Cookies ##echo 1 > /proc/sys/net/ipv4/tcp_syncookies #Elimina redirects ##echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects #Habilita bad error message protection #echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses #Log martians (paquetes con direcciones no validas) #echo 1 > /proc/sys/net/ipv4/conf/all/log_martians #Set out local port range #echo "32768 61000" > /proc/sys/net/ipv4/ip_local_port_range #Reduce la posbilidad de ataques DoS reduciendo timeouts #echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout #echo 2400 > /proc/sys/net/ipv4/tcp_keepalive_time #echo 0 > /proc/sys/net/ipv4/tcp_window_scaling #echo 0 > /proc/sys/net/ipv4/tcp_sack # #REGLAS #Reenvio de paquetes echo Reenvio de paquetes para correo # Regla que falta ### Esto no me funciona #$IPTABLES -t filter -A FORWARD -p tcp -s $RED_LOCAL --dport 25 -j ACCEPT #$IPTABLES -t filter -A FORWARD -p tcp -d $RED_LOCAL --sport 25 -j ACCEPT ### # Redireccionamiento para SQUID echo Redireccionamiento para SQUID $IPTABLES -t nat -A PREROUTING -i $IF_LOC -p tcp --dport 80 -j REDIRECT --to-port $PROXYPORT # NAT $IPTABLES -t nat -A POSTROUTING -o $IF_LOC -j MASQUERADE } # Fin función start_iptables case "$1" in stop) echo "Parando el Firewall... " flush_iptables echo "HECHO" ;; status) echo "" echo "###################" echo "## Tabla: filter ##" echo "###################" $IPTABLES --list echo "" echo "################" echo "## Tabla: nat ##" echo "################" $IPTABLES -t nat --list echo "" echo "###################" echo "## Tabla: mangle ##" echo "###################" $IPTABLES -t mangle --list echo "" ;; restart|reload) $0 stop $2 $0 start $2 ;; start) echo "Arrancando el Firewall... " start_iptables echo "HECHO" ;; *) echo "Modo de uso: $0 (start|stop|restart|status)" exit 1 ;; esac - Redirige del puerto 80 al 3128. Ok! - Hace el enmascaramiento. Ok! Agradecería que me ayudaran un poco con las reglas para iptables para reenviar el correo saliente antes de enmascarar. IP local del Firewall/Router: 10.10.15.1 IP del Proxy: 10.10.17.2 Gateway del Proxy: 10.10.15.1 IP local del Servidor de Correo: 192.168.20.212 De antemano agradezco todo tipo de aportación. |
|||||||
|
||||||||
Joel Barrios Dueñas |
|
|||||||
![]() ![]() ![]() ![]() ![]() Admin ![]() Estado: desconectado ![]() Identificado: 17/02/07 Mensajes: 1761 Localización:Mexico |
En mi opinión, sería más sencillo si configuras autenticación en el servidor de correo (olvidate de usar RELAY).
¿Qué estás utilizando como servidor de correo? |
|||||||
|
||||||||
DaniSpiri |
|
|||||||
![]() ![]() ![]() ![]() ![]() Nuevo Estado: desconectado ![]() Identificado: 15/07/08 Mensajes: 5 |
Hola Joel
El servidor de correo no lo administro yo lastimosamente, esta terciarizado. Pero es un servidor CentOS 5.4 usando sendmail. smtp: 192.168.20.212:25 sin autentificación. El caso es que estas instalaciones, tanto de servidores e infraestructura de red, ya existían antes de mi ingreso a esta institución. Y se me ha encargado la tarea de filtrar internet a todas las redes. Mi idea de momento es tener un proxy por edificio. El proxy es nuevo, hasta ahora el acceso a internet lo hacia mediante el Firewall/Router, un openSUSE con reglas de filtrado por IPs y MAC. El servidor de correo está configurado para recibir correo de las redes 192.168.x.y desde 10.0.1.x hasta 10.0.12.x. Al hacer el enmascaramiento van con IP 10.10.17.2, como no está configurado el servidor de correo para recibir desde esta ip entonces me rechaza, lo mas sencillo seria pedir al administrador de correos que me habilite esta ip, pero me gustaría ver la forma de redirigir antes del enmascaramiento para que el paquete vaya con la ip del cliente. Si estoy un poco confundido perdónenme por favor |
|||||||
|
||||||||
Contenido generado en: 0.16 segundos |
![]() ![]() |
Todas las horas son CST. Hora actual 03:57 . |
|
|