Serveur web local visible de l'exterieur

bonjour

voici un scema partiel de notre réseau

les passerelles sont configurer avec debian lenny
la passerelle 1 assure le parfeu, dns et heberge le site web de l’organisme, son interface connecté à internet est dotée d’une addresse public.
la passerelle 2 est configuré pour le partage de connextion internet.
l’application dans serveur web2 (avec adresse 192.168.3.9) devrait etre accessible à partir du net.
est-t-il possible que cette application (web2) soit visible du net sans attribuer une addresse public pour le serveur avec les commandes de iptables.
j’ai cherché sur le net, j’ai trouvé la redirection sur le port 80 mais dans mon cas je ne peux pas l’appliquer (tout le trafic http sera dirigé vers le 192.168.3.9 alors qu’on dispose d’un autre site web et nous avons besoin de l’internet pour les utilisateurs).

je comprend pas l’utilité de ta passerelle 2 ?

salut
le reseau 192.168.3.0 se trouve sur un lieu un peu loin du reseau 192.168.1.0, c’est un pc sur lequel on a installé debian lenny et le routage par masquage d’addresse permet aux utilisateurs du reseau d’accéder à internet.

[quote=“leo-jeans”]salut
le reseau 192.168.3.0 se trouve sur un lieu un peu loin du reseau 192.168.1.0, c’est un pc sur lequel on a installé debian lenny et le routage par masquage d’addresse permet aux utilisateurs du reseau d’accéder à internet.[/quote]

tu ne peux pas passer au CPL pour tes PC éloignés et n’avoir qu’un seul réseau ?

salut
je ne peux pas apporter de modification sur l’architecture physique du réseau.
je voudrais savoir s’il y a un moyen avec iptables pour rendre le serveur web 2 accessible de l’exterieur de l’organisme par internet.

A ma connaissance le seul moyen d’accéder de l’extérieur sur un PC du réseau est la redirection de port depuis le routeur.

salut

la redirection du port 80 empeche la connection au serveur web principale.
je devrais priciser que l’application web 2 est administré par un service de l’organisme et que certainnes parties sont accessible à tous les utilisateurs et d’autres ne le sont que pour les employés de ce service et c’est eux qui la gere. on ne peut pas la déplacer au niveau de notre service informatique.

Cela me semble normal puisque tu rediriges la passerelle sur une autre adresse .

A mon avis il faudrait un autre accès internet spécifique à ton réseau 192.168.3.X ou bien essayer sur ton site web1 mettre un lien vers ton web2 avec son adresse interne.

une addresse public pour le reseau 192.168.3.0 ne sera possible qu’avec la realisation d’une connection fibre optique. raison pour laquelle on essaye de trouver une solution logicielle.
je ne connais pas bien iptables. je ne sais pas si on peut isoler uniquement les requetes demandant l’accès à web2 puis les rediriger?
j’ai trouvé votre suggestion dans un forum mais je ne sais pas comment procéder?

je suis complêtement ignard sur tout ce qui est serveur et iptable, mais je crois qu’il serait possible d’envisager une solution…

du genre, tu re-route sur passerelle 1 toutes les requêtes http provenant d’eth1 vers internet par un port quelconque, en faisant attention de ne pas être en conflit avec les différents services déjà en place; et tu forwarde toutes les connexions provenant d’internet par le port 80, vers 192.168.3.9, sur un port quelconque, non-utilisé. à l’intérieur du réseau, les PC1 , 2 ,3 etc… passent par le port 80, à l’extérieur c’est par un autre port. et c’est l’inverse exacte pour le serveur web. Suis-je bien clair ? ^^

Je n’ai jamais fais ça, mais logiquement c’est la solution à laquelle je penserais. Il ne te reste plus qu’à trouver les commandes iptables qui appliquerais ça. ça ne doit pas être bien sorcier à trouver. Et je suis à peu près sûr que c’est possible.

Oui mais de cette façon il n’accèdera plus au web1 depuis internet puisque tu auras forwarder sur web2.

Faudrait un spécialiste des réseaux compliqués. :slightly_smiling:

definir les route du 192.168.1.1 jusqu’a 192.168.3.9 n’est pas un problème.
avec iptables, j’aimerai savoir comment isoler le trafic destiné à web2 sans perturber les autres utilisateurs du reseau ie ils devrons avoir la connextion au net et au web pincipal aussi. j’ai cherché sur le net en vain

Si sur ton WEB1 tu as une page avec un lien vers ton WEB2 et que ton serveur de DNS sur ta passerelle1 connait l’adresse de WEB2 cela devrait fonctionner non ?

Le problème c’est que le protocole http utilise obligatoirement le port 80 en entrant et en sortant, et donc tu ne peux pas faire grand-chose avec les redirections de ports.

Une autre idée tu mets ton WEB2 sur ton serveur WEB1 comme sousdomaine avec un htaccess pour avoir un accès réservé.

je vais essayer, merci

Ton problème est que tu veux mettre deux serveurs Web derrière une seule IP publique. Le fait que ton réseau soit plus compliqué n’y change rien (tu te fais juste un peu plus chier pour définir des routes).

Une possibilité serait de trouver un abonnement au net qui te donne au moins deux adresses publiques, pour pouvoir attribuer un serveur à chaque adresse. Mais d’une part, je suis à peu près sûr que tu ne trouveras pas dans les abonnements pour particuliers ; et d’autre part, il faut vérifier si iptables ou autre (quagga ???) sait « natter » deux adresses publiques (là, je n’en sais rien). Ça me semble donc mal barré.

Une autre serait de rediriger le port 80 côté public sur un des serveurs, et un autre port (8080, par exemple) pour le deuxième (soit en faisant du PAT, soit en faisant écouter le serveur en question sur ce même port).
Le problème qui se pose, c’est que le client doit savoir qu’il doit intérroger sur le port 8080 (son navigateur lui mettra par défaut), et je ne pense pas non plus que les moteurs de recherche iront voir par là. Ça peut être contourné en faisant deux VirtualHosts sur ton serveur « port 80 », qui répondront chacun à un nom d’hôte (truc.tondomaine.tld et bidule.tondomaine.tld - il faut que les deux pointent sur ton IP publique) : l’un affichera ton premier site et l’autre fera une redirection vers l’autre port pour afficher le deuxième. Mais ainsi tu perds l’avantage d’avoir deux serveurs : si le premier tombe, le second n’est plus visible (il reste cependant toujours accessible à ceux qui savent le port à utiliser).