Aide - Recherche - Membres - Calendrier
Version complète: Configurer Serveur Avec Redirection De Port
La Communauté du 7 > Materiels et paramétrages > Forum Tutoriels


netubies
Rappel de l'objectif -> accèder en HTTP via le port 80 sur l'IP publique de ma c-box à un service hébergé sur une machine de mon réseau local et qui tourne sur un port différent (8080 en l'occurence).

J'ai retenu le terme "serveur" pour désigner une machine physique et "service" pour désigner un serveur applicatif (serveur web ou serveur ftp par exemple).

1er point : attribuer une IP fixe au serveur qui héberge le service
--------------------------------------------------------------------------------
Il est préférable d'attribuer une IP fixe à cette machine pour éviter les mauvaises surprises avec le DHCP en cas de bail DHCP dépassé (ce point n'est pas obligatoire mais c'est largement préférable).

De façon simplifiée et rapidement pour ceux qui ne savent pas, le bail détermine pendant combien de temps une association d'une adresse MAC (adresse physique de la carte Ethernet, unique par construction dans le monde entier) avec une adresse IP (adresse logique) est conservée par le serveur DHCP. Si une demande d'adresse IP n'est pas effectuée en provenance de l'adresse MAC associée pendant une durée supérieure à ce bail, l'adresse IP qui lui est associée est "libérée" et peut être attribuée à une autre machine sous certaines circonstances.

Imaginez que vous partiez en congés pour une durée plus longue que la durée par défaut du bail DHCP (7 jours dans la config standard de la c-box), que vous éteigniez vos machines pendant ces congés, et que vous rallumiez vos machines dans un certain ordre, leurs IP changeraient et la configuration de votre firewall serait à revoir (voire la configuration de votre service dans certains cas, selon le type de service, le type de configuration effectué, voire son implémentation).

Ce n'est pas bien compliqué et le net regorge d'exemples (google est ton ami), je ne vais pas m'étendre sur le sujet.

Il faut juste faire attention à prendre une adresse en deça de la première adresse fournie par le service DHCP de la c-box pour éviter des conflits.

Avec la configuration par défaut, le service DHCP distribue des adresses dans la plage 192.168.30.10 à 192.168.30.50 et les adresses 192.168.30.2 à 192.168.30.9 sont donc disponibles comme IP fixes (192.168.30.1 étant pris par la c-box pour son ip privée).

Configurer votre machine non plus comme client DHCP mais en IP fixe en faisant attention à conserver le même masque de sous réseau (par défaut 255.255.255.0, 192.168.30.0 étant un réseau de classe C), la passerelle par défaut est l'adresse interne de la c-box (192.168.30.1 par défaut), idem pour le serveur DNS.

2ème point : protocole de test
----------------------------------
Il faut tester depuis un accès externe l'accès au port 80, faute de quoi on tombe toujours sur l'appli de configuration de la c-box et on ne peut pas vérifier le bon fonctionnement.

Faute d'avoir tenu compte de ceci, j'ai perdu pas mal de temps à m'arracher les cheveux en me demandant pourquoi ça ne fonctionnait pas, à insulter la terre entière, et à maudire l'interface de la c-box, sans compter que j'étais persuadé que tout le monde pouvait accèder à la config de mon routeur ce qui me rendait un peu nerveux...

Un pote administrateur réseau d'une boite m'a ouvert un accès SSH sur une de ses machines et j'ai pu ainsi tester avec lynx (navigateur en mode texte, si si ça existe...)

A défaut d'avoir un pote administrateur réseau, vous aurez bien un copain qui a un accès internet, voire un vieux PC qui traine avec un modem RTC (je n'ai pas testé et on me contredira peut être mais il doit être à priori possible d'accèder à internet par modem classique et par ADSL sur la même ligne en même temps vu que ce ne sont pas les mêmes fréquences qui sont utilisées).

Dernière solution : trouver un proxy http public (google is your friend again) et configurer son accès Internet pour passer par le proxy. A la limite c'est encore le plus simple.


3ème point : la configuration du firewall
-----------------------------------------------
La marche à suivre n'est pas forcément très intuitive mais une fois qu'on sait, c'est pas compliqué. Pour la petite histoire, j'ai fait un test avec le menu "Activation d'application" et j'ai regardé les règles que ça créait pour comprendre comment faire.

Au passage, l'utilisation du menu "Activation d'application" répondra aux besoins de beaucoup mais elle est limitée :
- en terme de possibilités offertes par défaut (http, ftp et deux ou trois bricoles)
- dans le sens qu'elle ne permet pas de faire de la redirection de port (votre service doit tourner sur son well known port - 80 pour http par exemple-, si vous voulez pour une raison X le faire tourner sur un autre port, c'est niqué)

Il faut d'abord créer une règle de redirection. Aller dans le menu Firewall, onglet "Politique basée sur NAT" et ajouter une entrée avec les caractéristiques suivantes :
- Redirection de port (bouton radio)
- de IP X.X.X.X (IP interne de l'ordinateur qui héberge le service, 192.168.30.3 dans mon exemple).
- de port XXXX (port sur lequel écoute le service, 8080 dans mon exemple)

Il faut ensuite créer une règle de firewall. Aller dans le menu Firewall, onglet "Politiques" et ajouter une entrée avec les caractéristiques suivantes :
- interface de réception ppp0
- interface d'émission ppp0
- n'importe quelle IP source (sauf si vous voulez limiter l'accès à votre service à une machine particulière mais généralement ce n'est pas ce qui est désiré)
- n'importe quel port source
- n'importe quelle IP destination (de toute façon vous ne recevrez que le traffic qui vous est destiné)
- uniquement pour le port destination 80
- et très important, associer cette règle de firewall avec la règle de redirection créée au point précédent via la liste déroulante prévue à cet effet


Finalisation
-------------
C'est tout.

Testez et si c'est OK, n'oubliez pas sauvegarder la configuration du firewall par le menu Sauvegarder (+ clic sur Sauvegarder).

Je ne l'ai pas précisé mais il faut bien entendu que le firewall fonctionne sur la c-box (sinon ça marche beaucoup moins bien).


Voilà. Pas très compliqué au final si ce n'est que l'interface de la c-box n'est absolument pas à mon gout. A vouloir trop simplifier l'utilisation, on masque la logique du bouzin ; en ce sens je préfère 100 X une interface en ligne de commande, c'est plus bas niveau mais au moins on sait où on met les pieds. Il serait intéressant qu'on ait les deux possibilités (mais si ça se trouve c'est possible et je n'en sais rien).

Une petite suggestion pour monsieur Cegetel : fournir une documentation à jour et digne de ce nom pour la c-box (les aides qui se contentent de lister les champs à l'écran en donnant comme information à peu près ce qu'on sait déjà par le libellé à l'écran ne sont pas d'une grande utilité, et quand en prime les écrans décrits dans la doc ne sont pas ceux du logiciel ...).
Fred
Bonjour et merci pour ce tuto. smile.gif
netubies
Complément en image : un tutoriel très bien fait :

http://www.dslvalley.com/dossiers/cbox/cbox.php
Gaspard
CITATION(netubies @ Mar 24 2006, 01:44 AM) *

Est-ce la bonne adresse ?

J'obtiens :
CITATION
Warning: mysql_connect(): Lost connection to MySQL server during query in /home/web/users/dslvalley.com/htdocs/accessbd/connexionpub.php3 on line 8
Le serveur de base de données n'est pas disponible pour le moment. Si ce problème persiste veuillez nous en informer.
Fred
Bonjour Gaspard,

C'est bien la bonne adresse. Ce genre de message d'erreur survient de temps en temps lorsqu'un problème survient avec l'hébergeur du site (nous aussi, pouvons en avoir ici ; c'est très rare mais ça arrive).
7What
Bien ce tuto, j'ai pu router un serveur IIS. Je connaissais pas les proxy publiques, les politiques NAT, les politiques tout court, merci netubies.
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2008 Invision Power Services, Inc.
JustNeuf | EligiBox | Dépannage Informatique Nice