Redireccionar dominio a servidor virtualizado propio

MaSoBa

Buenos días a todos.

He comprado un dominio y me gustaría trastear un poco con un servidor web virtualizado. Mi intención es la siguiente: tener en mi ordenador físico una maquina virtual Fedora 23 con un servidor Apache para que cuando entre con mi dominio se redirija a mi servidor.

El problema que tengo es el siguiente. Siempre he trabajado haciendo servidores Apache, nginx e IIS localmente. Así que ahora tengo unas cuantas dudas a la hora de que se pueda acceder desde cualquier sitio.

Tengo ya mi máquina virtual funcionando con el Apache y localmente me funciona bien. Pero no sé como configurarlo para que funcione globlamente. Llevo un día trasteando con ello pero me estoy empezando a liar con todos los tutoriales que me he visto. En mi router he abierto el puerto 80 para que pueda recibir las peticiones HTTP. También he abierto el mismo puerto en el firewall de Windows y en mi Fedora 23. También tengo al Fedora 23 en adaptador puente.

Y ahora corregirme si me equivoco por si lo estoy entendiendo mal. En mi dominio tengo que crear una entrada de Tipo A que lleve a la IP pública de mi Fedora 23. Y a partir de esa IP mi servidor debería mostrar la página principal.

Puede que haya dicho alguna burrada. Espero que alguien me pueda ayudar a aclararme un poco. Muchas gracias por molestaros en leer mi problema :)

Yorka_95

#1 A groso modo y por si te sirve como orientación, ya que tampoco entiendo mucho, en el panel de control de tu dominio, por defecto tienes unas DNS puestas que establecen que tudominio.es apunta a la IP 123.123.... que es del hosting que tienes contratado.

Tienes que cambiar las DNS de tu dominio/hosting y poner las tuyas, las que resuelven que tudominio.es apunta a tu IP donde tienes el Apache etc

Si es otra burrada lo que acabo de decir, borrad el post xD

1 respuesta
MaSoBa

#2 Yo también creo que es esa la teoría. Pero todavía no he conseguido acceder a mi Apache por su IP pública. Al estar virtualizado tengo muchas dudas sobre qué tipo de red ponerle(puente,nat...).

Además la IP pública del Apache es la misma que la de mi PC físico. Así que también he estado mirando como redireccionar las peticiones por el puerto 80 al servidor Apache.

Tengo mucho lío en la cabeza :S

garlor

la ip publica es estatica o dinamica?

necesitas tener un servidor dns ( los hay gratuitos, a veces se puede inscribir en el mismo servidor dns de la empresa con la que contratas el dominio ) en el que tu dominio este registrado, en el servidor dns tienes que poner un campo tipo A direccionado a una IP publica fija o un campo tipo CNAME si tiene que apuntar a otro dominio ( osea si tienes una ip dinamica tendras que poner un cname a tudominio.dyndns.xxx )

lo importante es que cuando hagas ping holaquetal.com te devuelva la ip publica donde esta tu web, hasta que no consigas eso olvidate de puertos y demas mierdas

1 respuesta
MaSoBa

#4 La ip es estática. Ya he agregado en el DNS del dominio la entrada Tipo A que lleva a mi IP pública. Acabo de hacer ping a mi sitio web y me devuelve mi IP pública pero no hace ping.

Edito: Corrijo. Sí que me hace ping bien.

garlor

no tiene porque hacerte ping, eso depende de como tengas configurado el equipo con la ip publica

1 respuesta
MaSoBa

#6 ¿Entonces qué tengo que hacer ahora? Estoy perdido :S

jalamoNNN

#1 Lo primero que tienes que hacer es abrir y redirigir un puerto de tu máquina host al puerto 80 de la máquina guest si tienes la configuración por defecto. No uses el 80, usa otro que no esté reservado para ninguna tarea especial, como por ejemplo el 8080 (que es el que se suele usar en estos casos). En tu dominio tendrás que resolver la ip pública de tu máquina host con el puerto 8080.
En resumen: dominio resuelve ip_host con puerto X, que redirige a puerto 80 de la máquina virtual.

1 1 respuesta
MaSoBa

#8 Gracias por la respuesta!

Tengo los puertos así.

0.1 es la IP del ordenador real
0.14 es la IP de la máquina virtual
es la IP pública.

Y en el panel para poner la IP a la que quiero que vaya el dominio no me deja ponerle el puerto, solo la IP

1 respuesta
garlor

#9 no deberias decir nunca qual es tu ip publica ... y menos si esta es fija

es correcto, un dominio resuelve una direccion ip, no un socket ( ip + puerto ), tendras que hacer http://tudominio:8080, la configuracion del nat en el router parece correcta

MaSoBa

#1 Ya lo he borrado. Ahora estoy intentado hacerlo directamente el servidor en la máquina física con IIS :S

HoRuS

Me lo agrego a favoritos, porque quiero hacer algo parecido, tengo un synology y quiero poder acceder a CouchPotato y Sickrage con el dominio desde el movil por ejemplo :D

MaSoBa

Yo ya me estoy desesperando.

El dominio me resuelve perfectamente mi IP pública. Pero no sé si mi router redirige bien o no. Le tengo que decir a mi router que las peticiones a mi IP pública por el puerto 80 las redirija a donde? A mi IP privada?

Entiendo que esa redirección está bien. Y en el servidor tengo que escuche todas las peticiones por el puerto 80. Pero nada...

garlor

el puerto 80 en muchos routers esta o bien bloqueado por el firewall o bien en uso por el propio router, asi que no uses ese puerto

192.168.0.1 es la ip privada del router entiendo, tienes que dirigirlas a la ip del ordenador con el servidor

1 respuesta
MaSoBa

#14 He cambiado todo al puerto 8080. Pero ahora me surge otra duda. El DNS de mi dominio resuelve mi dirección IP pública pero lo hará con el puerto 80 ya que no puedo especificarle qué puerto quiero. Solo puedo indicarle una IP.

192.168.0.1 es mi privada. Con la que accedo a la configuración de mi router.

garlor

en las dns el puerto no pinta nada, no existe

1 respuesta
MaSoBa

#16 Entonces me va a hacer la petición por el puerto 80 no?

1 respuesta
Ak3larr3

#17 es "sencillo", imagino que pillarías un dominio de estos de hostalia. En el panel de control, gestión de dns, vas a dominio.es o dominio.com (dominio es el nombre que escogieras) de tipo A lo editas, en entrada no pones nada y en valor pones la ip que te asigna el operador, en tu caso es fija, una gran ventaja.

Una vez hecho esto tienes que esperar a que se propagen las dns, tarda de unas horas a un día, pero generalmente en una hora o dos ya esta.

Luego esta la configuración del router, tienes que "puentear" el puerto 80 o el que tengas configurado en tu apache/nginx y listo.

Edito, veo que en el puenteo de puertos has puesto como ip interna 192.168.0.1 esta ip generalmente es la ip del router (puerta de enlace), no creo que tengas en esa ip el servidor apache, comprueba la ip del servidor apache y editalo en la configuración del router.

1 respuesta
MaSoBa

#18 Lo de las DNS en Hostalia ya lo tengo hecho. Hago ping en mi dominio y me devuelve mi IP pública, eso está correcto.

Creo que tengo el problema en el paso de redireccionar las peticiones que le llegan a mi router a mi servidor. En la configuración del router tengo esto:

.17 es una máquina virtual de Fedora con Apache corriendo. Si accedo localmente a su IP privada en el navegador me sale la página. Si accedo localmente a la IP pública en el navegador también me sale. Si accedo por midominio.es localmente también me funciona. Pero en otros ordenadores no funciona midominio.es.

1 respuesta
Ak3larr3

#19 el problema puede ser porque es una máquina virtual quizas tengas que activar el adaptador puente en esa máquina virtual. Virtualizas con vmware, virtualbox...?

1 respuesta
MaSoBa

#20 Ahora mismo estoy utilizando virtualbox en adaptador puente.

1 respuesta
D

#21 si nos pasas el dominio, podemos hacer un tracert y ver donde se pierden los paquetes. Pero a grosso modo, si el NAT del router a la VM está correcto, debería de funcionar siempre y cuando la IP de la VM es la que indicas.

1 respuesta
MaSoBa

#22 Te paso el dominio por MP.

Esta es la IP de mi Fedora

1 respuesta
D

#23 Entiendo que se redirecciona el puerto 80 y 8080 de tu IP publica a la IP de la VM no?

1 respuesta
MaSoBa

#24 Exacto. En #19 tienes la imagen de cómo lo tengo puesto en el router.

Por cierto, la IP pública la he sacado de http://icanhazip.com/ ¿La que saca es la pública no? A ver si voy a estar haciendo el canelo

1 respuesta
D

#25 si, ahi te da la IP pública que usas.

Pues va a ser que el redireccionamiento de tráfico por los puertos 80 y 8080 no está bien hecho:

Un curl no me responde y pasando un nmap me sale un filtering como un castillo en ambos puertos.

PORT     STATE    SERVICE
80/tcp   filtered http
8080/tcp filtered http-proxy

Si estuviese bien redireccionado, me tendría que aparecer open o close en caso de que el apache/nginx estuviese parado

1 respuesta
Ak3larr3

tal vez el iptables de fedora? pero lo dudo.

2 respuestas
D

#27 Fedora? SELinux enabled? :clint:

1 respuesta
Ak3larr3

#28 selinux :psyduck: cuantas lagrimas ha derramado.

MaSoBa

#27 #26 Selinux está disabled. Es lo primero que hago siempre, que luego nunca te acuerdas de quitarlo.
Desinstale firewalld, e instalé system-config-firewall y abrí los puertos correspondiente.

Si están mal redireccionados, ¿cómo se redireccionan bien? :S

1 respuesta