Tema:
Buenas con Todos
soy nuevo administrando servicios en linux, tengo un problema se ha desarrollado una aplicacion java con mysql. La base de datos esta en un servidor Centos 5.1 tengo problemas para que los usuarios puedan acceder a la aplicacion desde la red local, si me pueden echar una mano les quedo agradecido adjutno el script de mi firewall de este servidor para que me ayuden. Gracias
#################### SCRIPT IPTABLES FIREWALL #######################
echo "Detenemos el servicio del Firewall..."
/sbin/service iptables stop
echo "Aplicando Reglas del Firewall..."
#Flush de Reglas
iptables -F
iptables -X
iptables -Z
iptables -t nat -F
#Cargamos los Modulos Principales del Firewall
#echo "Cargamos los Modulos Principales del Kernel"
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_tables
/sbin/modprobe iptable_filter
/sbin/modprobe ip_nat_irc
/sbin/modprobe ip_conntrack_irc
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp
/sbin/modprobe iptable_nat
#Reglas de Seguridad Elementales
echo "Aplicando Reglas de Seguridad Elementales"
#Quitamos los ping
/bin/echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
#No respondemos a los Broadcast
/bin/echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
#Otros
/bin/echo 1 > /proc/sys/net/ipv4/tcp_syncookies
/bin/echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
#El IP Forwarding
/bin/echo 1 > /proc/sys/net/ipv4/ip_forward
#Para usuarios con IP Dinamica
/bin/echo 1 > /proc/sys/net/ipv4/ip_dynaddr
#Politicas por Defecto - ACCEPT/DROP
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
#Establecimiento de Politicas por defecto
# Permitimos acceso desde la propia máquina
iptables -A INPUT -i lo -j ACCEPT
#Abrir el puerto 22 del SSH para la administracion interna
iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 22 -j ACCEPT && echo "Regla SSH...Ok"
#abrir puerto 8080 para el apache tomcat
iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 8080 -j ACCEPT && echo "Regla Tomcat...Ok"
#Abrimos el puerto 3306 del MySQL para nuestra red Interna
iptables -A INPUT -s 192.168.1.0/0 -p tcp --dport 3306 -j ACCEPT && echo "Regla MySQL...Ok"
#Cerramos purtos del rango conocido
iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 0:1024 -j DROP && echo "Puertos TCP Conocidos Cerrados...Ok"
iptables -A INPUT -s 0.0.0.0/0 -p udp --dport 0:1024 -j DROP && echo "Puertos UDP Conocidos Cerrados...Ok"
#Cerramos todos los puertos innecesarios
iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 1025:65535 -j DROP && echo "Puertos TCP Innecesarios Cerrados...Ok"
iptables -A INPUT -s 0.0.0.0/0 -p udp --dport 1025:65535 -j DROP && echo "Puertos UDP Innecesarios Cerrados...Ok"
#Reiniciamos el Firewall
echo "Reiniciamos el Firewall"
/sbin/service iptables restart
echo "Firewall Generado Correctamente"
echo "Verifique las Reglas con: iptables -L -n"
#Fin del Script
El problema es que no se puede conectar al puerto 3306 del MySQL
ni desde la aplicacion ni haciendo telnet desde windows
De antemano Gracias por la ayuda
Saludos
Andrés
Comentarios
¿Y la configuración de mysql?
¿Y la configuración de mysql? Si mal no recuerdo, mysql por default no acepta conexiones de red sino que solamente escucha en un socket local inaccesible desde fuera. ¿Qué resultado te da 'netstat -nta' en el CentOS? ¿Está corriendo el servicio de mysql (puedes conectarte aunque sea dentro del mismo servidor? ¿Si tumbas el firewall pueden conectarse los clientes?
MySQL por defecto acepta
MySQL por defecto acepta conecciones del localhost, para permitir las conecciones desde otros hosts debes modificar los privilegios y permitir conecciones desde cualquier host o desde host específicos.
Puedes confirmar esto haciendo un:
netstat -an | grep 3306
Si obtienes como respuesta esto:
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
Es porque MySQL esta aceptando solo conecciones desde el localhost.
-----
Visita este [url=http://www.sindominio.net/ayuda/preguntas-inteligentes.html]link[/url] :evil:
[img]http://www.bbspot.com/Images/News_Features/2003/01/os_quiz/debian.jpg[/img]
(adsbygoogle = window.adsbygoogle || []).push({});
Problema MySQL Iptables
He realizado la revision sugerida, y me ha dado el siguiente resultado:
[server]#netstat -an | grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
de lo que entiendo es que si esta aceptando conexiones de toda la red. y respondiendo otras dudas cuando hago un iptables -F todo el mundo se puede conectar sin ningun inconveniente, el servicio del mysql se esta ejecutando correctmente:
[server]# service mysql status
MySQL running (28040) [ OK ]
y realizando la conexion en el mismo servidor con el firewall arriba si me permite conectarme pero si ejecuto el firewall me rechaza la conexion hacia el mysql. Aun persiste mi problema que mas puedo chequear para que esta configuracion funcione correctamente?
De nuevo gracias por sus respuestas y su tiempo..
Andres
Puedes publicar el error que
Puedes publicar el error que te da cuando quieres conectar ...???
Mira que dice el log de mysql ...
bye
;)
El problema está que tienes
El problema está que tienes una política de OUTPUT en DROP, y no tienes ninguna regla que permita la salida de paquetes de los servicios que quieres correr. Por eso la conexión tcp no se establece. No solamente mysql va a tener el problema, sino ssh y tomcat también. Con algo como 'iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT' puedes llegar a una solución.
Entonces el lio esta en el
Entonces el lio esta en el firewall.
Agrega las siguientes líneas y dinos si funciona:
iptables -I INPUT -d 0/0 -p tcp --dport 3306 -j ACCEPT
iptables -I INPUT -d 0/0 -p udp --dport 3306 -j ACCEPT
iptables -I OUTPUT -s 0/0 -p tcp --dport 3306 -j ACCEPT
iptables -I OUTPUT -s 0/0 -p udp --dport 3306 -j ACCEPT
-----
Visita este [url=http://www.sindominio.net/ayuda/preguntas-inteligentes.html]link[/url] :evil:
[img]http://www.bbspot.com/Images/News_Features/2003/01/os_quiz/debian.jpg[/img]
(adsbygoogle = window.adsbygoogle || []).push({});
Resuelto
efectivamente era con la salida de paquetes en la regla output que estaba dando el problema... ya esta solucionado mi problema, muchas gracias por sus comentarios sugerencias
Saludos
Andres :)
problema com phpmyadmin puerto 3306
El problema es el siguiente: Utilizo el sistema opearativo windows7 32 bit. y e instalado el paquete de servidores vertrigo, pero solo me esta corriendo el apache, y el mySQLserver no esta corriendo y no puedo iniciar phpMyAdmin devido a eso. El servidor coloca un icono azul y dice lo siguiente (MySQL database server does not work correctly. Check whether other aplications use the important port(3306)). se que el puerto esta siendo utilizado por otra aplicación pero no se cual es, ni tampoco como solucionarlo? por favor le pido ayuda a cualquiera que pueda ayudarme? Se lo agradeceria mucho si me ayudan!!!
cambiate a linux mi pana....
cambiate a linux mi pana....