Soy nuevo en servidores e iptables. Tengo una aplicación web (resulta ser bugzilla) ejecutándose en mi servidor Centos 6.7 apache/httpd e intenta conectarse a la web (updates.bugzilla.org) a través del puerto 80. También intenta conectarse (a smtp .gmail.com) utilizando el puerto 465. Sin embargo, no puede. Esto a pesar de tener una política de salida predeterminada de ACEPTAR y haber abierto los puertos relevantes para la entrada.
No estoy seguro de adónde ir desde aquí. ¿Dónde debería buscar para comenzar a solucionar este problema? ¿Cuáles son los posibles culpables?
Algunos resultados:
$ estado del servicio iptables
Tabla: filtro
ENTRADA de cadena (política ACEPTAR)
núm objetivo prot opt fuente destino
1 ACEPTAR todo -- 0.0.0.0/0 0.0.0.0/0
2 ACEPTAR todo - 0.0.0.0/0 0.0.0.0/0 estado RELACIONADO, ESTABLECIDO
3 ACEPTAR tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
4 ACEPTAR tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
5 ACEPTAR tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:443
6 ACEPTAR tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:25
7 ACEPTAR tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:587
Cadena ADELANTE (política DROP) núm objetivo beneficio opción origen destino
SALIDA de cadena (política ACEPTAR) núm objetivo beneficio opción fuente destino
Y:
iptables -L -v ENTRADA de cadena (política ACEPTAR 881 paquetes, 106 K bytes)
paquetes bytes destino prot optar por salir origen destino
0 0 ACEPTAR todo - lo cualquiera en cualquier lugar en cualquier lugar
436 183K ACEPTAR todo - cualquiera en cualquier lugar estado RELACIONADO, ESTABLECIDO
0 0 ACEPTAR tcp -- cualquiera cualquiera en cualquier lugar tcp dpt:ssh
1 60 ACEPTAR tcp - cualquiera cualquiera en cualquier lugar tcp dpt:http
0 0 ACEPTAR tcp -- cualquiera cualquiera en cualquier lugar tcp dpt:https
0 0 ACEPTAR tcp -- cualquiera cualquiera en cualquier lugar tcp dpt:smtp
0 0 ACEPTAR tcp -- cualquiera cualquiera en cualquier lugar tcp dpt:envío
Cadena ADELANTE (política DROP 0 paquetes, 0 bytes) paquetes bytes destino prot optar por salir origen destino
SALIDA en cadena (política ACEPTAR 348 paquetes, 56741 bytes)
paquetes bytes destino prot optar por salir origen destino
Tengo la esperanza de que no sea algo específico de bugzilla o centos, ya que logré una instalación exitosa de bugzilla en el escritorio de ubuntu, aunque eso fue mientras usaba ufw de ubuntu (creo que también lo probé con iptables, pero tendría que intentarlo). nuevamente para verificar).
ACTUALIZAR:
Para aquellos que buscan en la web y ven esto en una fecha posterior, ¡resulta que se trata de un problema de SELinux! Necesario para habilitar el booleano 'httpd_can_network_connect' (para otros, use 'getsebool -a').
Respuesta1
Prueba esto:
service iptables save
service iptables stop
chkconfig iptables off
Boom, no hay cortafuegos. Prueba de nuevo.
Intente usar telnet para probar ese puerto:
telnet updates.bugzilla.org 80
Una vez conectado con telnet, escriba "get" y vea si hay una respuesta.
Example:
# telnet updates.bugzilla.org 80
Trying 63.245.223.29...
Connected to updates.bugzilla.org.
Escape character is '^]'
get
<html>
<head><title>400 Bad Request</title></head>
<body bgcolor="white">
<center><h1>400 Bad Request</h1></center>
<hr><center>nginx/1.0.15</center>
</body>
</html>
Connection closed by foreign host.
¿No funcionó?
Pruebe tcptraceroute para ver dónde se bloquea:
tcptraceroute updates.bugzilla.org 80
¿Podría haber algo más bloqueando los puertos? ¿Un firewall, enrutador, ISP?