¿Quieres ejecutar un servidor de Minecraft desde casa sin revelar tu dirección IP? ¡Usted puede! Simplemente configure un proxy gratuito con Amazon Web Services para proteger su servidor de ataques de denegación de servicio. Le mostraremos cómo.
Esta guía funcionará para cualquier servidor de juegos, no solo para Minecraft. Todo lo que hace es tráfico de proxy en un puerto específico. Solo tienes que cambiar el puerto 25565 de Minecraft a cualquier puerto en el que se ejecute tu servidor de juegos.
¿Como funciona esto?
Supongamos que desea alojar un servidor de Minecraft y tenerlo abierto a Internet. No es tan difícil ejecutar uno. Son fáciles de instalar, solo usan un subproceso de procesamiento, e incluso los servidores altamente modificados no requieren más de 2 a 3 GB de RAM con algunos jugadores en línea. Puede ejecutar fácilmente un servidor en una computadora portátil vieja o en segundo plano en su computadora de escritorio en lugar de pagarle a otra persona para que lo aloje por usted.
Pero para que las personas se conecten a él, debe dar su dirección IP. Esto presenta algunos problemas. Es un mayor riesgo de seguridad , especialmente si su enrutador aún tiene la contraseña de administrador predeterminada. También te deja abierto a distribuir ataques de denegación de servicio (DDOS) , que no solo detendría su servidor de Minecraft, sino que también podría apagar su Internet hasta que el ataque disminuya.
No es necesario que permita que las personas se conecten directamente a su enrutador. En su lugar, puede alquilar una pequeña caja de Linux en Amazon Web Services, Google Cloud Platform o Microsoft Azure, todos los cuales tienen niveles gratuitos. Este servidor no tiene que ser lo suficientemente fuerte como para alojar el servidor de Minecraft, solo reenvía la conexión por ti. Esto le permite dar la dirección IP del servidor proxy en lugar de la suya.
Digamos que alguien quiere conectarse a su servidor, entonces escribe la dirección IP de su proxy de AWS en su cliente de Minecraft. Se envía un paquete al proxy en el puerto 25565 (el puerto predeterminado de Minecraft). El proxy está configurado para coincidir con el tráfico del puerto 25565 y reenviarlo a su enrutador doméstico. Esto sucede detrás de escena: la persona que se conecta ni siquiera lo sabe.
El enrutador de su hogar debe ser reenviado a puerto para reenviar la conexión a su PC real. Su PC ejecuta el servidor y responde al paquete del cliente. Lo reenvía de vuelta al proxy, y luego el proxy reescribe el paquete para que parezca que el proxy es el que responde. El cliente no tiene idea de que esto está sucediendo y simplemente piensa que el proxy es el sistema que ejecuta el servidor.
Es como agregar otro enrutador frente al servidor de la misma manera que el enrutador de su hogar protege su computadora. Sin embargo, este nuevo enrutador se ejecuta en Amazon Web Services y obtiene la mitigación completa de DDOS de la capa de transporte que viene gratis con cada servicio de AWS ( llamado AWS Shield ). Si se detecta un ataque, se mitiga automáticamente sin molestar a su servidor. Si se no es detenido por alguna razón, siempre puede apagar la instancia y cortar la conexión a su casa.
Para manejar el proxy, usa una utilidad llamada
Cesta
. Está destinado a la multiplexación de protocolos; si quisiera ejecutar SSH (generalmente el puerto 22) y HTTPS (puerto 443) en el mismo puerto, se encontraría con problemas.
Cesta
se sienta al frente y redirige los puertos a las aplicaciones previstas, resolviendo este problema. Pero hace esto a nivel de la capa de transporte, como un enrutador. Esto significa que podemos hacer coincidir el tráfico de Minecraft y reenviarlo a su servidor doméstico.
Cesta
es, por defecto, no transparente, lo que significa que reescribe paquetes para ocultar la dirección IP de tu casa. Esto hace que sea imposible que alguien lo olfatee con algo como
Wireshark
.
Crear y conectarse a un nuevo VPS
Para comenzar, ha configurado el servidor proxy. Definitivamente, esto es más fácil de hacer si tiene algo de experiencia en Linux, pero no es necesario.
Dirigirse a
Servicios web de Amazon
y crea una cuenta. Debe proporcionar la información de su tarjeta de débito o crédito, pero esto es solo para evitar que las personas creen cuentas duplicadas; no se le cobra por la instancia que está creando. El nivel gratuito caduca después de un año, así que asegúrese de apagarlo cuando haya terminado con él.
Google Cloud Platform
tiene un
f1-micro
instancia disponible de forma gratuita todo el tiempo si prefiere usarla. Google también ofrece un crédito de $ 300 por un año, que podría usar para ejecutar un servidor en la nube adecuado.
AWS cobra un poco por el ancho de banda. Obtienes 1 GB gratis, pero tienes que pagar un impuesto de $ 0.09 por GB por cualquier valor superior. Siendo realistas, probablemente no repasará esto, pero vigílelo si ve un cargo de 20 centavos en su factura.
Después de crear su cuenta, busque "EC2". Esta es la plataforma de servidor virtual de AWS. Es posible que deba esperar un poco a que AWS habilite EC2 para su nueva cuenta.
En la pestaña "Instancias", seleccione "Iniciar instancia" para que aparezca el asistente de inicio.
Puede seleccionar la “AMI de Amazon Linux 2” o “Ubuntu Server 18.04 LTS” predeterminada como sistema operativo. Haga clic en Siguiente y se le pedirá que seleccione el tipo de instancia. Seleccione
t2.micro
, que es la instancia de nivel gratuito. Puede ejecutar esta instancia 24 horas al día, 7 días a la semana en el nivel gratuito de AWS.
Seleccione "Revisar y lanzar". En la página siguiente, seleccione "Iniciar" y verá el cuadro de diálogo a continuación. Haga clic en "Crear un nuevo par de claves" y luego haga clic en "Descargar par de claves". Esta es su clave de acceso a la instancia, así que no la pierda; colóquela en su carpeta Documentos para su custodia. Después de que se descargue, haga clic en "Iniciar instancias".
Volverá a la página de instancias. Busque la IP pública IPv4 de su instancia, que es la dirección del servidor. Si lo desea, puede configurar una IP elástica de AWS (que no cambiará en los reinicios), o incluso un nombre de dominio gratuito con dot.tk , si no desea volver a esta página para encontrar la dirección.
Guarde la dirección para más tarde. Primero, debe editar el firewall de la instancia para abrir el puerto 25565. En la pestaña Grupos de seguridad, seleccione el grupo que está usando su instancia (probablemente launch-wizard-1) y luego haga clic en "Editar".
Agregue una nueva regla TCP personalizada y establezca el rango de puertos en 25565. La fuente debe establecerse en "En cualquier lugar" o
0.0.0.0/0
.
Guarde los cambios y las actualizaciones del firewall.
Ahora vamos a SSH en el servidor para configurar el proxy; si está en macOS / Linux, puede abrir su terminal. Si está en Windows, debe usar un cliente SSH, como Masilla o instalar el Subsistema de Windows para Linux . Recomendamos este último, ya que es más consistente.
Lo primero que debes hacer es
cd
a la carpeta de documentos donde está el archivo de claves:
cd ~ / Documentos /
Si está utilizando el Subsistema de Windows para Linux, su unidad C se encuentra en
/ mnt / c /
, y tienes que bajar a la carpeta de documentos:
cd / mnt / c / Usuarios / nombre de usuario / Documentos /
Utilizar el
-yo
bandera para decirle a SSH que desea usar el archivo de claves para conectarse. El archivo tiene un
.pem
extensión, por lo que debe incluir eso:
ssh -i keyfile.pem [email protected]
Reemplazar "
0.0.0.0
”Con su dirección IP. Si creó un servidor Ubuntu en lugar de AWS Linux, conéctese como usuario "ubuntu".
Se le debe otorgar acceso y ver su símbolo del sistema cambiar al símbolo del servidor.
Configurar SSLH
Quieres instalar
Cesta
desde el administrador de paquetes. Para AWS Linux, eso sería
mmm
, para Ubuntu, usas
apt-get
. Es posible que deba agregar el repositorio EPEL en AWS Linux:
sudo yum instalar epel-release
sudo yum instalar sslh
Una vez que esté instalado, abra el archivo de configuración con
nano
:
nano / etc / default / sslh
Cambiar el
EJECUTAR =
parámetro a "sí":
Debajo de la final
DEMONIO
línea, escriba lo siguiente:
DAEMON_OPTS = "- usuario sslh --escucha 0.0.0.0:25565 --anyprot your_ip_address: 25565 --pidfile /var/run/sslh/sslh.pid
Reemplazar "
your_ip_address
”Con la dirección IP de su casa. Si no conoce su IP, busque
"¿Cuál es mi dirección IP?"
en Google, sí, en serio.
Esta configuración hace que
Cesta
proxy escucha en todos los dispositivos de red en el puerto 25565. Reemplácelo con un número de puerto diferente si su cliente de Minecraft usa algo diferente, o si juega a un juego diferente. Por lo general, con
Cesta
, hace coincidir diferentes protocolos y los enruta a diferentes lugares. Sin embargo, para nuestros propósitos, simplemente queremos hacer coincidir todo el tráfico posible y reenviarlo a
your_ip_address: 25565
.
Presione Control + X, y luego Y para guardar el archivo. Escriba lo siguiente para habilitar
Cesta
:
sudo systemctl habilitar sslh
sudo systemctl start sslh
Si
systemctl
no está disponible en su sistema, es posible que deba utilizar el
Servicio
comando en su lugar.
Cesta
ahora debería estar ejecutándose. Asegúrese de que su enrutador doméstico esté
reenvío de puertos
y enviar tráfico 25565 a su computadora. Es posible que desee darle a su computadora una dirección IP estática para que esto no cambie.
Para ver si las personas pueden acceder a su servidor, escriba la dirección IP del proxy en un verificador de estado en línea . También puede escribir la IP de su proxy en su cliente de Minecraft e intentar unirse. Si no funciona, asegúrese de que los puertos estén abiertos en los grupos de seguridad de su instancia.