Jump to content

Proxy transparent multi-domaine


Recommended Posts

Salut tout le monde,

 

Je suis l'heureux propriétaire de plusieurs nom de domaines et de plusieurs serveurs Linux (virtuels ou non) chez moi (un portable avec des VM et un raspi).

 

J'aimerais, si c'est possible, pouvoir avoir un front-end qui redirige les requêtes d'un domaine:port vers le serveur interne de mon choix et ce quelque soit le protocole derrière.

par exemple:

  • domaine01.com:80 ---> 10.0.0.100:80
  • domaine02.net:80 ---> 10.0.0.101:80
  • domaine01.com:22 ---> 10.0.0.100:22
  • domaine03.org:22 ---> 10.0.0.200:22
j'ai cru voir au détour d'un post sur stackoverflow que je ne retrouve pas que ça pourrait exister mais je n'arrive pas à trouver comment mettre ça en place.

 

J'ai déjà SSLH qui permet de multiplexer le flux SSL et SSH mais pas vraiment de choisir le serveur en fonction du domaine (y'a bien la possibilité d'utiliser le SNI pour TLS, mais pas pour SSH).

 

Est ce que c'est possible? et si oui, comment le mettre en oeuvre?

edit: le problème n'est valable qu'en ipv4 parce que je n'ai qu'une seule adresse publique.

pas de problème en ipv6.

Link to comment
Share on other sites

Et pourquoi pas des virtual host ?

 

https://httpd.apache.org/docs/2.4/fr/vhosts/examples.html

ça pourrait, mais j'ai l'impression que ça ne fonctionne qu'avec le HTTP (et https), pas n'importe quel protocole. (et puis j'utilise nginx, de toute façon! :transpi:)

le but c'est de faire passer n'importe quoi (XMPP, SSH, openvpn, etc).

je me rend compte que ça ressemble vachement à du routage donc ça doit être faisable avec iptables mais je ne sais absolument pas comment mettre ça en oeuvre proprement et simplement.

Parce que s'il faut se farcir des commandes iptables à rallonge pour arriver au résultat, c'est un peu barbant, même si je l'utiliserai si c'est la solution.

Link to comment
Share on other sites

aussi possible avec nginx: https://www.nginx.com/resources/admin-guide/reverse-proxy/

:)

 

Mais sinon le plus simple c'est de le faire via le registar non?

 

Sauf si il y a beaucoup de changement de serveurs avec un besoin de changer instantanément :)

si seulement! mais j'ai qu'une seule IP publique, donc un seul point d'entrée pour le DNS. c'est pour ça qu'il faut que je fasse ça après le modem/routeur xDSL.
Link to comment
Share on other sites

Ben sur l'IPv6 tout sera natif si tu renseigne correctement ton DNS et en IPv4 il va falloir jouer avec iptables...

 

Mais franchement faire des redirections sur des ports identiques vers des IP différentes ca va etre casse....

 

Bon courage.

Link to comment
Share on other sites

Ben sur l'IPv6 tout sera natif si tu renseigne correctement ton DNS et en IPv4 il va falloir jouer avec iptables...

 

Mais franchement faire des redirections sur des ports identiques vers des IP différentes ca va etre casse....

 

Bon courage.

ouais je sais. mais ça commence à être dur à gérer actuellement parce que je commence à avoir des services qui ont la même "fonction" mais sur des serveurs différents.

c'est sûr que pour IPv6, ça serait beaucoup plus simple, mais depuis le boulot et depuis beaucoup de fournisseurs actuels, l'IPv6 n'est pas actif.

donc j'essaye de faire un palliatif pour le moment en IPv4 par dépit.

Link to comment
Share on other sites

ET pourquoi regrouper les services identiques sur le meme serveur ?

pour SSH, c'est un peu compliqué :D. c'est surtout lui qui me pose problème. on peut faire du bounce SSH mais c'est pas l’idéal. je préfèrerais un truc propre ou tout ce qui est domaine01 va vers serveur01 et domaine02 vers serveur02 pour pas se tromper.

 

edit: il y'a d'autres impératif (par exemple matériels) qui font que mon service HTPC ne peut pas être ailleurs que sur le Raspi et les VM ne peuvent pas être sur le raspi parce que... c'est un raspi et qu'il faut pas déconner, quand même! :D

 

 

actuellement, je me connecte à SSH à mon serveur front-end puis je me connecte depuis ce serveur aux autres. le problème c'est que le serveur en front est une VM et a potentiellement des problèmes de fiabilité. donc si elle tombe, je n'ai plus accès à distance au serveur hôte pour la relancer. (la logique n'est peut-être pas la bonne, il faudrait peut-être mieux mettre le SSH de l'hôte en front?)

 

il y a une grosse problématique de port car les ports sortants au boulot sont très peu (80 et 443) donc je peux pas multiplier les ports d'écoute.

 

et l'IPv6 qui sauverait tout n'est pas dispo. c'est un gros casse-tête, mais j'aime bien le défi.

Link to comment
Share on other sites

c'est déjà ce que je fais.

SSLH (en mode transparent) sur le port 443 redirige vers le ssh port 22 en localhost et je fais du tunneling si besoin.

Par contre je n'aimerais pas à avoir à le généraliser pour toutes les connexions car je ne peux pas forcément toujours faire faire du tunneling (depuis un appareil android par exemple).

 

non, la question de base, c'était de pouvoir mettre en place une solution globale pour pouvoir accéder à mes serveur par un nom avec les contraintes d'IP publique unique et de ports restreint. j'essaye ce soir, ou ce week-end si je vois que ça prend pas mal de temps, la solution avec iptables voir si c'est gérable et je regarde du côté du SRV record voir si je peux m'en servir.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...