
Tengo un servidor web Apache (2.4.10) ejecutándose en un escritorio con Debian (Jessie, 8).
El escritorio tiene una dirección IP local estática (192.168.xx) y mi ISP también ha corregido mi dirección IP WAN (pública) (82.xxx). Se ha agregado un reenvío de puerto para el puerto 80 a este escritorio.
Puedo acceder a la página web desde mi LAN sin problemas, pero no puedo acceder usando la dirección WAN, desde dentro o fuera de mi casa: recibo un mensaje "La página web no está disponible - ERR_CONNECTION_REFUSED" de Chrome. Tenga en cuenta que puedo abrir mi enrutador usando la dirección WAN (en otro puerto).
La página web en sí no es mucho más que "index.html" con Hello World.
Intenté desactivar el firewall de iptables, pero no funcionó. Probé con un puerto diferente al 80, pero no funcionó. He llamado por ISP y el puerto 80 no está bloqueado. Ya me he buscado loco en Google. ¿Alguien tiene alguna sugerencia sobre cómo hacer que el sitio sea accesible?
Respuesta1
¡Lo resolví!
Gracias a Moonpoint me di cuenta que el problema estaba en el Port-Forwarding. Así que eché otro vistazo y noté que para la regla del puerto 80, la "Interfaz WAN" estaba configurada en "ADSL" (predeterminada). No sé lo que significa, así que nunca lo cambié. Probé diferentes opciones y configurarlo en "ETHWAN" resolvió el problema. Ahora puedo acceder a la página web públicamente y agregué un DDNS sin IP que también funciona.
EDITAR: Ahora aprendí que la interfaz ETHWAN WAN era simplemente la que mi ISP agregaba al enrutador y es la interfaz para la conexión de fibra de vidrio.
Respuesta2
Cuando dice que intentó desactivar el firewall de iptables, pero no tuvo éxito, ¿quiere decir que deshabilitó el firewall de iptables, pero aún así no pudo conectarse al servidor web desde una dirección IP externa o quiere decir que no pudo deshabilitar el host? -¿Firewall de iptables basado en? Verifique el acceso de Apache y los registros de errores de su sitio web para ver si algún intento de acceder al sistema desde una dirección IP externa está registrado en alguno de esos archivos. Verifique su /etc/httpd/conf/httpd.conf
archivo Apache. ¿Tiene alguna sección similar a la siguiente en algún lugar del archivo?
<Directory /home/www/example>
Order Deny,Allow
Deny from all
Allow from 192.168 127.0.0.1
</Directory>
En el ejemplo anterior, el acceso desde todos menos elservidor localdirección, 127.0.0.1, y sistemas en la misma LAN, es decir, 192.168.xxx.xxx, no está permitido. Si desea que el servidor sea accesible para todo el mundo, un "Denegar a todos" sería inapropiado.
Puede aislar el problema en el sistema Debian en el que está ejecutando el servidor web Apache o en el enrutador donde configuró el reenvío de puertos, siempre que no haya piezas de equipo de red interpuestas, utilizando eltcpdumpcomando en el sistema Debian Linux. Emita el comando tcpdump -i any port 80
como root. Eso hará que tcpdump busque sólo conexiones al puerto 80 en cualquier interfaz, ignorando el resto del tráfico. Luego intente conectarse al servidor web desde una dirección externa. Si tcpdump muestra que el tráfico al puerto 80 llega al sistema Linux, entonces el reenvío de puertos está funcionando correctamente. Si no es así, es probable que tenga un problema con el reenvío de puertos, así que verifique que esté reenviando el puerto 80 a la dirección IP correcta para el servidor web.