DNS et réseau privé visible depuis internet

Forum sur la sécurité des réseaux, la configuration des firewalls, la mise en place de protections contre les attaques, de DMZ, de systèmes anti-intrusion ...

Modérateur: modos Ixus

DNS et réseau privé visible depuis internet

Messagepar OLG » 06 Nov 2004 03:27

Salut,

bon déjà le titre annonce un peu la couleur ... ce que je veux faire plusieurs ont plus ou moins poser la question mais il n'y a pas vraiment de réponse claire.

J'ai bien sûr parcouru le forum dans tout les sens avant de poser ma question que je pensais fréquente mais visiblement non ...

Voici ma problématique :

J'ai un PC qui me sert de passerelle, de Firewall, de DNS et tout autre chose qui peut m'être utile pour gérer la communication entre mon réseau privé et internet. Appelons le A (adresse privé : 192.168.0.1 et 1 adresse publique fournie par le FAI).

J'ai ensuite un PC nommé B qui sert de serveur WEB. (adresse privé : 192.168.0.2)
J'ai un autre PC nommé C qui sert aussi de serveur WEB. (adresse privé : 192.168.0.3)
J'ai un autre PC nommé D qui sert de serveur FTP. (adresse privé : 192.168.0.4)

J'ai acheté un nom de domaine disons olg.com

Je souhaite maintenant que lorsqu'un utilisateur sur internet tappe www1.olg.com il arrive sur B.
Quand il tappe www2.olg.com il arrive sur C.
Quand il tappe ftp.olg.com il arrive sur D.

On part sur le principe que j'ai une adresse IP fixe et une seule.

Comment faire ?

Merci d'avance,
OLG.

PS : peu importe les outils à utiliser je mettrais cela en oeuvre avec du Microsoft dans un premier temps et avec du Linux dans un second temps, une fois que la partie théorique sera bien défini.

PS2 : j'ai bien une idée à force de chercher mais je préfère ne pas vous influencer afin d'obtenir différentes, et surtout, la meilleure des solutions.
OLG
Matelot
Matelot
 
Messages: 8
Inscrit le: 05 Nov 2004 20:48

Messagepar tomtom » 06 Nov 2004 04:09

La suele chose que peut repondre ton DNS aux clients sur Internet, c'est la seule IP publique que tu possèdes, donc celle fournie par le FAI.

En clair, dans ton exemple :
www1 -> ip publique
www2 -> ip publique
ftp -> ip publique

etc pour tous les services que tu voudras implémenter.

Après, il existe plusieurs possibilités.

- Si tous tes services utilisent des ports différents, tu peux utiliser le numero de port pour relayer vers le serveur de ton choix (enfin, sous linux tu peux, sous windows je sais pas...)
ex : tout ce qui arrive sur ton "frontal" port 21 (ftp), tu le renvoies vers la machine correspondant au serveuir ftp, tout ce qui arrive sur le port 80 (www) tu l'envoies vers le serveur web etc.

- La ou ca se complique, c'est quand tu as plusieurs serveurs web par exemple.
Deux solutions s'offrent alors à toi :
--> Tu utilises des numeros de ports différents pour chaque serveur. ex : 80 et 81. L'ennui, c'est qu'un client sur internet doit connaitre le numero de port si ce n'est pas 80 (au travers d'un lien par exemple). Dans ce cas, on retombe dans le cas précedent, il suffit de faire de la translation d'addresse.
--> Tu veux que tous tes serveurs web soient accessibles par le ort 80. Il ne te reste plus que la solution du reverse proxy. Apache par exemple permet d'ecouter sur un port 80 (il recevra toutes les requetes), puis en fonction de l'url demandée (www1 ou www2), il relayera la requete vers le bon serveur de manière transparent.
L'idée, c'est alors de mettre apache en frontal avec autant d evirtual hosts que nécessaire, et de relayer vers les différents serveurs physique.

Bon courage,

a+

t.
One hundred thousand lemmings can't be wrong...
Avatar de l’utilisateur
tomtom
Amiral
Amiral
 
Messages: 6035
Inscrit le: 26 Avr 2002 00:00
Localisation: Paris

Messagepar OLG » 06 Nov 2004 12:10

C'est exactement ce que je cherche un soft qui est capable de rediriger de façon transparente les requete sur l'un ou l'autre des mes serveurs.

Mais la tu m'indique que Apache fait du reverse proxy, cela me limite donc aux serveurs web, or je recherche ce mode de fonctionnement quelque soit le port et quelque soit le protocole.

Par exemple si je veux faire fonctionner 2 serveurs ftp suivant la méthode du reverse proxy, est ce possible ?

Autre question est-ce que les DNS les plus courants (le cas échéant y en a t-il un ?) qui peut renvoyer, lors de la résolution d'adresse, une adresse + un port ? (en gros le protocole DNS supporte-t-il cette fonctionnalité ?)
Cela me permettrai en fait avec du PAT d'obtenir ce que je souhaite, et ce, de maniere totalement transparente.

Merci encore,
OLG.
OLG
Matelot
Matelot
 
Messages: 8
Inscrit le: 05 Nov 2004 20:48

Messagepar tomtom » 06 Nov 2004 12:27

OLG a écrit:Par exemple si je veux faire fonctionner 2 serveurs ftp suivant la méthode du reverse proxy, est ce possible ?

Il existe peut-ete es reverse proxyes ftp, je ne sais pas. Les cas du ftp est plus complexe à cause des 2 canaux de trabsmission...

Autre question est-ce que les DNS les plus courants (le cas échéant y en a t-il un ?) qui peut renvoyer, lors de la résolution d'adresse, une adresse + un port ? (en gros le protocole DNS supporte-t-il cette fonctionnalité ?)
Cela me permettrai en fait avec du PAT d'obtenir ce que je souhaite, et ce, de maniere totalement transparente.

Non définitif.
Le DNS est un protocole qui transforme des noms en ip (et vice versa). D'ailleurs, quand tu resouds un nom, tu peux vouloir acceder à differents services sur le meme nom... Comment le DNS pourrait-il devibner le service que tu souhaite utiliser ?

Désolé, il va te falloir costruire ton architecture autrement.

t.
One hundred thousand lemmings can't be wrong...
Avatar de l’utilisateur
tomtom
Amiral
Amiral
 
Messages: 6035
Inscrit le: 26 Avr 2002 00:00
Localisation: Paris

Messagepar OLG » 06 Nov 2004 14:29

tomtom a écrit:Non définitif.

Arf tu es en colère ?
Désolé j'ai pour habitude d'être curieux et de chercher toutes les solutions possibles ... avant de prendre ma décision. Je ne cherche pas la simplicité mais l'optimisation :)

tomtom a écrit:Le DNS est un protocole qui transforme des noms en ip (et vice versa). D'ailleurs, quand tu resouds un nom, tu peux vouloir acceder à differents services sur le meme nom... Comment le DNS pourrait-il devibner le service que tu souhaite utiliser ?

Désolé, il va te falloir costruire ton architecture autrement.

t.


Oui exact d'ailleurs en y réfléchissant j'aurais du y penser tout seul.

Quel dommage qu'un soft de reverse proxy général n'existe pas ... ca peut être une idée de dévelloppement.

Bref j'ai encore une autre question sur laquelle je n'ai pas pris le temps de faire de la recherche je l'avoue, mais si je veux que mon DNS gère mon domaine du point de vue internet, dois-je le préciser à mon registrar pour que son DNS redirige sur le mien les requete concernant mon domaine qu'il ne peut satisfaire ou est ce que le protocole DNS redirige par défaut quand il ne sais pas résoudre ?

En gros mon registrar gere olg.com, un client internet fait une requete sur www.olg.com que ne connai pas mon registrar. Est ce que le DNS de mon registrar va automatiquement rediriger le client vers mon IP en supposant qu'il y a un DNS, ou est ce qu'il renvoi directement un code erreur disant que cela n'existe pas ?

Hummm j'ai pas l'impression d'être trés clair ... en espérant que tu comprenne ce que je veux dire, dans tout les cas merci d'avoir pris la peine de me répondre ussi rapidement :)

@+
OLG
Matelot
Matelot
 
Messages: 8
Inscrit le: 05 Nov 2004 20:48

Messagepar Seumeneur » 06 Nov 2004 14:54

Ta reponse n' est pas tres claire lol. Je fais irruption parceque ton cas ressemble étrangement à toutees les questions que je me pose lol. Pour le reverse avec apache ( sous Linux ) : http://lea-linux.org/reseau/apache_conf.html regarde vers la fin de la doc, je pense que ça va t' intéresser. Pour le DNS, je ne sais pas. Perso, j' ai monte mon propre serveur DNS, 'il est sur mon réseau prive' Comme t' as l' air curieux autant que moi, et j' ai l' impression qu' on a les mêms objectifs. Pourquoi ne pas mettre ton propres DNS ? Au lieu de celui du registar. 9a sera plus pratioque si tu veix faire des tests etc..... non ?


@+++++
Avatar de l’utilisateur
Seumeneur
Aspirant
Aspirant
 
Messages: 103
Inscrit le: 05 Sep 2004 14:47

Messagepar tomtom » 06 Nov 2004 15:23

OLG a écrit:Arf tu es en colère ?
Désolé j'ai pour habitude d'être curieux et de chercher toutes les solutions possibles ... avant de prendre ma décision. Je ne cherche pas la simplicité mais l'optimisation :)

Je ne suis pas du tout en colère.
C'etait juste pour que tu ne te casse pas la tête, cette solution ne peut exister.

Quel dommage qu'un soft de reverse proxy général n'existe pas ... ca peut être une idée de dévelloppement.

Par définition, un proxy (ou reverse proxy mais c'est la même chose ;) ) doit savoir se comporter comme un serveur pour le protocole traité, puisque les requetes arrivent dessus, c'est lui qui doit repondre.
Donc un reverse proxy web se comporte comme un serveur web et parle htt. Un reverse proxy mail devrait se comporter comme un serveur mail etc. Pour cette raison, un proxy ne peut pas être "universel". Il doit être adapté à chaque protocole. Il est bien sur possible de réaliser un "super proxy" qui parlerait les protocoles les plus connus, mais ca reviendrait à mettre un proxy pour chaque protocole. Et, "simple is beautiful", je préfère un orogramme qui ne fasse qu'un choe mais bien qu'un programme à tout faire.
Sinon, il existe des relais tcp, c'est ce qu'on fait avec la redirection de ports, c'est à dire qu'en fonction du port destination et/ou source on peut rediriger sur des machines différentes.

Bref j'ai encore une autre question sur laquelle je n'ai pas pris le temps de faire de la recherche je l'avoue, mais si je veux que mon DNS gère mon domaine du point de vue internet, dois-je le préciser à mon registrar pour que son DNS redirige sur le mien les requete concernant mon domaine qu'il ne peut satisfaire ou est ce que le protocole DNS redirige par défaut quand il ne sais pas résoudre ?

En gros mon registrar gere olg.com, un client internet fait une requete sur www.olg.com que ne connai pas mon registrar. Est ce que le DNS de mon registrar va automatiquement rediriger le client vers mon IP en supposant qu'il y a un DNS, ou est ce qu'il renvoi directement un code erreur disant que cela n'existe pas ?

Hummm j'ai pas l'impression d'être trés clair ... en espérant que tu comprenne ce que je veux dire, dans tout les cas merci d'avoir pris la peine de me répondre ussi rapidement :)

C'est clair :) Mais là encore, ce ne sera pas aussi simple, même si cette fois il existe des solutions précises ;)

prenons un client qui veut resoudre www.olg.com

il ne sait pas où est ce serveur, il va donc traiter la chose linéairement :
- Il s'addresse à un serveur racine (root DNS), pour lui demander qui dans le monde est responsable pour les domaines *.com
- Le root server va en retour donner l'addrsse d'un dns gérant .com
- Le client va maintenant s'addresser à ce nouveau serveur pour lui demander s'il connait www.olg.com
- Il est peu probable qu'un des serveurs de com connaisse directement la reponse. En revanche, ton registrar aura fait le nécessaire pour declarer un dns qui fasse autorité pour la zone olg.com
- Le client s'addresse à ce nouveau serveur, référencé au sein de com, pour lui demander l'addresse www.olg.com

Deux cas se présentent alors :
- Le DNS autorité de la zone ne connait pas www.olg.com. Mauvaise réponse, le client aura une reponse du genre "impossible de résoudre le nom
- Le DNS autorité de la zone connait le com www.olg.com et retourne au client l'ip de ce serveur (avec des infos en plus).


On voit bien qu'un truc se passe au niveau du registrar. En général, par defaut, les registrars mettent à disposition de leurs clients leurs serveurs DNS.
Typiquement, le serveur dns autorité sur la zone olg.Com sera celui de gandi par exemple.
Dans ce cas, le registrar met souvent à disposition une interface web dans laquelle tu peux ajouter des hotes, des MX (serveurs de mails) etc. La qualité de cette interface est très variable.

Mais dans tous les cas, quel que soit ton registrar, ton domaine t'appartient. Tu peux alors demander au registrar de configurer au niveau des servuers de com ce que tu veux comme serveur de DNS principal. Ce peut être ton ip publique, (tu dois alors heberger un dns), ou un prestatire qui s'occupe de ton DNS...
Là encore, c'est souvent une interface chez le registrar qui te peremet de mettre ce que tu veux comme serveur DNS pour ta zone.

Espérant t'avoir aidé, .

t.

un lien pour comprendre tout ca :
http://www.dnsstuff.com/
dans la case en haut à droite, tu mets ton nom de oomaine, tu selectionnes NS comme type
Tu vas voir quels sont les serveurs DNS qui gèrent ta zone.
Si tu cliques alors sur le lien en bas (dns traversal), tu verras tout le cheminement de la requete DNS.

Il y a plein de trucs amusants à faire sur cette page ;)
One hundred thousand lemmings can't be wrong...
Avatar de l’utilisateur
tomtom
Amiral
Amiral
 
Messages: 6035
Inscrit le: 26 Avr 2002 00:00
Localisation: Paris

Messagepar Jkill » 06 Nov 2004 15:30

personnellement a la maison j'utilise les Virtual Host d'Apache (vhosts)

j'explique :

réseau privé :
PC1 : Serveur WEB (192.168.1.2)
PC2 : Server FTP (192.168.1.3)
PC3 : Server Mail (192.168.1.4)

chez mon registrar j'ai ceci

www.domaine.fr A x.x.x.x
ftp.domaine.fr A x.x.x.x
mail.domaine.fr A x.x.x.x

ou x.x.x.x est toujours la meme

ensuite sur le httpd.conf de mon serveur web je crée des vhosts
<VirtualHost *:80>
ServerName www.domaine.fr
...
...

</VirtualHost>

ensuite a toi de faire des liens entre tes machines, car toutes les requetes sont prise en compte par le serveur web avec cette méthode.
.:: JKiLL ::.
Avatar de l’utilisateur
Jkill
Premier-Maître
Premier-Maître
 
Messages: 69
Inscrit le: 09 Oct 2002 00:00
Localisation: chartres (28)

Messagepar OLG » 08 Nov 2004 13:33

OK OK, merci a tous pour vos réponses.

tomtom tu m'as bien éclairé/confirmé ce que je pensais.
Mais ce WE un pote m'a remis le doute il m'assure que son registrar (OVH) lui permet de configurer le DNS pour qu'en fonction de l'url, i retourne au client une IP + un port ...
Il m'a filé son compte j'irais vérifier cela és que j'ai 5 min pour comprendre comment cela peut onctionner et surtout si cela est vrai !

En ce qui concerne Apache, il gère peut être trés bien les virtuals hosts, mais pour moi c'est un serveur Web et il doit servir a gérer les requetes http.
Je ne veux pas m'en servir de reverse proxy ... je vais donc tenter de trouver la meilleure solution et peut être même un soft dédié à ce service que Apache prend en charge.

Je vous tiens au courant dés que j'ai fais le tour de la question car je ne suis pas encore satisfait ... et j vous fais si g le temps un petit état des lieux sur les solutions existantes et mon choix ;)

@+
OLG
Matelot
Matelot
 
Messages: 8
Inscrit le: 05 Nov 2004 20:48

Messagepar tomtom » 08 Nov 2004 15:06

OLG a écrit:Mais ce WE un pote m'a remis le doute il m'assure que son registrar (OVH) lui permet de configurer le DNS pour qu'en fonction de l'url, i retourne au client une IP + un port ...
Il m'a filé son compte j'irais vérifier cela és que j'ai 5 min pour comprendre comment cela peut onctionner et surtout si cela est vrai !

Ca ne eut marcher que par un système de proxy.
Il se peut que OVH heberge du reverse proxy et se charge de retransmettre vers les clients.. Il faut savoir qu'OVH est un hebergeur, les sites sont chez eux à priori !

En ce qui concerne Apache, il gère peut être trés bien les virtuals hosts, mais pour moi c'est un serveur Web et il doit servir a gérer les requetes http.
Je ne veux pas m'en servir de reverse proxy ... je vais donc tenter de trouver la meilleure solution et peut être même un soft dédié à ce service que Apache prend en charge.

Un reverse proxy est forcement serveur web. Après, qu'il serve le contenu local ou un contenu distant, ca ne change pas grand chose...
Je peux te dire sans entrer dans le détail que Apcahe est uitilisé en mode reverse proxy par de très grandes entreprises, pour faire en particulier du cache sur le premier reverse proxy et eventuellement du filtrage d'URL.
C'est une solution très costaud et très adaptée...

Maintenant, il existe d'autres reverse proxys pas mal, en particulier Pound.

t.
One hundred thousand lemmings can't be wrong...
Avatar de l’utilisateur
tomtom
Amiral
Amiral
 
Messages: 6035
Inscrit le: 26 Avr 2002 00:00
Localisation: Paris


Retour vers Sécurité et réseaux

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 0 invité(s)

cron