Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 03-01-2011 08:29:03

Patriboom
Membre
Lieu : Arctique canadien
Distrib. : Jessie
Noyau : Linux 3.16.0-4-686-pae
(G)UI : MATE
Inscription : 25-12-2008
Site Web

IP fixe DHCP et nom de domaine local sur différents ports

À la suggestion de Joel (dit smolski), je joins ici mes sujets Sites différents selon qu'on demande port 80 ou 81 et IP fixe sans internet, DHCP avec internet  dans une forme de synthèse qui pourra servir de tuto à qui veut se lancer dans cette aventure pas si compliquée.

Voilà, le but de la chose était initialement de donner accès à des sites en construction, n'existant que sur ma machine personnelle.  Cette accès passe par un IP du fournisseur d'internet et cet internet par un router domestique, lui-même gestionnaire DHCP, schéma classique d'internet à plusieurs dans une maison nord-américaine.

Les sites à exposer sont dans des répertoires distincts dont la branche commune est ou trop lointaine ou sensible à l'exposition internet.
Les sites n'ont pas de nom de domaine public ou gratuit ou quelqu'accessibilité que ce soit autrement que par l'IP fourni par le FAI.  Pour les distinguer, il faut ouvrir un port autre que le 80 pour au moins un des deux sites (our plus de deux sites, il ne faudra qu'ajouter en fonction des besoins).

Nous suivrons ici le chemin inverse de ce que fera le visiteur qui - lui - rencontrera d'abord votre modem DSL (ou l'équivalent), puis votre routeur, puis le site.  Nous configurerons donc d'abord le serveur, puis l'accès réseau à votre ordi pour finir en ouvrant la porte au visiteur sur un monde prêt à le recevoir.

[---]
[large]Configuration du serveur[/large]
Les fichiers touchés seront
[q]/etc/apache2/sites-available/default[/q]
[q]/etc/apache2/ports.conf[/q]
[q]/etc/hosts[/q]

/etc/apache2/sites-available/default
Notez d'entrée de jeu, que vous pourriez très bien choisir d'avoir des fichiers séparés, un par serveur, un par site, un par ce que ça vous tente.  En ce cas, n'oubliez pas de faire des liens symboliques dans sites-enabled pointant vers le fichier de configuration se trouvant dans sites-available
Déjà ici, nous devons décider de l'IP fixe à utiliser.  Dans notre exemple, nous garderons le cap sur 192.168.0.172  Cette adresse devra être TOUJOURS LA MÊME tout au long du présent processus.

dans sites-available/site1 il y  a écrit:

<VirtualHost 192.168.0.172:80>
        DocumentRoot /var/www/site1/
        <Directory /var/www/site1/>
             # ici les options pour le site
        </Directory>
</VirtualHost>


dans sites-available/site2 il y  a écrit:

<VirtualHost 192.168.0.172:81>
        DocumentRoot /var/www/site2/
        <Directory /var/www/site2/>
            # options du site
        </Directory>
</VirtualHost>


/etc/apache2/ports.conf
C'est ici qu'on choisit les ports auxquels seront rattachés les différents sites.  Or, nous savons d'avance que le port 80 est celui attribué aux requête tcp venant de l'internet.  Dans l'exemple actuel, nous utiliserons le port 81 pour le deuxième site, le 80 pour le premier site et une adresse IP commune.
C'est ici aussi que nous commandons au serveur d'écouter le nouveau port.
Un extrait de mon fichier:

NameVirtualHost 192.168.0.172:80
NameVirtualHost 192.168.0.172:81
NameVirtualHost *:80

Listen 80
Listen 81


Nous reconnaissons ici notre IP fixe 192.168.0.172, mais allongé de :80 ou de :81.  Ce sont les numéros des ports.
La ligne Listen 80 devrait être déjà dans votre fichier. Si non, ajoutez-la.
Notez Listen 81: ligne très importante à ajouter.

/etc/hosts
Nous faisons ici le lien entre les IP et le noms de domaine.
Comme dit ci-bas, vous ne pourez pas avoir deux noms de domaines distincts à moins que vous ne fassiez à deux IP locaux distincts. 
Dans notre cas, les deux noms de domaine pointeront vers 192.168.0.172:80 même si ils sont différents et que nous comprenons qu'ils pointeront vers deux IP distincts.

À la site de 127.0.0.1 localhost qui devrait déjà se trouver dans votre fichier, on ajoute

192.168.0.172 nomdedomaine1 Pseudonyme1
192.168.0.172 nomdedomaine2 Pseudonyme2


On peut déjà relancer le serveur apache2 et tester qu'il ne retourne pas d'erreur, mais on ne peut encore rien faire sur le navigateur internet.
/etc/init.d/apache2 restart

[large]Configuration de l'IP fixe[/large]
Un seul fichier sera à modifier ici:   /etc/network/interfaces

Pour conserver à la fois l'accès à l'internet par DHCP (fourni par le routeur) et une adresse IP fixe, nous devons avoir les deux.
Mais puisque nous ne travaillons ici qu'avec une carte réseau, il faut faire appel à une carte virtuelle.  La carte réseau étant eth0, la carte virtuelle sera eth0:0
Voici un extrait de mon fichier /etc/network/interfaces

# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp

#carte virtuelle pour donner acces a un IP fixe, serveur special
#Conforme a http://www.debian.org/doc/manuals/debian-reference/ch05.fr.html#_the_virtual_interface

iface eth0:0 inet static
 address 192.168.0.172
 netmask 255.255.255.0
 broadcast 192.168.0.255
 gateway 192.168.0.204

auto eth0
auto eth0:0


Vous y remarquez que la carte eth0 n'a aucun spécifications qui lui soit rattachée.  Tout lui vient du serveur DHCP
Quand à la carte virtuelle eht0:0, toutes les informations essentielles sont déterminées par nous.
La seule nouveauté dans ce série d'IPs c'est l'introduction de 192.168.0.204, correspondant à l'adresse de votre routeur. 
Voyez votre routeur pour plus d'informations, mais si vous ne l'avez pas configuré encore ce devrait être 192.168.0.1
Notez que j'ai commandé ici que ma carte virtuelle soit démarrée automatiquement au démarrage de mon ordinateur (auto eth0:0
Si vous préférez le démarrage manuel, ce sera avec ifup eth0:0

Ces modificationns apportées au /etc/network/interfaces , nous redémarrons l'interface réseau :   /etc/init.d/networking restart
Soyez attentif à votre écran, dans le premières informations relatives à la carte eth0, vous trouverez l'adresse IP qui lui est attribuée, vraisemblablement 192.168.0.101 si vous n'avez pas configuré votre routeur.

À partir d'ici, vous pouvez tester la réponse de votre serveur à l'appel des sites.
À l'adresse 192.168.0.172:80 , vous devriez voir apparaître le site1
À l'adresse 192.168.0.172:81 , vous devriez voir apparaître le site2
Quelle que soit le nom de domaine que vous aurez choisi pour les différents sites, tous deux pointeront vers le site1

[large]Ouverture au grand public[/large]
Nous en sommes à l'étape finale: configuration du routeur.
Ici, les choses se compliquent un peu, car les façon de faire diffèrent d'une compagnie à l'autre.
Je crois que votre gros bon-sens vous permettra de vous y retrouver même si je présente ici les choses faites sur D-link.
D'abord on accède au routeur:  vous vous rappelez l'adresse que je vous avais demandé de surveiller?  C'est ici qu'elle servira.
Dans un navigateur internet, vous inscrivez cet IP dans la barre d'adresse, dans mon exemple, c'est 192.168.0.204, la vôtre est probablement 192.168.0.1 si vous n'avez pas configuré votre routeur encore.

Page du routeur, mot de passe, blabla.  Pour D-link c'est "admin" dans la première case et aucun mot de passe   (veuillez changer le mot de passe pour un minimum de sécurité)

Pour s'assurer que notre IP fixe ne soit pas attribué à d'autres ordinateurs en l'absence de notre serveur de développement, on attribue une plage d'IP différente au serveur DHCP du routeur.  Chez D-link, on trouve cela dans l'onglet   "Setup - network setting"
  Dans mon cas, j'ai mis de 192.168.0.175 à 192.168.0.180
  ->Sauvegardez le changement

Puis on va dans la gestion des ports, chez D-link c'est dans "Advanced - port fowarding"
  Application name: HTTP
  IP Address: votre IP fixe, dans mon exemple:  192.168.0.172
  Port start: 80
  Port stop: 81
  ->Sauvegardez le changement

Tandis que vous y êtes, allez donc voir dans "Status", vous verrez dans le cadre "WAN", l'adresse IP que votre FAI a attribuée à votre réseau local.  Ce sera utilie pour le test final.  Ce sera l'adresse que nous appellerons ici xxx.yyy.zzz.aaa

[large]Test final[/large]
Utilisant l'IP qui vous est attribué par votre FAI, inscrivez-la dans votre navigateur en spécifiant le numéro du port.
Il faut tester chacun de vos sites.
Avec le port 80, l'adresse devrait être abrégée automatiquement par le fureteur.  Pour les autres, vous le numéro restera affiché.
Ainsi, à l'adresse du port 80  (  xxx.yyy.zzz.aaa:80  )  devrait correspondre le site1
tandis qu'à l'adresse du port 81  (  xxx.yyy.zzz.aaa:81   ) devrait correspondre le site2

[large]Compléments[/large]

Après multiples expérimentations, il est inutile de modifier /etc/dnsmasq.  En fait. la solution proposée ici exclut totalement cet serveur.  Cependant, si vous l'utilisez, vous DEVEZ adapter les dnsmasq aux nouvelles réalités.

Aussi, il s'avère impossible d'avoir deux noms de domaine différents (en local) pour des sites qui ne diffèrent que par leur port.  apache2 ne fera pas de différence à l'interne.  Pour faire cela, il faudrait faire deux inscriptions dans le registre du routeur, une pour chaque site, chacune répondant à un port distinct et référant à une adresse IP fixe distincte.   Aussi, il faudrait ajouter une carte virtuelle dans /etc/network/interfaces



Merci à Tux12 pour son aide

Dernière modification par Patriboom (03-01-2011 08:38:03)


Portez la paix
Patrick Allaire, ptre

Hors ligne

#2 03-01-2011 08:52:03

smolski
administrateur quasi...modo
Lieu : AIN
Distrib. : 8 (jessie) 64 bits + backports
Noyau : 4.6.0-0.bpo.1-amd64
(G)UI : gnome 3.14.1
Inscription : 21-10-2008

Re : IP fixe DHCP et nom de domaine local sur différents ports

Super Patriboom !

Merci de cette description détaillée. C'est quasi un tuto définitif !

Hop ! big_smile

"Définition d'eric besson : S'il fallait en chier des tonnes pour devenir ministre, il aurait 2 trous du cul." - JP Douillon
"L'utopie ne signifie pas l'irréalisable, mais l'irréalisée." - T Monod (source :  La zone de Siné)
"Je peux rire de tout mais pas avec n'importe qui." - P Desproges
"saque eud dun" (patois chtimi : fonce dedans)

En ligne

Pied de page des forums