La Fibre

Datacenter et équipements réseaux => Routeurs => Routeur Routeur => Discussion démarrée par: noctam le 06 juin 2016 à 11:05:40

Titre: Redirection sous-domaine sur une seule IP mais port différents
Posté par: noctam le 06 juin 2016 à 11:05:40
Bonjour a tous,

Je ne sais pas si je post au bon endroit donc je m'excuse d'avance.

J'ai un serveur Dell T20 a la maison avec plusieurs VM. Ses Vm ont toutes des applications fonctionnant sur des ports différents.Je sais qu'il est impossible de rediriger a ma connaissance un sous domaine sur un port. (je suis nul en réseaux mais j'essaye d'apprendre).Serait-il possible d'avoir en quelque sorte un bidouillage permettant quand je tape sickrage.XXX@XXX de tomber sur un port particulier et ainsi de suite ?
Ex : sickrage.XXX@XXX = ip:8085
Minecraft.XXX@XXX = ip:6061 etc

Cordialement,
Titre: Redirection sous-domaine sur une seule IP mais port différents
Posté par: Nico le 06 juin 2016 à 11:16:29
Et taper sickrage.XXX:8085 ça ne te convient pas ?
Titre: Redirection sous-domaine sur une seule IP mais port différents
Posté par: Hugues le 06 juin 2016 à 11:31:27
Pour du HTTP, oui. Pour d'autres trafics, non. Il te faut un port par service.
Titre: Redirection sous-domaine sur une seule IP mais port différents
Posté par: hoyohoyo le 06 juin 2016 à 11:34:40
iptables non ?
Titre: Redirection sous-domaine sur une seule IP mais port différents
Posté par: Hugues le 06 juin 2016 à 11:36:51
Keuwah ?
Titre: Redirection sous-domaine sur une seule IP mais port différents
Posté par: hoyohoyo le 06 juin 2016 à 11:44:18

iptables -t nat -A PREROUTING -d  .minecraft.domaine.com -p tcp --dport 6061 -j DNAT --to IPINTERNE:6061

un truc du genre non ?
Titre: Redirection sous-domaine sur une seule IP mais port différents
Posté par: Hugues le 06 juin 2016 à 12:35:09
Ça ne peut pas marcher, non. Minecraft se fiche du domaine ^^
Titre: Redirection sous-domaine sur une seule IP mais port différents
Posté par: kgersen le 06 juin 2016 à 12:48:27
iptables -t nat -A PREROUTING -d  .minecraft.domaine.com -p tcp --dport 6061 -j DNAT --to IPINTERNE:6061

un truc du genre non ?

non. iptables ne voit pas les noms de domaine, c'est que de l'ip la, on est dans la couche  (https://fr.wikipedia.org/wiki/Couche_r%C3%A9seau)3 (et un peu 4). quand on passe un nom d'hote avec l'option -d  , il est résolu de suite au moment de l'installation de la régle, c'est juste pour éviter de taper des ip.

pour faire un 'aiguillage' en fonction du nom de domaine il faut travailler au niveau de la couche applicative (7).
On peut le faire en http avec un reverse proxy ou un serveur web gérant les "virtual host" par exemple.

Pour du générique comme ca (minecraft, etc), ca ne marchera pas car on en recoit pas le nom de domaine demandé mais juste l'ip.
Titre: Redirection sous-domaine sur une seule IP mais port différents
Posté par: Hugues le 06 juin 2016 à 12:52:32
Pour Minecraft, il suffit de changer de port, le client le gère très bien !
Titre: Redirection sous-domaine sur une seule IP mais port différents
Posté par: noctam le 06 juin 2016 à 13:11:25
Alors je sens que ma question reste difficilement faisable surtout pour un novice comme moi a en croire les réponses.
Minecraft c’était surtout un exemple mais oui le principe de base serait que si je tape Ts.XXX@XXX cela me donne l’accès a teamspeak et que si je tape sur chrome sickrage.XXX@XXX cela me redirige sur le fork sickrage avec son port automatiquement pareil pour transmission etc.Vous allez me dire pourquoi ne pas mettre le port automatiquement avec juste mon nom de domaine mais c’était pour savoir si c’était faisable et pour des questions pratique
Titre: Redirection sous-domaine sur une seule IP mais port différents
Posté par: noctam le 06 juin 2016 à 13:14:35
non. iptables ne voit pas les noms de domaine, c'est que de l'ip la, on est dans la couche  (https://fr.wikipedia.org/wiki/Couche_r%C3%A9seau)3 (et un peu 4). quand on passe un nom d'hote avec l'option -d  , il est résolu de suite au moment de l'installation de la régle, c'est juste pour éviter de taper des ip.

pour faire un 'aiguillage' en fonction du nom de domaine il faut travailler au niveau de la couche applicative (7).
On peut le faire en http avec un reverse proxy ou un serveur web gérant les "virtual host" par exemple.

Pour du générique comme ca (minecraft, etc), ca ne marchera pas car on en recoit pas le nom de domaine demandé mais juste l'ip.

Donc d’après ce que je lis il serait potentiellement possible de le faire ? par contre c'est un même nom de domaine et plusieurs sous domaines car le serveur est hébergé chez moi donc qu'une seule ip wan dispo :( donc ça marche aussi avec des sous domaines ?
Titre: Redirection sous-domaine sur une seule IP mais port différents
Posté par: Hugues le 06 juin 2016 à 13:46:24
Mais quel problème as-tu avec les ports ? Tu as plusieurs serveurs Minecraft qui tournent en même temps et tes utilisateurs ne savent pas renseigner un port ?
Titre: Redirection sous-domaine sur une seule IP mais port différents
Posté par: noctam le 06 juin 2016 à 13:54:56
non en gros depuis l’extérieur du réseau pour éviter de retenir chaque port de chaque application :
- panel administration
- teamspeak,
 -sickrage,
- transmission,
 -couchpotato et j'en passe je voulais les simplifier par sous domaine  pour ne taper que les sous domaine mais sans les ports.

Au final pour sickrage je passerai de mondomaine:8089 par exemple à sickrage.mondomaine qui lui le redirigerait sur le port .j’espère que c'est plus clair comme cela.
Titre: Redirection sous-domaine sur une seule IP mais port différents
Posté par: DamienC le 06 juin 2016 à 14:04:06
Un enregistrement CNAME sur tes DNS peut-être?
sickrage IN CNAME url.fr:8012
Je n'ai jamais testé mais pourquoi pas?

Cdt,
DamienC
Titre: Redirection sous-domaine sur une seule IP mais port différents
Posté par: Hugues le 06 juin 2016 à 14:07:49
non en gros depuis l’extérieur du réseau pour éviter de retenir chaque port de chaque application :
- panel administration
- teamspeak,
 -sickrage,
- transmission,
 -couchpotato et j'en passe je voulais les simplifier par sous domaine  pour ne taper que les sous domaine mais sans les ports.

Au final pour sickrage je passerai de mondomaine:8089 par exemple à sickrage.mondomaine qui lui le redirigerait sur le port .j’espère que c'est plus clair comme cela.


Pour sickrage, c'est du HTTP, donc Reverse Proxy, pour Transmission, pareil, et pour ton panel aussi.
Pour Minecraft, laisse le port par défaut (25565)
Teamspeak et CouchPotato : je ne sais pas.
Titre: Redirection sous-domaine sur une seule IP mais port différents
Posté par: Slothy le 06 juin 2016 à 14:11:42
Un enregistrement CNAME sur tes DNS peut-être?
sickrage IN CNAME url.fr:8012
Je n'ai jamais testé mais pourquoi pas?

Cdt,
DamienC
Euh non, ça n'existe pas ce que tu veux faire.
Titre: Redirection sous-domaine sur une seule IP mais port différents
Posté par: noctam le 06 juin 2016 à 14:23:12

Pour sickrage, c'est du HTTP, donc Reverse Proxy, pour Transmission, pareil, et pour ton panel aussi.
Pour Minecraft, laisse le port par défaut (25565)
Teamspeak et CouchPotato : je ne sais pas.

Merci pour la réponse je ne connais pas trop le reverse proxy mais ça va être le moment d'apprendre :) c'est assez compliqué la partie réseau.
Des bon liens dessus a étudier ici ou sinon je google ça ?
Titre: Redirection sous-domaine sur une seule IP mais port différents
Posté par: Hugues le 06 juin 2016 à 14:36:18
Moi j'utilise Apache, il te faut quelques bases :)


Deux exemples de configuration, une avec HTTPS, et une sans :


Celle ci redirige le port 8085 (en HTTP) vers le port 443 en HTTPS, et redirige le HTTP en HTTPS.
<VirtualHost *:80>
        ServerAdmin hugues@milkywan.xyz
        ServerName  sickrage.hugues.saturn.milkywan.xyz
RewriteEngine on
        RewriteCond %{SERVER_NAME} =sickrage.hugues.saturn.milkywan.xyz
        RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent]
</VirtualHost>

<VirtualHost *:443>
ServerAdmin hugues@milkywan.xyz
ServerName sickrage.hugues.saturn.milkywan.xyz
ProxyPreserveHost On
ProxyRequests off
ProxyPass / http://localhost:8085/
ProxyPassReverse / http://localhost:8085/
SSLCertificateFile /etc/letsencrypt/live/sickrage.hugues.saturn.milkywan.xyz/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/sickrage.hugues.saturn.milkywan.xyz/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf



Et celle ci, plus simple, redirige juste le port 7777 vers le port 80 avec le domaine hastebin.milkywan.xyz.

<VirtualHost *:80>
#
ServerName hastebin.milkywan.xyz

ProxyPreserveHost On
ProxyRequests off
ProxyPass / http://localhost:7777/
ProxyPassReverse / http://localhost:7777/
#
</VirtualHost>


Dans les deux cas, selon le domaine spécifié, le proxy te renverra sur un autre site, ou une autre machine.  ;)
Titre: Redirection sous-domaine sur une seule IP mais port différents
Posté par: noctam le 06 juin 2016 à 14:41:05
Ah merci je vais regarder ça en rentrant du boulot et faire quelque test. j'en profite d’être en phase prep pour bidouiller avant de tout mettre en prod :)
je vous tiens au courant ainsi que si j'ai des petites questions techniques également

PS :Du coup si le programme n'est pas sur la même VM a la place de localhost je spécifie l'ip de la VM ?
Titre: Redirection sous-domaine sur une seule IP mais port différents
Posté par: TroniQ89 le 06 juin 2016 à 15:54:16
Je te propose dutiliser' le DNS SRV qui peux faire ce que tu veux. Regardé par exemple sur CloudFlare.
Titre: Redirection sous-domaine sur une seule IP mais port différents
Posté par: Hugues le 06 juin 2016 à 15:56:13
PS :Du coup si le programme n'est pas sur la même VM a la place de localhost je spécifie l'ip de la VM ?

Exactement, moi je mets le domaine local, mais c'est pareil.


Je te propose dutiliser' le DNS SRV qui peux faire ce que tu veux. Regardé par exemple sur CloudFlare.

Ben c'est le principe des VirtualHosts d'Apache...
Titre: Redirection sous-domaine sur une seule IP mais port différents
Posté par: noctam le 06 juin 2016 à 21:10:14
Bon je viens de tester la méthode de Hugues après quelques raté et le fait que je ne comprenais pas ou mettre ce fichier tout marche nickel maintenant.
Merci a tous pour votre aide :)
Titre: Redirection sous-domaine sur une seule IP mais port différents
Posté par: Hugues le 06 juin 2016 à 21:50:38
Et bien parfait ! Reste plus qu'a tout faire en HTTPS ! (Je viens d'y passer la soirée  ;D )
Titre: Redirection sous-domaine sur une seule IP mais port différents
Posté par: noctam le 06 juin 2016 à 21:52:03
hum euh oui on va y aller doucement haha  ;D
Titre: Redirection sous-domaine sur une seule IP mais port différents
Posté par: Hugues le 06 juin 2016 à 21:53:31
Plus doucement, il y'a IPv6  ;)
Titre: Redirection sous-domaine sur une seule IP mais port différents
Posté par: noctam le 06 juin 2016 à 21:56:30
tu souhaite vraiment me faire bosser  :-X
en effet mais l'ipv6 même si je l'ai activé ne me sert pas pour l'instant une fois que j'aurai de meilleurs base en réseaux je m'y attaquerai 
Titre: Redirection sous-domaine sur une seule IP mais port différents
Posté par: Hugues le 06 juin 2016 à 22:05:42
Pour IPv6, c'est très simple : tu mets une IP à ton serveur, tu mets des entrées DNS AAAA, et c'est fini ! (Sur Apache et Minecraft, tout du moins)
Titre: Redirection sous-domaine sur une seule IP mais port différents
Posté par: noctam le 07 juin 2016 à 07:17:39
ah bon ça va alors  :)