Bonjour,
une question que je m'etais posé, mais que je n'ai pas encore explorée :
est-il possible de créer des pseudos zones dns pointant sur les différentes machines de mon réseau, sachant que je n'ai qu'une seule adresse publique pour tout le réseau ?
explication détaillée : supposons 3 machines, pim pam et poum, et une webcam. Je souhaiterai un pim.chezmoi.com, pam.chezmoi.com, poum.chezmoi.com et enfin webcam.chezmoi.com, sachant qu'elles sont toutes sur le même réseau, mais que l'accés internet se fait via un routeur
Merci !
P.S : 1ère ébauche a froid : un port d'ecoute différent sur chacune des machines/webcam, l'ip publique redirige ensuite (grace à du virtual host) vers elle-même, mais avec le port qui va bien, de manière a ce que le routeur fasse suivre là où il faut. hum, oui, très gruik, et chiant pour ceux qui ont des restrictions sur les ports, mais j'suis une quiche en réseau donc on me pardonnera ^^
# Je comprend pas trop l'interet
Posté par ferveuol . Évalué à 0.
Si tu veu t'amuser a parler d'une machine a l'autre sans les ip tu peut modifier le fichier /etc/hosts et associé achaque ip un nom.
Voila en espérant répondre a ton attente.
[^] # Re: Je comprend pas trop l'interet
Posté par cho7 (site web personnel) . Évalué à 2.
Je peux me tromper mais le /etc/hosts il va falloir le modifier sur tous les postes, et ca ne marchera qu'en local.
Donc autre exemple :
chaque éléve d'une classe possède son propre serveur sur sa machine. ils écoutent tous sur le port 80. les machines sont toutes des prénoms d'éléves : jacques, henri, paul, et restent allumées tout le week end afin que les élèves puissent accéder au serveur web de leur machine.
L'école dispose d'un nom de domaine (et d'une adresse ip publique), et souhaite faire un accès depuis l'exterieur a chacun des serveurs webs de ses éléves, sous la forme http://eleve.ecole.com(...)
Comment puis-je faire ? (est-ce possible ?)
P.S : je ne demande pas une analyse de la pertinence de mon cas, mais une manière d'y arriver. (je sais très bien que dans ce cas l'idéal serait un documentBase différent mais sur le même serveur, plutot que 25 serveurs, mais encore une fois, c'est pour l'exemple !)
Merci
[^] # Re: Je comprend pas trop l'interet
Posté par ferveuol . Évalué à 1.
par contre il y a plusieurs sorte de NAT/PAT donc l'un consiste a mapper de port a port donc tu peu toujours relier un port 80 d'une machine local au port 2080 vu de l'exterieur l'appel depuis intenet ce fessant comme cela : http://NOMDEDOMAINE::2080/(...) . chaque ordi aura son propre port.
Si maintenant tu veut que chaqu'un garde le port 80 la je vois pas trop comment...
[^] # Re: Je comprend pas trop l'interet
Posté par cho7 (site web personnel) . Évalué à 2.
Bon comme indiqué dans mon message initital (dans le PS), j'ai moi aussi songé a la redirection de port. Le problème est que certains clients peuvent ne pas avoir le droit d'accéder à d'autres port que le 80 ou 443, donc il me faudrait une solution qui distingue non pas mes machines par leur port, mais bien par le suffixe du dns http://idmachine.domaine.com
[^] # Re: Je comprend pas trop l'interet
Posté par B. franck . Évalué à -1.
donc : on évite de tripoter le dns...
[^] # Re: Je comprend pas trop l'interet
Posté par cho7 (site web personnel) . Évalué à 2.
Hum. En fait, comme indiqué dans mon PS, j'ai effectivement songé au virtual host d'apache. Mais le virtual host ca ne marche que pour un seul serveur web, hebergant différent DocumentRoot.
Hors moi j'ai plusieurs serveurs web, et sur différentes machines, il me faudrait donc un truc similaire au virtual host d'apache, mais au niveau du routeur lui-même.
on évite de tripoter le dns...
beh que ce soit pour du virtual host ou quoique ce soit d'autre, il faudra que je déclare mes machines dans mes zones dns, sinon les connexions n'arriveront jamais au serveur
[^] # Re: Je comprend pas trop l'interet
Posté par LaBienPensanceMaTuer . Évalué à 4.
En gros, tu met dans un premier temps en place un bind 9 qui supporte le mecanisme des zones.
Tu crée une zone public ( pour tous ) qui fait correspondre à *.tondomaine.com ton ip publique.
Ensuite, tu crée une zone privée ( pour ton réseau ) qui elle fait correspondre mickey.tondomaine.com à 192.168.1.12 par exemple.
Après, tu met un apache sur ton ip publique, et tu crées 1 vhost par sous domaines (mickey.tondomaine.com, etc...).
Et c'est la qu'intervient mod_proxy et mod_rewrite:
<VirtualHost *:80>
RewriteEngine On
ServerName mickey.tondomaine.com
RewriteRule ^(.*) http://mickey.tondomaine.com$1(...) [P]
</VirtualHost>
Et la, le apache bindant sur l'ip publique va aller intérroger la machine mickey (qu'il verra à l'addresse 192.168.1.12 grace au mecanisme des zones) et reservir le résultat au client.
Lis bien la doc de mod_rewrite et celle de bind et tu devrais t'en sortir
[^] # Re: Je comprend pas trop l'interet
Posté par cho7 (site web personnel) . Évalué à 2.
En fait je ne l'avais pas précisé, mais une de mes contraintes etaient que mes zones dns etaient configurées chez gandi.
Mais je peux mettre un serveur dns esclave sur ma machine qui délimitera mes sous-zones, ce qui evitera d'utiliser le virtual-host, non ?
[^] # Re: Je comprend pas trop l'interet
Posté par LaBienPensanceMaTuer . Évalué à 2.
Du configures ton bind comme je te l'ai conseillé sauf que dans la zone publique tu le configures comme étant ns secondaire et tu restes ns primaire dans la zone privé, et voilà qui est réglé !
Sinon, j'ai répondu bon, ou je suis à coté de la plaque ?
Pasque je dois avouer que j'ai pas entièrement compris ta problématique.
[^] # Re: Je comprend pas trop l'interet
Posté par LaBienPensanceMaTuer . Évalué à 2.
Le truc c'est que c'est pas des virtuals host au sens propre du terme que je te propose de créer mais plutot une sorte de reverse proxy, ce qui me semble être adapté à ta problématique (du moins celle que j'ai comprise :p)
Mais tu pourras difficillement te passer des virtuals hosts ici ... 1 ip , 1 port 80, x site, c'est typiquement les problèmatiques "virtual host"
[^] # Re: Je comprend pas trop l'interet
Posté par cho7 (site web personnel) . Évalué à 2.
car si je veux acceder a pc1.chezmoi.com, ma requete http va atterir chez gandi, chez qui j'aurai déclaré la zone chezmoi.com. Et n'ayant pas déclaré de sous zone pc1 chez gandi, la requete va etre forwardé dans la zone chezmoi.com, là mon serveur dns va prendre le relai, et va dire, oui oui ya bien un pc1 ici en local, il va faire suivre, et hop, ca roule, non ?
Je ne vois pas pourquoi je devrais rajouter du virtual host en plus du serveur dns esclave, qui je pense devrait suffir a faire ce que je veux, mais j'avoue que j'ai pas de serveur dns sous la main pour tester...
[^] # Re: Je comprend pas trop l'interet
Posté par B. franck . Évalué à 1.
ton dns répondra alors à gandi qui s'empressera de mettre la réponse dans son cache pour la prochaine interrogation de la même forme...
que va répondre ton dns à celui de gandi ?
=> ton adresse publique
ton problème reste entier car le système de dns ne redirige pas les connexions, il informe seulement.
[^] # Re: Je comprend pas trop l'interet
Posté par cho7 (site web personnel) . Évalué à 2.
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 3.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: Reverse proxy
Posté par cho7 (site web personnel) . Évalué à 2.
Mais je pense que cette solution ralentirai le traffic, et donc la qualité de la future webcam pourrait être affecté
enfin bon, merci pour votre aide, quand j'aurai le matos jme pencherai plus sur la théorie des dns & co, car là il est évident que j'ai de serieuses lacunes.. :)
# \_o<
Posté par doublehp (site web personnel) . Évalué à 1.
soit
tu declare sur une de tes machines un server bind ordinaire, qui resolve les IP publiques, et tu lui ajoute une section de resolution d un domaine qui n existe pas sur le net ( pour eviter les conflits quand tu navigue), et tu lui associe tes IPs. alors dans la machine DHCP, tu renseigne cette machine comme DNS local.
soit:
tu renseigne les /etc/hosts de toutes tes machines (cet fichier a un equivalent sous win, donc ce n est pas un probleme).
Evidement, je prefere la 1ere sol, et je l ai deja implementee ... et je vais la reimplementer dans 2 semaines. C est comme quand tu cre un vrai DNS, sauf que tu payes pas, et que seul ton LAN y a acces.
[^] # Re: \_o<
Posté par cho7 (site web personnel) . Évalué à 2.
J'y expliquais que mes zones devaient être accessibles depuis internet, et pas uniquement sur le LAN
A priori une seule solution : pleins de zones pointant sur la meme ip publique, une serveur apache qui ecoute, qui divise ca sur ses virtual host, et qui "redirige" via le mod_proxy sur le pc_ki_va_bien.
Le serveur apache en 1ère ligne va tout se prendre dans les dents par contre, je sais pas si ca tient bien la montée en charge...
# Des nouvelles du front
Posté par cho7 (site web personnel) . Évalué à 2.
J'avais la flemme d'installer mod_proxy sur mon apache, donc du coup j'ai installé pound (trouvé via apt-get)
pound est un répartiteur de charge et fait aussi office de reverse proxy. Il est mega simple a configurer, et on peut faire avec ce que j'ai voulu faire, a savoir lui dire : "si host = plop.domaine.com va là, si c'est toto.domaine.com va là" et "si c'est autre chose va là"
Ca marche au poil, merci pound
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.