¿Existe alguna manera de dirigir el tráfico que ingresa por el mismo puerto a dos máquinas virtuales diferentes?

¿Existe alguna manera de dirigir el tráfico que ingresa por el mismo puerto a dos máquinas virtuales diferentes?

Entonces, la idea básica se expresa en la pregunta anterior, pero déjame explicarte.

Estaba pensando en alojar un servidor de Minecraft dentro de una máquina virtual (usando el modo puente para poder dirigir el tráfico a través del reenvío de puertos) en mi servidor dedicado aquí en casa. Recientemente, un amigo me preguntó si también podía alojar un servidor para su servidor de discordia moderadamente pequeño. Naturalmente estuve de acuerdo. Mi plan sería simplemente abrir una segunda máquina virtual para que se ejecute su servidor y darle acceso SSH.

Ahora, sin embargo, me enfrento al problema de que Minecraft utiliza un determinado puerto para conectarse de forma predeterminada. Realmente no quiero exigir que las personas agreguen un número de puerto al final de la URL. Entonces, ¿cómo puedo separar el tráfico destinado a una máquina virtual del tráfico destinado a la otra máquina virtual si el tráfico entrante para ambas está en el mismo puerto? ¿Es eso siquiera posible? ¿Puedo reenviar el mismo puerto a dos direcciones IP internas diferentes?

Estaba pensando en usar mc1.mydomain.com y mc2.mydomain.com para enrutar el tráfico automáticamente a diferentes puertos entrantes, también conocido como. vincular puertos al nombre de dominio.

No tengo idea si solo estoy fantaseando con algo imposible. Un poco de ayuda sería apreciada.

Gracias de antemano.

PD: no tengo la opción de utilizar una dirección IP fija, por lo que estoy limitado a servicios DNS dinámicos.

Respuesta1

No es posible, un único puerto TCP solo se puede reenviar a un único servidor interno (a menos que desee equilibrarlos, para lo cual necesitaría 1) un equilibrador de carga y 2) dos servidores que realmente ejecuten la misma aplicación, no dos diferentes).

Algo así sólo se puede hacer con HTTP(S) usando un proxy inverso, que puede inspeccionar la URL solicitada y enviar el tráfico a diferentes servidores según lo solicitado; esto permite publicar múltiples servidores web a través del mismo proxy inverso. Pero esto sólo es posible porque HTTP(S) lo admite explícitamente en la capa de aplicación. No hay nada de eso en la capa de red, allí solo se puede trabajar con direcciones IP y puertos.

información relacionada