web-dev-qa-db-fra.com

Comment rediriger le DNS vers différents ports

Je possède le domaine "Arboristal.com". Je possède également tous les sous-domaines en privé sur arboristal.com. Tels que lg.arboristal ou ft.arboristal.com.

Sous mes paramètres DNS, Arboristal.com est configuré pour accéder à notre hébergeur qui héberge actuellement notre site Web.

J'ai trois serveurs qui fonctionnent chez moi et qui fonctionnent tous sous une adresse IP publique. (71.82.237.27)

J'ai également trois sous-domaines de Arboristal.com pointant vers mon adresse IP.

Chacun des trois serveurs utilise ses propres ports (25565, 25566, 25567)

Je veux que chaque sous-domaine pointe vers chaque port ouvert sur mon adresse IP.

Malheureusement, lorsque vous essayez de vous connecter à l'un de ces serveurs en utilisant l'un des sous-domaines, il se connecte uniquement au serveur pour lequel vous tapez le port.

Ma situation:

Trois serveurs, chacun fonctionnant sur un port différent. (Tous les ports sont transférés et fonctionnent comme des serveurs)

Serveur Minecraft 1 (25565)

Serveur Minecraft deux (25566)

Serveur Minecraft trois (25567)

J'ai trois sous-domaines en cours d'exécution sur mon fournisseur DNS (webs.com)

mc.arboristal.com

tekkit.arboristal.com

pvp.artboristal.com

Lorsque vous utilisez Minecraft pour vous connecter à l'un d'entre eux, il le fait automatiquement via le port 25565, ce qui signifie que quelle que soit l'URL à laquelle vous tentez de vous connecter, l'adresse IP de mon port 25565 est toujours utilisée. Vous pouvez taper le port manuellement, mais je préférerais que ce soit aussi beau et professionnel que possible. 

Donc, maintenant que vous connaissez ma situation, y at-il un moyen possible de rendre mc.arboristal.com, tekkit.arboristal.com et pvp.arboristal.com tous accéder à mon adresse IP sous différents ports sans avoir à spécifier chaque port dans l'URL fournie pour se connecter du côté des utilisateurs?

Je peux ajouter des enregistrements MX, A (à l'aide de celui-ci pour se connecter au serveur), CNAME et TXT aux paramètres DNS.

Je peux également ajouter des serveurs de noms aux paramètres DNS si je dois utiliser un tiers en tant que fournisseur DNS. (Je suis prêt à faire si nécessaire) 

J'ai également un accès complet à mon routeur à l'adresse 192.168.0.1 si quelque chose doit y être configuré. 

Je viens juste d'apprendre le fonctionnement réel d'Internet au cours de la dernière semaine et je ne sais pas si quelque chose est réellement possible. Je peux aussi ne pas avoir les bonnes informations sur le fonctionnement réel d’Internet. Veuillez me pardonner pour toute fausse information que je pourrais supposer concernant Internet.

42
Swordstoo

Vous pouvez utiliser enregistrements SRV :

_service._proto.name. TTL class SRV priority weight port target.

Service: le nom symbolique du service souhaité.

Proto: le protocole de transport du service souhaité; il s’agit généralement de TCP ou d’UDP.

Nom: le nom de domaine pour lequel cet enregistrement est valide, se terminant par un point.

TTL: champ temps DNS standard pour vivre.

Class: champ de classe DNS standard (toujours IN).

Priority: la priorité de l'hôte cible, une valeur inférieure signifie une préférence.

Pondération: Pondération relative pour les enregistrements ayant la même priorité.

Port: le port TCP ou UDP sur lequel le service doit être trouvé.

Target: le nom d'hôte canonique de la machine fournissant le service, se terminant par un point.

Exemple:

_sip._tcp.example.com. 86400 IN SRV 0 5 5060 sipserver.example.com.

Donc, je pense que vous cherchez à ajouter quelque chose comme ceci à votre fichier hôtes DNS :

_sip._tcp.arboristal.com. 86400 IN SRV 10 40 25565 mc.arboristal.com.
_sip._tcp.arboristal.com. 86400 IN SRV 10 30 25566 tekkit.arboristal.com.
_sip._tcp.arboristal.com. 86400 IN SRV 10 30 25567 pvp.arboristal.com.

Par ailleurs, je vous recommande vivement de faire appel à une société d’hébergement plutôt que d’héberger vous-même les serveurs. Il vous demande simplement des problèmes avec votre connexion domestique (DDoS et bande passante/vitesse de connexion), mais cela dépend de vous.

36
Winter

Solutions possibles:

  1. Utilisez nginx sur le serveur en tant que proxy pour écouter le port A et multiplexer vers le port B ou C.

  2. Si vous utilisez AWS, vous pouvez utiliser l'équilibreur de charge pour rediriger la demande vers un port spécifique basé sur Host .

0
Nadav B