Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: XxXMotokoXxX en 28 Junio 2011, 00:02 am



Título: Mi webserver no es accesible a Internet
Publicado por: XxXMotokoXxX en 28 Junio 2011, 00:02 am
He instalado, montado y configurado mi propio webserver con Apache, pero tengo un problema. El servidor no puede visualizarse en internet pero sí en red local.

¿Qué es lo que tengo que hacer para que todo el mundo pueda navegar por las páginas web de mi servidor?

P.D.:He configurado el router para que libere el puerto 80 y nada. Nadie puede acceder a ella. He hecho la prueba navegando a través de una proxy y, evidentemente, mi web no aparece.

No tengo nombre de dominio. Estoy accediendo directamente a través de mi IP pública.

¿Qué es lo que he pasado por alto?

Gracias.


Título: Re: Mi webserver no es accesible a Internet
Publicado por: Spider-Net en 28 Junio 2011, 00:06 am
Mapea los puertos, haz un port forwarding del puerto 80 a la ip local del equipo que tiene el servidor web instalado.

Saludos.


Título: Re: Mi webserver no es accesible a Internet
Publicado por: XxXMotokoXxX en 28 Junio 2011, 01:18 am
¿Cómo hago eso?


Título: Re: Mi webserver no es accesible a Internet
Publicado por: Spider-Net en 28 Junio 2011, 04:21 am
Pues depende del modelo de tu router. Debes entrar en la configuración y mapear el puerto a la ip local del server. En cada router se hace de una manera diferente por lo que tendrás que buscar algo así como "Port Forwarding" o "Port Mapping".


Título: Re: Mi webserver no es accesible a Internet
Publicado por: XxXMotokoXxX en 29 Junio 2011, 16:03 pm
Me he puesto a inestigar y he descubierto que al parecer las compañías de que ofrecen ISP (en mi caso telefónica) bloquean los puertos 80 (el que usa de manera predefinida cualquier explorador para navegar por Internet) además de otros puertos: 21, 25, etc.

Esto lo hacen para evitar el tráfico de virus a parte de que al parecer en los contratos "estándares" de servicios ISP no está permitido crear servidores caseros (en mi caso con Telefónica) y tampoco está permitido tener una IP estática. Para tener dichos priilegios hay que pagar un contrato "especial" y evidentemente eso se nota en el precio (supongo..).

Por otro lado, también existe la "trampa": dejar los servidores web escuchando en un puerto desmilitarizado por teléfonica (ej.: el puerto 8080). Abriendo los puertos en estas áreas "libres" de teléfonica me permitió subir mi server a Internet.

Pero aún tengo un problema por resolver y se trata de que quiero facilitar a los usuarios no experimentados en la informática el acceso a mi server (no hablo de comprar o adquirir gratuitamente un nombre de dominio, que también lo haré con el tiempo).

Lo que pregunto es:

Mi idea es redirigir la petición del navegador, que por definición será el puerto 80, y cambiarlo al puerto 8080 (el que está en escucha en mi servidor). He leído que eso se puede hacer pero mi pregunta es: ¿CÓMO LO HAGO?

Se agradecería si me echaran una mano.

Gracias.


Título: Re: Mi webserver no es accesible a Internet
Publicado por: moyo18 en 29 Junio 2011, 16:28 pm
asi como dices q tu isp este blokeando, pero que yo sepa generalemente ellos blokean el 25 para asi evitar enviar spam pero no el 80.

tambien el firewall en tu pc puede estar blokeando los puertos, y como t mencionan tambien abre los puertos en tu router si estas bajo un router.

todo esta en abrir los puertos en el router , revisa un manual d tu router, y tambien revisa q tu firewall no este blokeando las salidas d el puerto 80 o 8080.


Título: Re: Mi webserver no es accesible a Internet
Publicado por: Spider-Net en 29 Junio 2011, 16:49 pm
No es ni el firewall, ni teléfonica prohibiendo tener servidores caseros. ¿Desde cuando hay una ley que prohiba tener un servidor web casero?, yo siempre he tenido servidor web casero tanto con telefónica como con ono. Lo único por lo que tendrías que pagar es por tener ip fija, nada más. El hecho de que no puedas usar el puerto 80 es porque seguramente tu router tiene su panel de administración web escuchando en ese puerto.
Seguramente para acceder a la configuración de tu router lo que haces es poner la ip de tu router en el navegador. Lo que puedes hacer es cambiarle el puerto en la configuración del router (si es posible) y usar el 80 para tu servidor web y así te evitas problemas.

Para acceder a tu web en tu servidor por otro puerto (por ejemplo el 8080) deberás hacerlo así: http://tuip:8080

Saludos.


Título: Re: Mi webserver no es accesible a Internet
Publicado por: el-brujo en 29 Junio 2011, 17:21 pm
telefonica no bloquea ningún puerto, pero en los nuevos routers tienes que abrir los puertos con el portal alejandra, ahora funciona así.


Título: Re: Mi webserver no es accesible a Internet
Publicado por: madpitbull_99 en 29 Junio 2011, 19:15 pm
¿Estás usando una máquina virtual (VM)? ¿A caso es Virtual Box?


Título: Re: Mi webserver no es accesible a Internet
Publicado por: XxXMotokoXxX en 29 Junio 2011, 23:21 pm
Estoy usando el servidor HTTP Apache, no uso Virtual Box sino el Sistema Operativo de mi ordenador portatil.

En cuanto a lo del Firewall, investigando antes el problema de por qué no funcionaba mi servidor web me di cuenta de que podría ser el Firewall de mi ordenador el que me estaba chafando la "jugada". Así que lo configuré para que fuera permisivo con el puerto 80 exclusiamente tanto en TCP y UDP (puse ambos protocolos por si las moscas). Volví a ejecutar mi servidor y seguía sin verse ninguna página en mi explorador, evidentemente navegue por una proxy para garantizarme de que no sólo yo podría verlo y el resultado fue el mismo: mi local IP lo veía pero desde proxy no tenía el mismo resultado así que deduje que nadie lo vería, y así fue (incluso llamé a un amigo para que lo comprobara). Así que concluyo que el problema no es de mi Firewall a no ser que lo haya configurado de manera errónea.

Por otro lado, los puertos los he abierto todos desde la web de configuración de mi router (especifico: 80, 8080, 8081, 21 y 25. El segundo y el tercero los deje abiertos para confirmar si servían ya que empezaba a sospechar que los puertos "estándares" estaban bloqueados por mi compañía de ISP [Telefónica]).

En cuanto a lo de la legislación de "updatar" servers, eso lo leí en una página inglesa, allí fue donde me encontré con la información de que los puertos 80, 21, 25 (entre otros) estaban bloqueados por la empresa proveedora de ISP. Claro está, las leyes en EEUU no son las mismas que en España pero lo que si me resulta sospechoso es el hecho de que mi servidor no funciona si lo deja en escucha en el puerto 80, en cambio cuando lo cambio de puerto al 8080 si me funciona correctamente, la página lo visualiza mi amigo y yo mismo al navegar desde una proxy.

Preguntas:

Spider-Net, ¿A qué te refieres con cambiarle el puerto en la configuración del router? ¿Te refieres a que por culpa de que el router tiene una web de configuración tipo HTTP impide que pueda "updatar" mi propio servidor web porque ese puerto ya lo esta usando mi router? ¿Cómo modifico eso? Gracias.

el-brujo, creo que mi router es relatiamente nuevo ya que me lo cambiaron hace unos ¿5-6 meses? por un error de mi router antiguo. Hablame más de ese portal "Alejandra" y cómo funciona. (Me pondré a investigar para informarme bien y saber de qué es lo que hablas porque no conocía "eso" que me comentas).

moyo18, he configurado mi Firewall (el de Windows, el único que tengo... si ya sé que soy un cutre.. jejeje) desde la pestaña Excepciones->Agregar puerto... ¿Es eso correcto?



Estoy muy agradecido por vuestro tiempo y dedicación. Gracias por el tiempo que le dedicáis a un novato como yo. No sé como agradecerlo con palabras porque me quedo corto. Aprendo mucho de ustedes y espero que siga siendo así.


Título: Re: Mi webserver no es accesible a Internet
Publicado por: el-brujo en 30 Junio 2011, 17:09 pm
busca en google portal alejandra y te dará los datos de acceso para abrir el puerto 80 de tu router. Es muy fácil. Casi seguro que es eso, ya has agregado la excepción al firewall de Windows del puerto 80 y el resto parece correcto.


Título: Re: Mi webserver no es accesible a Internet
Publicado por: moyo18 en 30 Junio 2011, 17:16 pm
creo q tu problema es al abrir los puertos del router.

revisa lo q t dice el brujo.

Si es el firewall d windows no tendria porq darte ningun problema a menos q estes usando un firewall como comodo, o firewall.

yo me inclino mas a q es problemas del router, cuando abras los puertos asignale la ip interna d tu pc.


Título: Re: Mi webserver no es accesible a Internet
Publicado por: XxXMotokoXxX en 30 Junio 2011, 18:32 pm
Bueno, el puerto 80 no lo he abierto al final con alejandra ya que investigando sobre como darle un nombre de dominio gratuito (elegí los servidores .tk) y DNS gratis logré que funcionara en el puerto 80 ya que el servidor DNS al parecer hace su peteción, por defecto, al puerto 80. Lo que hice fue cambiar el puerto de escucha del Apache al 80 y al parecer el DNS lo resolvió correctamente.

Es muy raro, ¿no creéis? ¿Por qué si me funciona con el DNS al asociarlo a un nombre de dominio y cuando tenía mi IP sin asociar a ningún nombre el router no me dejaba "updatar" en el puerto 80 si no en el alternativo: 8080?


Título: Re: Mi webserver no es accesible a Internet
Publicado por: Spider-Net en 30 Junio 2011, 18:56 pm
Yo creo que por lo que te dije. Porque cuando intentas acceder directamente a tu IP, a lo que intentas conectar es al panel de administración del router remotamente, por eso cuando cambias el puerto funciona. Eso sí, no me explico por qué cuando redireccionas la ip usando un dominio.tk funciona. No tiene mucho sentido la verdad, no sabría explicar por qué ha ocurrido eso.


Título: Re: Mi webserver no es accesible a Internet
Publicado por: XxXMotokoXxX en 30 Junio 2011, 20:29 pm
Ya me he dado cuenta de cual es el error. Me dejé llevar por la emoción y probé el nombre de dominio desde el navegador del ordenador donde tengo el webserver. Eso significa que no estaba viendo la página www.misitio.tk desde Internet sino que lo visitaba localmente, gran error...

Ahora sigo como al principio. Spider-net, cuentame como abrir mi puerto 80. ¿Uso el server alejandra? No entiendo lo que pretendes decir con lo de que intento conectar al panel del router remotamente...

Gracias.


Título: Re: Mi webserver no es accesible a Internet
Publicado por: Spider-Net en 1 Julio 2011, 02:28 am
Yo no conocía lo del portal Alejandra, hace años que no uso telefónica. Quizás el-brujo pueda ayudarte mejor con el tema del portal alejandra.

En cuanto a lo del panel de administración. Cuando tú quieres acceder al panel de tu router pones la ip local de tu router en el navegador. Sin embargo hay muchísimos routers que permiten la administración remota, esto quiere decir que cuando pones tu ip pública en cualquier ordenador se intenta acceder al panel de administración remoto del router. Normalmente por defecto suele estar desactivado, pero es posible que al estar escuchando en el puerto 80 no puedas usar el servidor apache en el mismo puerto. En algunos routers puedes cambiar el puerto por el que se accede al panel de administración, si lo cambias igual apache podría funcionar en el puerto 80, pero no me preguntes como hacerlo, porque no lo sé. Cada router es un mundo y en cada uno se hace de una forma diferente.
De todas formas esto es simplemente una suposición mía. Igual me equivoco, yo antes que nada probaría a abrir el puerto mediante el portal alejandra, que yo desconocía totalmente, y quizás sea simplemente eso.

Saludos.


Título: Re: Mi webserver no es accesible a Internet
Publicado por: XxXMotokoXxX en 1 Julio 2011, 13:53 pm
Más agradecimientos e introducción

Antes que nada: muchísimas gracias Spider-Net y todos aquellos que me estaán ayudando. Lo agradezco muchísimo.

Me he puesto a investigar inmediatamente después de preguntar en este foro sobre el problema que comentaba Spider-Net de que probablemente mi servidor Apache no funcionaba porque el panel de administración remoto del router estaba ejecutándose en el puerto 80, impidiendo que mi Apache se pusiera a "trabajar" en la red.

Me leí algunos tutoriales sobre como redirigir el puerto de "trabajo" del panel de administración de mi router (puerto 80 es el predefinido) a otro diferente (en mi caso, lo redirigí al puerto 8080).

Usando Telnet

¿Cómo lo hice? Hice telnet a la dirección IP de mi router y cambié el puerto del panel del router al 8080 dejando totalmente libre el puerto 80 para que trabajara mi Apache.

Además aproveché para desactivar el bloqueo del puerto 80 y 21 (ya que pienso usar ambos).

Los problemas vuelven...

Ahora, cuando pruebo el Apache desde un proxy sigue sin funcionar el dichoso server. Pero luego pensé: "Bueno, a lo mejor configuré mal el último paso (cuando hice telnet a mi router".

Así que decidí antes de actuar comprobar si realmente mis puertos 80 y 21 están cerrados y, efectivamente, la página web que me ofrece ese servicio me decía que "la respuesta es tardía" y no-se-qué, ¡¡¡vamos que los puertos no funcionan correctamente!!!

Una vez comprobado que no funcionó para nada lo que hice decidí tomar el consejo de el-brujo desde el portal alejandra. Configuro el puerto 80 (tanto TCP y UDP) para que se habrán exclusivamente a mi IP estática de mi ordenador/servidor y cuando le doy a "modficar"..... ¡PUF! El servicio del portal alejandra me dice que lo intente más tarde y no sólo eso sino que cuando voy a intentarlo con el puerto 21, el portal alejandra me dice: "Ni hablar chiquillo: no puedes abrir el puerto 21 ni el ¿69? ni...". Vamos que me lo prohíbe, así que el portal alejandra me cayó muy mal... es muy restrictivo...

Conclusiones y posibles soluciones a debatir con ustedes...
Al parecer los puertos 80 y 21 SI están bloqueados para mi router. ¿Tendrán razón las fuentes inglesas que leí sobre que el contrato de las ISP bloquean los puertos "magnos" para cualquier servidor web?

El puerto 8080 sigue funcionando con normalidad y mis amigos pueden ver mi server online, sólo tienen que escribir: www.misitio.tk:8080 pero eso queda muy hortera.

Soluciones que se me ocurren:
1.- Crear mi propio router con otro ordenador viejo: creo que eso necesitará horas y horas de investigación pero es un reto interesante.
2.- ¿Acceder al sistema operativo de mi router y modificar el Firewall? ---> ¿Es esto posible? ¿Cómo se hace?
3.- Buscar algún programa para que cuando hagan una petición desde el navegador (puerto 80 predeterminado) dicho programa los redirija al puerto 8080 o sea, el que me funciona----> ¿Es eso posible?

Gracias. Espero vuestra respuesta.


Título: Re: Mi webserver no es accesible a Internet
Publicado por: Spider-Net en 1 Julio 2011, 14:01 pm
Aunque los puertos 80 y 21 estén bloqueados en tu router, no encuentro ningún motivo por el cual no puedas abrirlos. Estás seguro de que estás mapeando bien los puertos? direccionando el tráfico del puerto 80 a la ip local de tu servidor web?

Es lo único que se me ocurre que puede estar fallando, porque otra cosa ya, no sé..


Título: Re: Mi webserver no es accesible a Internet
Publicado por: XxXMotokoXxX en 1 Julio 2011, 14:05 pm
Yo creo que si lo he hecho bien pero no pasará nada si lo reviso dos veces. Repasaré ese tutorial que leí y veré si lo he hecho correctamente. Si no leeré algún artículo en inglés que me enseñe como mapear esos puertos desde un router Zyxel.

Gracias, Spider-net.


Título: Re: Mi webserver no es accesible a Internet
Publicado por: mastercss en 1 Julio 2011, 16:52 pm
Bueno lo he hehco tantas veces que ha perdido su sentido y espero poder ayudarte en eso.

El servidor de apache funciona por defecto en el puerto 80, es decir recibe las conexiones por este puerto y atiende a los clientes. Tu problema segun dices es tu ISP, pero como bien indicaste cambiaste al puerto 8080 y no hubo problema.

Tienes que ir al archivo de configuración de apache y modificar el puerto por defecto.
Este archivo es el apache2.conf (en linux esta en /etc/apache2) en el caso de windows supongo que cambia.
Solo tienes que abrir este archivo e ir a la directiva "Listen 80", cambias 80 por el puerto por el que quieras tener tu servidor web y listo. (Recuerda que los primeros 1024 puertos son reservados)

Aunque tambien veo que tienes un problema, probablemente tengas router, es decir tendras una ip dinamica que cambia cada cierto tiempo. Si quisieras que la ip de router fuera fija tendrias que pagar a tu ISP(telefonica).

Para evitar tener que pagar a tu compañia puedes utilizar un servicio llamado no-ip. Este servicio hace que tu ip en internet se asocie a un nombre. Te descargas un programa entras con tu cuenta de la pagina web y listo, solo dales el nombre a tus amigos y mientras tu ordenador este encendido podran ver tu pagina web.

Espero haberte ayudado, me podria haber explicado mejor pero me podria extender muhco con la teoria de apache xD


Título: Re: Mi webserver no es accesible a Internet
Publicado por: XxXMotokoXxX en 1 Julio 2011, 23:47 pm
Gracias por tu respuesta mastercss.

Ya he hecho anteriormente todo esto que me comentas y he modificado el archivo httpd.conf para redirigir el puerto de escucha al 8080 y me funcionó correctamente el server, incluso logré asociarle un nombre de dominio .tk y asocié la IP y el nombre con una empresa de DNS dinámica gratuita (DNSexit.com) y todo hasta allí funciona correctamente.

El problema es que quiero evitar que mi servidor esté activo en el puerto 8080 ya que queda poco elegante escribir en la URL del navegador www.misitio.tk:8080. Sólo quiero ahorrarles a mis visitantes escribir ese indeseado ":8080" quiero que solo recuerden un nombre y no números.

Y allí es cuando interviene el problema del router. El muy "condenado" no me deja usar el puerto 80 para ahorrarles a mis visitantes escribir ese molesto ":8080" que le queda muy poco profesional....

Gracias nuevamente por tu atención.


Título: Re: Mi webserver no es accesible a Internet
Publicado por: el-brujo en 2 Julio 2011, 00:28 am
¿pero ya has conseguido ir al portal Alejandra para abrir el puerto 80? Es lo único que tienes que hacer, o cómo máximo tienes un filtro o regla por defecto que impide la administración remota del puerto 80 vía wan, que algunos routers lo traen escondido.


Título: Re: Mi webserver no es accesible a Internet
Publicado por: XxXMotokoXxX en 2 Julio 2011, 13:31 pm
Sí, lo comenté anteriormente, el portal alejandra no me deja abrir los puertos: me da un mensaje de error.

¿Cómo puedo romper ese filtro que impide la administración remota del puerto 80?


Gracias.