Servidor Centos con problemas de reglas y puertos

Forums: 

hola amigos:

quisiera volver a consultar con uds sobre un tema que es muy sencillo,
pero que no estoy pudiendo resolver a lo mejor lo estoy realizando mal o tendría que hacer algo mas avanzado que escapa de mi conocimiento,
necesito abrir algunos puertos en mi servidor centOS y le dí estos parametros:

service iptables stop

iptables -A iNPUT -p tcp --dport xxxx -j ACCEPT

service iptables start
reboot

y no funcionó, otra funcion que probé fue:
------------------------------------------------------------------------------------------------------------------------
Abrí el archivo de iptables
nano /etc/sysconfig/iptables
Edité
[0:0] -A RH-Firewall-1-INPUT -p tcp --dport xxxx -j ACCEPT
Guardo el archivo con CRTL + O y lo cierro con CTRL + X
Reinicio el servicio con service iptables restart

y al terminar me sale que la regla de firewall (FALLA.)

decis que reescribir todas las reglas de nuevo sea una de las soluciones?

unos de los problemas es que este es el servidor de red y actua como firewall no puedo estar reiniciando cada 10 minutos ,
porque la empresa no puede parar,
los puertos que deseo abrir son: 3306 mysql - 1080 macmessenger.

en realidad me seria util poder tener la posibilidad de cerrar o abrir cualquier puerto según sea necesario.

Luego al entrar al setup me sale habilitado [] deshabilitado [*]

luego click en personalizar:

spositivos confiables: [ ] eth1 [ ] eth0

spositivos de Enmascaramiento: [ ] eth1 [ ] eth0

[*] SSH [*] Telnet [*] FTP
rmitir la entrada: [*] WWW (HTTP) [*] Samba [*] Correo (SMT
[*] WWW Seguro (HTTPS) [*] NFS4
Otros puertos : mysql:tcp mysql:udp socks:tcp socks:udp y algunos otros

de igual manera no me da resultados, porque el error del macmessenger y el error del sistema en mysql,
es que no encuentran la salida por el servidor en sus puertos.

tambien instale el mysql y el php por si eso fuere algun requisito e inconveniente:
ejemplo:

yum -y install httpd php php-devel
yum -y install php-mysql mysql mysql-server
yum -y install mysql mysql-server mysql-devel

chkconfig --levels 235 httpd on
/sbin/chkconfig --levels 235 mysqld on
/etc/init.d/mysqld start
/etc/init.d/httpd start

y al final le di el parametro:

iptables -A INPUT -p tcp -i eth0 --dport 3306 -j ACCEPT
iptables -A INPUT -p tcp -i eth1 --dport 3306 -j ACCEPT
iptables -A INPUT -p tcp -i eth0 --dport 1080 -j ACCEPT
iptables -A INPUT -p tcp -i eth1 --dport 1080 -j ACCEPT

service iptables restart

puedo ver que estos puertos estan abiertos ya...
a travez del iptables -L -n, pero al reiniciar la maquina estos puertos quedan cerrados de vuelta,
y el error de conexion que da el sistema con database mysql es con respecto a direcciones dianamicas.

amigos la solucion seria volver a reescribir mis reglas de iptables?

este es el scripts que se aplica en mi servidor.

# generando las reglas
*ptables-save v1.3.5 on Thu Feb 18 17:44:35 2010
*nat
:PREROUTING ACCEPT [35550:1876300]
:POSTROUTING ACCEPT [50771:3853878]
:OUTPUT ACCEPT [50771:3853878]
-A POSTROUTING -s 192.168.0.0/255.255.255.0 -o eth0 -j MASQUERADE
COMMIT
# Completed on Thu Feb 18 17:44:35 2010
# Generated by iptables-save v1.3.5 on Thu Feb 18 17:44:35 2010
*filter
:INPUT ACCEPT [33840:5663913]
:FORWARD ACCEPT [677511:752029603]
:OUTPUT ACCEPT [71515:34019069]
-A INPUT -i lo -j ACCEPT
-A INPUT -s 192.168.0.0/255.255.255.0 -i eth1 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 110 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -p udp -m udp --dport 3306 -j ACCEPT
-A INPUT -p udp -m tcp --dport 1080 -j ACCEPT
-A INPUT -p udp -m tcp --dport 3306 -j ACCEPT
-A INPUT -p udp -m udp --dport 1080 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 1:1024 -j DROP
-A INPUT -p udp -m udp --dport 1:1024 -j DROP
-A INPUT -p tcp -m tcp --dport 10000 -j DROP
-A INPUT -i lo -j ACCEPT
-A INPUT -i etho -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A FORWARD -s 192.168.0.0/255.255.255.0 -i eth1 -p tcp -m tcp --dport 80 -j ACCEPT
-A FORWARD -s 192.168.0.0/255.255.255.0 -i eth1 -p tcp -m tcp --dport 3306 -j ACCEPT
-A FORWARD -s 192.168.0.0/255.255.255.0 -i eth1 -p tcp -m tcp --dport 1080 -j ACCEPT
-A FORWARD -s 192.168.0.0/255.255.255.0 -i eth1 -p tcp -m tcp --dport 995 -j ACCEPT
-A FORWARD -s 192.168.0.0/255.255.255.0 -i eth1 -p tcp -m tcp --dport 587 -j ACCEPT
-A FORWARD -s 192.168.0.0/255.255.255.0 -i eth1 -p tcp -m tcp --dport 443 -j ACCEPT
-A FORWARD -s 192.168.0.0/255.255.255.0 -i eth1 -p tcp -m tcp --dport 53 -j ACCEPT
-A FORWARD -s 192.168.0.0/255.255.255.0 -i eth1 -p udp -m udp --dport 53 -j ACCEPT
-A FORWARD -s 192.168.0.0/255.255.255.0 -i eth1 -j DROP
COMMIT
# Completed on Thu Feb 18 17:44:35 2010
na
:PREROUTING ACCEPT [35550:1876300]

ejemplo 2 ( esto podria hacer tambien )

#!/bin/sh
echo -n Aplicando Reglas de Firewall...

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

## 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

#ACCES WEB DESDE FUERA
#iptables -A INPUT -p tcp --dport 80 -j ACCEPT
#iptables -A INPUT -p tcp --dport 20:22 -j ACCEPT
#iptables -A INPUT -p tcp --dport 3306 -j ACCEPT

iptables -A INPUT -p tcp -i eth0 --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -i eth0 --dport 20:22 -j ACCEPT
iptables -A INPUT -p tcp -i eth0 --dport 3306 -j ACCEPT

#iptables -A INPUT -p all -i eth0 -j DROP

echo " PUERTOS ABIERTO CORRECTAMENTE"

# Ahora hacemos enmascaramiento de la red local
# y activamos el BIT DE FORWARDING (imprescindible!!!!!)
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 -j MASQUERADE

# 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

# Cerramos el rango de puerto bien conocido
iptables -A INPUT -s 0.0.0.0/0 -i eth0 -p tcp --dport 1:1024 -j DROP
iptables -A INPUT -s 0.0.0.0/0 -i eth0 -p udp --dport 1:1024 -j DROP

# Cerramos un puerto de gestión: webmin
#iptables -A INPUT -s 0.0.0.0/0 -i eth0 -p tcp --dport 10000 -j DROP

# Y cerramos el puerto del servicio PPTPD, solo abierto para el jefe.
iptables -A INPUT -s 0.0.0.0/0 -i eth0 -p tcp --dport 1723 -j DROP

echo " OK . Verifique que lo que se aplica con: iptables -L -n"
# Fin del script

Amigos cual les parece que es lo mas conveniente,sabiendo que es un servidor empresarial con mas de 50 usuarios y siendo este servidor de webmail e internet.

Gracias por todo

:?

yo diría que instales

Imagen de deathUser

yo diría que instales arnos-iptables-firewall, EPE creo un COMO para eso

http://www.ecualug.org/2009/01/10/comos/%C2%BFc%C3%B3mo_compartir_la_conexi%C3%B3n_de_internet_con_mi_centos

es mejor opción ...

bye
;)

PD: en el script realizado con iptables-save puedes ver un error al abrir el puerto 3306, lo abres como udp, y debe ser tcp para mysql.

Respuesta

Imagen de miguelbaum

Entonces crees que la solucion sería volver a escribir mis reglas de iptables colocando los puertos 3306 y 1080 solo para tcp, viendo que los demas estan correctos?

reglas iptables

Imagen de miguelbaum

hola deathuser:

te comento que borre todas las reglas y las volvi a escribir de vuelta fue algo sencillo como el ejemplo 2 que deje mas arriba y no me funciono nada. ni internet, ni red nada!, pero entonces volvi a aplicar el sh iptables.save que era un script que por cierto es el ejemplo 1 de arriba y volvio todo a la normalidad en el sentido de que me funcionaba internet, correo y red pero sigo con los mismos problemas con los puertos.

tambien aplique lo que me dejaste o sea el arno-iptables-firewall y cambie todo lo que solicitaba para su instalacion y configuracion, y me dio un error sobre MAC era asi como
cannot read folder browes to /etc/.. no me acuerdo bien la direccion pero era algo asi como que no encontraba un archivo de mac o todo lo referente a mac y esto es interesante porque mis algunas maquinas con macmessenger no se conectan al puerto 1080 en mi servidor y pero todas las demas funciones para la mac le funcionan, safari, inbox skype y todas esas cosas, que me recomiendas?

otra opcion

Imagen de miguelbaum

despues de ir leyendo varios post y releer el manual de iptables quisiera considerar esto:
sabiendo que mi servidor linux centos 5 proxy y que con las reglas del iptables.save funcionan de en teoria bien porque sigo sin poder hacer funcionar el macmessenger con puerto 1080 con el siguiente error: servidor no encontrado posiblemente no este conectado a internet y bd mysql con el puerto 3306 y de no conectarse para actualizar al exterior segun el error no puede conectarse con xxxxxx.com siendo esta una direccion dinamica.

entonces para probar deje abierto todo a esa pc, creyendo que así solucionaria todo o surgiría otro error y segui estos comandos:

iptables -A INPUT -s xxx.xxx.xxx.xxx -j ACCEPT
iptables -A OUTPU -s xxx.xxx.xxx.xxx -j ACCEPT

y de igual modo si bien aparecen abiertos los puertos mas arriba mencionados pero no por esta accion, no logro que funcione ni el macmessenger ni el mysql.

Que estoy haciendo mal?

A ver si entiendo bien... El

Imagen de deathUser

A ver si entiendo bien...

El servidor al cual se quieren conectar está fuera de tu red, o desde fuera de tu red se quieren conectar a un servidor mysql que está dentro de tu red, explícame eso mejor ...

bye
;)

Te explico

Imagen de miguelbaum

ok te explico:

mi servidor: es un centos 5 proxy instalado como desktop

mysql: tenemos un sitema contable con bd mysql a la hora de acutalizarse y/o conectarse a un servidor externo da error
(la conexion es desde mi red/internet a una externa argentina, uruguay, belgica)

macmessenger: en mi red existe unas mac que les funcionaba el macmessenger ahora no, porque da error de servidor no encontrado o internet no esta conectado.

Gracias

Saludos, yo lo hago de esta

Imagen de robecarlsiro

Saludos, yo lo hago de esta manera para que guarde los ultimos cambios,
edito directamente este archivo.


vim /etc/sysconfig/iptables

Luego para que se guarden y no se pierdan los cambios al reiniciar

iptables-save

y ahora si reinicio el servicio


service iptables restart

Saludos

Roberto