Comment proposer quelques VPS avec une seul IP Fixe ? (pas possible ...)

#1

La question va en faire marrer un paquet , mais bon. :roll_eyes:
J’ai bien peur que ce ne soit pas possible d’héberger plusieurs VPS accessibles (via ssh) sur une seule IP (ou deux) ?
J’ai bien pensé à jouer avec les ports … là c’est jouable + nat avec firewall, vlan etc …
VPS1 ssh -p 1001
VPS2 ssh -p 1002

LE souci c’est qu’une fois le VPS (l’OS au choix du gars qui va le gérer) activé et accessible, on peut certes faire du ssh dessus …
Mais si l’admin du VPS veut ,ce qui est inévitable, avoir son site web , son nom domaine etc etc … là cela devient bcp mais alors bcp plus complexe … (car actuellement tout tombe sur un seul et unique reverse proxy nginx …)
ou alors jouer avec le DNS … et se contenter de site avec sous domaine ?

Existe-il une recette particulière ? (question naïve ) :crazy_face:

#2

Si tu te bases sur le SNI, tu peux imaginer faire un reverse proxy qui utilise le SNI pour aiguiller des flux TLS de tous types vers la bonne VM. Je pense qu’il y a moyen d’avoir une config qui fonctionne suffisamment facilement pour que tu ais juste à ajouter la VM plus éventuellement ajouter un tout petit fichier de conf avec la liste des domaines gérés par la VM.

Ce qui implique une API que tes users peuvent utiliser pour configurer un nouveau nom de domaine.

haproxy sait faire, et je pense que nginx aussi.

Avec IPv6, tu peux avoir un préfixe et mettre une ipv6 par VPS.

Et pourquoi tu ne demanderais pas des ipv4 à un LIR (pour les annoncés)? Ou alors à un FAI (pour les router avec un VPN) ? T’avais pas une connexion illyse, ils peuvent peut être te l’apporter via ta connexion ?

Je me demande aussi dans quel mesure tu pourrais annoncer des routes ipv6 via un tunnel hurricane electric.

Sinon y a des bidouilles à base de reverse proxy distant, ou de tor hidden services, mais c’est pas ce que tu cherches je pense.

J’ai vu aussi quelqu’un utiliser l’app zerotier pour gérer une problématique qui ressemble. Mais j’ai aucune idée de comment ça marche https://forum.yunohost.org/t/brainstorming-untrusted-guest-or-non-standard-networks/10258

#3

REVERSE PROXY !

Au choix :

  • NginX mon préféré
  • HaProxy : bon courage avec la doc

Et oui je ris (pas sous cape, ouvertement)

Enfin pour le SSH c’est pareil mais ça s’appelle un bastion, tu t’y connecte en premier et ensuite tu te connecte au VPS via le réseau privé.
Du coup tu peux utiliser l’option ProxyJump dans ton beau fichier .ssh/config

#DeRien

#4

ben j’ai déjà tout cela, et tu le sais … ouvertement ! mouahhh :wink:

  • l’idée d’un deuxième bastion : excellent (comme ça même niveau de secu . que pour l’accès admin actuel, sans ident. par mot de passe mais exclusivement par clef … => !), donc sur le bastion il faudra un compte user par accès VPS apparemment (car si tous partagent le même user donc meme .ssh/config => pas bon du tout).

  • oui en effet le nginx (et ça aussi c’est déjà en prod) … par contre obligé de se fader le .conf pour chaque site (si les adhérents veulent leur nom de domaine à eux !!), pour la zone DNS idem il va falloir intégrer la gestion de zone en la séparant des conf de notre hébergeur … ==> cela oblige à créer des fucking Hooks et affinement de UI sous FusionDirectory … là ça complexifié bcp de chose … (ou pas !)

  • obligation de faire des VLAN par VPS … la cela va être bien lourdingue à gérer … car sinon comment cloisonner les VM/CT (VPS) de chaque adhérents qui commande son vps ?

Bref un vaste et gros projet en vue … avec zéro exp. pour ma part … lol.

#5

Et ? en quoi est-ce un problème ?

Et ? Tu fais un rôle ansible qui gère la création des hébergement et prend en charge la création du vhost sur ton proxy,
Je dis ansible mais tu utilise bien ce que tu veux

Oui mais c’est toi qui aime te faire mal, si tu met tt le monde dans le même LAN et que tu bloques les gens par clé ssh : tu dors mieux et plus vite…

C’est pas ce que tu nous as vendu :smiley:

#6

Et ? Tu fais un rôle ansible qui gère la création des hébergement et prend en charge la création du vhost sur ton proxy,Je dis ansible mais tu utilise bien ce que tu veux

J’ai mis en place Ansible mais je m’en sers en mode manuel, avec parcimoni … car il y a des surprises avec cet outil, genre les retours d’apt up , upgrad à distance … je vois pas les résultats exacts.
J’ai eu le cas ou l’update me vrac mon serveur nginx php, normal : un reboot était nécessaire … mais ce n’était dit ou écrit nul part … :wink:
Ansible couplé avec FusionDirectory est une bonne piste.

Oui mais c’est toi qui aime te faire mal, si tu met tt le monde dans le même LAN et que tu bloques les gens par clé ssh : tu dors mieux et plus vite…

Non , non, tout sauf sado et maso , clairement. Juste faire les choses normalement avec un minimum de sécurité : AMHA.
Sauf que tes adhérents, avec chacun sa VM/CT (VPS) ,vont voir les autres … VM/CT ping mon voisin.com ! (puisque même réseaux) : tu trouves cela cool et acceptable ?
Ou alors faut gérer cela sur le proxmox la partie VLAN.

#7

Une idée faisable avec la directive access_by_lua_file de nginx qui t’éviterais de faire les confs à chaque fois. (sans doute avec plein de edge case de sécu au niveau attaque par dns, à méditer…)

Tu demandes à tes utilisateurs de VPS, de configurer un champs TXT DNS pour chaque domaine et sous domaines qu’ils utilisent. Dans ce champs TXT ils doivent indiquer leur ip locale du VPS.

Lorsque la requête TLS/HTTP arrive, tu récupères le SNI (sans déchiffrer le flux si TLS), tu regardes en cache et tu fais une requête dns pour savoir vers quel ipv4 locale envoyer.

Comme ça tes utilisateurs peuvent configurer les choses en toute autonomie, sans qu’il y ai besoin que tu découvres tous les noms de domaines de tes utilisateurs, ni que tu lances un script :slight_smile:

Peut être qu’un script lua de ce genre existe déjà.