Como usar un subdominio en Cloudflare para tu servidor de Minecraft

Tabla de contenidos

  1. Introducción
  2. Requisitos
  3. Dominio en Cloudflare
  4. Tokens de API usuario
    1. Crear API Token
    2. Selecciona una plantilla
    3. Resultado del token personalizado
  5. Creación de contenedor Docker
    1. Creación del Docker Compose
    2. Levantar el contenedor
  6. Port Forwarding/Ruteo de puertos
  7. Configurar el redireccionamiento
  8. Conclusión

Introducción

En esta guía te mostraré como tener un subdominio en Cloudflare para que tú o tus amigos puedan conectarse a tu servidor de Minecraft pero a través de un DNS, por ejemplo: miserver.papiabi.com en vez de los típicos números de una IP.

Esta guía está totalmente basada en mi experiencia, puede variar un poco en cuestión de cuando se esté leyendo esto, ya que se a veces las dependencias cambian pero no debería ser muy diferente.

Requisitos

  1. IP Pública
  2. Router que permita el Port Forwarding
  3. Linux (Ubuntu preferentemente)
  4. Docker
  5. Dominio comprado en Cloudflare
  6. Java JRE

Dominio en Cloudflare

Es fundamental que tengas un dominio en Cloudflare, ya que de esto va la guía, si no tienes un dominio en Cloudflare, te dejo esta publicación para que veas como comprarlo, son muy baratos y valen toda la pena.

Con el dominio en Cloudflare, toca crear un registro de tipo A en el DNS del dominio así como se muestra en la imagen de abajo:

Tipo = A
Nombre = nombre del subdomino (sv1, server, mine… el que gustes)
Dirección IPv4 = 0.0.0.0 (Este dato se actualizará después automáticamente)
Estado de proxy = dejalo deshabilitado
TTL = Automático


Tokens de API usuario

Ahora hay que crear un token que se va a utilizar en un contenedor de Docker que actualiza la IP “0.0.0.0” en Cloudflare a la IP pública de nuestro internet. Si tienes IP pública fija sáltate este paso hasta el Port Forwarding.

Crear API Token

Accede a este link de Cloudflare: https://dash.cloudflare.com/profile/api-tokens

Te saldrá la siguiente pantalla y le das al botón de “Crear token


Selecciona una plantilla

Y selecciona la plantilla de la primera opción llamada “Editar zona DNS


Resultado del token personalizado

Y vas a dejar tal cual te aparece en la imagen de abajo, aparecerán más cajas de texto, pero ignóralas, sólo llena las que te muestro en las imagen.


¡IMPORTANTE! ¡IMPORTANTE! ¡IMPORTANTE!
Aquí Cloudflare te mostrará el token de usuario, que servirá para que el contenedor de Docker pueda actualizar la IP pública en el DNS a través de la API de Cloudflare. Guarda muy bien este token, porque sólo te lo muestra una vez.


Creación de contenedor Docker

Este contenedor únicamente se utilizará para que se actualice cada 5 minutos la IP en el registro tipo A de Cloudflare. Si no cuentas con Docker, aquí te dejo otra guía para que lo puedas instalar.

Creación del Docker Compose

Crea o dirígete a una carpeta para guardar el Docker Compose para crear el contenedor de Docker y crea le yml.

nano docker-compose.yml

Es importante cambiar los valores por los tuyos.

ZONE = dominio que hayas contratado y elegido al momento de crear el token.
SUBDOMAIN = el subdominio al que quieres apuntar.
API_KEY = el token que generaste anteriormente.

#
# Docker compose para la actualización de IP pública dinámica al registro de Cloudflare.
#

services:
  cloudflare-ddns:
    image: oznu/cloudflare-ddns
    environment:
      - ZONE=papiabi.com
      - SUBDOMAIN=sv1
      - API_KEY=LAKICN5wtZyB91q4p8___________IW0 #Aquí pegas el token que generaste
      


Levantar el contenedor

Para levantar el contenedor es tan fácil como ejecutar el siguiente comando.


docker compose up -d
      


Sabrás que funcionó porque en el registro tipo A de Cloudflare ya no debe aparecer la IP “0.0.0.0, sino la que corresponde a tu IP pública.


Port Forwarding/Ruteo de puertos

Esta es la parte más importante y lo que realmente hace funcionar a esta guía. Comprueba que tu router tiene habilitada las opciones para el Port Forwarding e inicia sesión. En mi caso sé que si están esas herramientas.


Configurar el redireccionamiento

Esta es la parte más importante y lo que realmente hace funcionar a esta guía. Comprueba que tu router tiene habilitada las opciones para el Port Forwarding e inicia sesión. En mi caso sé que si están esas herramientas.

Si eres de México y cuentas con el servicio de Telmex, puedes ir a la pestaña “reglas de desvío” y en la opción de “Port Forwarding”.

Independientemente de que compañía seas, las reglas son muy parecidas, hay que copiar lo que se muestra en la imagen de abajo y ajustarlas a tu router.


Conclusión

Esto tendría que ser suficiente y para repasar lo que este flujo hace es lo siguiente:

1. El contenedor de Docker estará actualizando la IP pública para que el DNS de Cloudflare siempre esté apuntando de forma correcta a la IP pública de tu servidor/ISP.

2. Tu router tiene abiertos los puertos que este caso son los de Minecraft, pero bien podría ser alguna aplicación o cualquier otro puerto, esto es decisión de lo que requieras.

3. Cloudflare va a exponer siempre todo el rango de puertos de sobre la IP que tiene en el DNS, es por eso que es muy importante no aplicar un DMZ o desmilitarización en el router, porque estarías dejando expuesto todos los puertos.

En esta guía sólo dejé expuesto el puerto de Minecraft, que es el “25565”, por lo que de forma externa sólo estoy exponiendo este puerto.

Espero esta guía sea clara y te haya ayudado.

¡Hasta luego!

Publicar comentario