Changes

From SME Server
Jump to navigationJump to search
RC-01
<!--__NOTOC__ -->
__TOC__


= Description générale =

Cette marche à suivre décrit les étapes pour l'installation d'un service de mandataire inversé sur un Serveur SME principal connecté à l'Internet afin qu'un autre Serveur SME, sur le réseau LOCAL, devienne accessible depuis l'Internet. Le serveur principal devient transparent pour le serveur WEB local et ce dernier semble directement branché à l'Internet.

[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;Le serveur local peut être physique ou virtuel.

= Mandataire inversé =

<span style="font-size:125%">'''Serveur directement relié à l'Internet'''</span>

Normalement, notre Serveur SME est directement relié à l'Internet à travers un modem ADSL/VDSL tel qu'illustré ci-dessous.
[[Image:MandataireInv-001-ReseauSTD.png|top|center|600px]]


[[Image:MandataireInv-002-SM-Domaine-Passerelle.png|top|right|600px|border]]
Si nous voulons accéder à notre installation Web depuis l'Internet, il faut avoir un nom de domaine FQDN et celui-ci doit pointer vers une i-bay.

'''Server-Manager > Configuration > Domaines > Modifier.'''

Notre nom de domaine est: <span style="color:blue">'''micronator.org'''</span> et notre installation Web est située dans l'i-bay Primary ''(site primaire)''. Il faut donc que ce domaine pointe vers cette i-bay.
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>

[[Image:MandataireInv-003-SM-ServeurDNS.png|top|right|600px|border]]
<span style="font-size:125%">'''Serveurs DNS du domaine'''</span>

Pour l'i-bay Primary, toujours utiliser: '''''Serveur DNS de l'Internet'''''.

Pour les autres i-bays, toujours utiliser: '''''Résolu localement'''''.
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>

<span style="font-size:120%">'''Serveur local sur un intranet'''</span>

''Référence'': https://wiki.contribs.org/SME_Server:Documentation:ProxyPass.

Notre Serveur SME secondaire est sur le réseau LOCAL ''(<span style="color:blue">192.168.1.0/24</span>)'' de notre serveur principal. On parle alors d'un serveur '''intranet'''. Habituellement, ce genre de serveur n'a pas d'adresse IP publique pour son réseau externe mais, une adresse privée ''(<span style="color:blue">192.168.1.11</span>)''.

<center>
{| class="wikitable" style="width: 80%; background-color:#ffffff;"
|- style="vertical-align:bottom;font-family: Courier New;text-align: center;"
|Serveur intranet physique.
||Serveur intranet virtuel.
|- style="vertical-align:top;"
|[[Image:MandataireInv-004-ServeurInternePhysique.png|center|top|500px|border]]
||[[Image:MandataireInv-005-ServeurInterneVirtuel.png|center|top|500px|border]]
|}
</center>


<span style="font-size:125%">'''Serveur mandataire inversé'''</span>

''Référence'': https://fr.wikipedia.org/wiki/Proxy_inverse.

[[Image:MandataireInv-006-DiagrammeExplicatif.png|right|top|400px|border]]
Un mandataire inversé ''(reverse proxy'') est un type de serveur, habituellement placé en frontal des serveurs Web. Contrairement au serveur mandataire qui permet à un utilisateur d'accéder au réseau Internet, le mandataire inversé permet à un utilisateur d'Internet d'accéder à des serveurs internes ''(situés sur le réseau LOCAL du serveur principal/passerelle)''.
<br>
<br>
<br>
<br>
<br>
<br>
<br>

= Préparation du serveur de destination =

<span style="font-size:125%">'''Installation d'un Serveur SME'''</span>

Voir le Cahier-2: ''Installation d'un Serveur SME'': https://www.micronator.org/affaires/produit/micronator-101-cahier-2installation-dun-serveur-sme/.

Pour un serveur de test, prendre un minimum de '''8 GB''' <u>pour le disque principal</u>.

[[Image:Icone-SeTirerDembarrasAPT.png|25px]]&nbsp;&nbsp;Lors de la configuration initiale, prendre les valeurs ci-dessous.

<center>
{| class="wikitable" style="width: 80%; background-color:#ffffff;"
|- style="vertical-align:bottom;font-family: Courier New;text-align: center;"
|Mode de fonctionnement

Serveur uniquement
||Interface de liaison de canaux

Désactivé
||Configuration du serveur DHCP

Désactivé
|- style="vertical-align:top;"
|[[Image:MandataireInv-007-ModeDeFonctionnement.png|center|top|325px|border]]
||[[Image:MandataireInv-008-LiaisonDeCanaux.png|center|top|325px|border]]
||[[Image:MandataireInv-009-ConfigurationDHCP.png|center|top|325px|border]]
|}
</center>


<span style="font-size:125%">'''Mise à jour du Serveur'''</span>

Avant de commencer quoi que ce soit, il est toujours préférable de mettre à jour le Serveur SME.

Voir le chapitre: "Mise à jour" dans le Cahier-2: ''Installation d'un Serveur SME'' - https://www.micronator.org/affaires/produit/micronator-101-cahier-2installation-dun-serveur-sme/.

'''Serveur DNS du domaine'''

On ajuste le pointeur des <code>Serveurs DNS du domaine</code> pour qu'il pointe vers les <code>Serveurs DNS de l'Internet</code>.

[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;Ceci est une exception à la règle car, habituellement, un serveur local a toujours la propriété <code>Serveurs DNS du domaine</code> pointant sur <code>Résolu localement</code>. Cette exception est dûe au fait de l'utilisation d'un serveur mandataire inversé.

[[Image:Icone-SeTirerDembarrasAPT.png|25px]]&nbsp;&nbsp;Il faut donc, exceptionnellement, changer la propriété <code>Serveurs DNS du domaine</code> de notre serveur local.

<center>
{| class="wikitable" style="width: 90%; background-color:#ffffff;"
|- style="vertical-align:bottom;font-family: Courier New;text-align: center;"
|Server Manager > Domaines > Modifier.
||Serveur DNS du domaine > dérouler et choisir <code>Serveurs DNS de l'Internet</code> > Modifier.
||On s'assure du succès de l'opération.
|- style="vertical-align:top;"
|[[Image:MandataireInv-010-ResoluLocalement.png|center|top|325px|border]]
||[[Image:MandataireInv-011-ServeursDNSdeInternet.png|center|top|400px|border]]
||[[Image:MandataireInv-012-RapportDeEtat.png|center|top|300px|border]]
|}
</center>


<span style="font-size:125%">'''Fichier /etc/hosts'''</span>

On s'assure que le fichier <code>/etc/hosts</code> du serveur local soit correctement configuré.
# cat /etc/hosts


#------------------------------------------------------------
# !!DO NOT MODIFY THIS FILE!!
#
# Manual changes will be lost when this file is regenerated.
#
# Please read the developer's guide, which is available
# at http://www.contribs.org/development/
#
# Copyright (C) 1999-2006 Mitel Networks Corporation
#------------------------------------------------------------
127.0.0.1 localhost
192.168.1.11 sme-92.<span style="color:DarkMagenta">micronator-101.org</span> sme-92


<span style="font-size:125%">'''Passerelle par défaut'''</span>

On s'assure que la passerelle par défaut soit bien notre serveur principal '''dorgee'''.<span style="color:Blue">'''micronator.org'''</span> ''(<span style="color:blue">192.168.1.1</span>)''.


<span style="font-size:105%">'''Serveur physique'''</span>

# route

Table de routage IP du noyau
Destination Passerelle Genmask Indic Metric Ref Use Iface
192.168.1.0 * 255.255.255.0 U 0 0 0 eth1
default 192.168.1.1 0.0.0.0 UG 0 0 0 eth1


<span style="font-size:105%">'''Serveur virtuel'''</span>

À la console du serveur.
# route

Table de routage IP du noyau
Destination Passerelle Genmask Indic Metric Ref Use Iface
pc-00001.micron * 255.255.255.255 UH 0 0 0 eth1
192.168.1.0 * 255.255.255.0 U 0 0 0 eth1
<span style="color:red">default pc-00001.micron</span> 0.0.0.0 UG 0 0 0 eth1

[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;Le Serveur SME-9.2 virtuel passe par la carte réseau du poste de travail ''(<span style="color:red">pc-00001.micron</span>)''.


À la console du poste de travail, dans un écran de commandes, on lance la commande <span style="color:blue"><code>ipconfig</code></span>.
> <span style="color:blue">ipconfig</span>

Configuration IP de Windows
...
Carte Ethernet Ethernet :

Suffixe DNS propre à la connexion. . . :
Adresse IPv4. . . . . . . . . . . . . .: 192.168.1.81
Masque de sous-réseau. . . . . . . . . : 255.255.255.0
<span style="color:red">Passerelle par défaut. . . . . . . . . : 192.168.1.1</span>
...

On vérifie l'adresse IP du serveur. ''(Nous sommes en <u>mode Serveur uniquement</u>.)''
# ifconfig

<span style="color:red">eth1</span> Link encap:Ethernet HWaddr 08:00:27:06:AE:18
inet adr:<span style="color:red">192.168.1.11</span> Bcast:192.168.1.255 Masque:<span style="color:red">255.255.255.0</span>
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1890 errors:0 dropped:0 overruns:0 frame:0
TX packets:1210 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
RX bytes:211092 (206.1 KiB) TX bytes:198261 (193.6 KiB)

lo Link encap:Boucle locale
inet adr:127.0.0.1 Masque:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:1227 errors:0 dropped:0 overruns:0 frame:0
TX packets:1227 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:0
RX bytes:415992 (406.2 KiB) TX bytes:415992 (406.2 KiB)

[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;L'adresse externe i.e. <span style="color:red">eth1 192.168.1.11</span>, servira plus tard comme pointeur de destination pour le serveur mandataire inversé.


= Préparation du Serveur principal =

<span style="font-size:125%">'''Vérification des domaines'''</span>

[[Image:Icone-SeTirerDembarrasAPT.png|25px]]&nbsp;&nbsp;Si auparavant on avait fait quelques tests, on vérifierait que le domaine <span style="color:DarkMagenta">micronator-101.org</span> n'existe plus sur le serveur principal..

[[Image:MandataireInv-013-VerificationDesDomaines.png|top|right|600px|border]]
[[Image:Icone-AsurveillerAPT.png|25px]]&nbsp;&nbsp;Comme on le voit, il n'existe aucune référence à <span style="color:DarkMagenta">micronator-101.org</span>. Si oui, on doit supprimer ce domaine du <u>serveur principal</u>.

[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;Le FQDN du serveur principal est: <span style="color:Blue">'''micronator.org'''</span>.
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>

= Transformation du serveur principal en mandataire inversé =

La prochaine étape est de modifier le serveur principal, <span style="color:blue">dorgee</span>.<span style="color:Blue">'''micronator.org'''</span>, pour qu'il devienne un serveur mandataire inversé de notre serveur Web local <span style="color:red">sme-92</span>.<span style="color:DarkMagenta">micronator-101.org</span>.

À l'aide de PuTTY, on se logue sur le serveur principal.
login as: <span style="color:Blue">root</span>

root@192.168.1.1's password: <span style="color:Red">Mot-de-passe</span>

On vérifie qu'on est bien sur le serveur principal.
# hostname

<span style="color:red">dorgee</span>

On vérifie l'adresse IP de son réseau LOCAL.
# ifconfig eth1

<span style="color:red">eth1</span> Link encap:Ethernet HWaddr 00:50:8B:AE:88:89
inet adr:<span style="color:red">192.168.1.1</span> Bcast:192.168.1.255 Masque:<span style="color:red">255.255.255.0</span>
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:8106669 errors:0 dropped:0 overruns:0 frame:0
TX packets:14527260 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
RX bytes:910237336 (868.0 MiB) TX bytes:17641271800 (16.4 GiB)


<span style="font-size:125%">'''Configuration du serveur principal'''</span>

On crée le domaine virtuel <span style="color:DarkMagenta">micronator-101.org</span> sur le serveur principal.
# db domains set <span style="color:DarkMagenta">micronator-101.org</span> domain

On indique que le serveur de noms pour ce domaine virtuel est sur l'<code>internet</code>.
# db domains setprop <span style="color:DarkMagenta">micronator-101.org</span> Nameservers internet

On indique l'adresse de la cible i.e. le Serveur SME local hébergeant le domaine <span style="color:DarkMagenta">micronator-101.org</span>.
# db domains setprop <span style="color:DarkMagenta">micronator-101.org</span> ProxyPassTarget http://192.168.1.11/

On indique le chemin d'un gabarit pour ce nouveau domaine virtuel.
# db domains setprop <span style="color:DarkMagenta">micronator-101.org</span> TemplatePath ProxyPassVirtualHosts

On signale les changements de configuration au serveur principal afin qu'il crée le nouveau domaine virtuel.
# signal-event domain-create <span style="color:DarkMagenta">micronator-101.org</span>

On s'assure que le nouveau domaine virtuel a bien été créé.
db domains show

...
<span style="color:DarkMagenta">micronator-101.org</span>=domain
Nameservers=<span style="color:red">internet</span>
ProxyPassTarget=<span style="color:red">http://192.168.1.11/</span>
TemplatePath=ProxyPassVirtualHosts
...


[[Image:MandataireInv-014-DomaineLocalSurPrincipal.png|top|right|600px|border]]
Dans le gestionnaire Server Manager, sur le serveur principal qui est devenu un mandataire inversé, un nouveau domaine a été créé pour <span style="color:DarkMagenta">micronator-101.org</span>.
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>

= Résultat final =

<center>
{| style="width: 95%; background-color:#ffffff;"
|- style="vertical-align:bottom;font-family: Courier New;text-align: center;"
|''<u>Serveur local physique</u>''<br><br>
||''<u>Serveur local virtuel</u>''<br><br>
|- style="vertical-align:top;"
|[[Image:MandataireInv-015-ResultatPourPhysique.png|center|top|550px]]
||[[Image:MandataireInv-016-ResultatPourVirtuel.png|center|top|550px]]
|}
</center>

<span style="font-size:125%">'''Vérification'''</span>

On lance deux <code>ping</code> à la console du serveur principal.
# ping -c 2 <span style="color:DarkMagenta">micronator-101.org</span>

PING micronator-101.ddns.net (<span style="color:blue">206.248.138.152</span>) 56(84) bytes of data.
64 bytes from 206-248-138-152.dsl.teksavvy.com (<span style="color:blue">206.248.138.152</span>): icmp_seq=1 ttl=64 time=0.028 ms
64 bytes from 206-248-138-152.dsl.teksavvy.com (<span style="color:blue">206.248.138.152</span>): icmp_seq=2 ttl=64 time=0.041 ms

--- micronator-101.ddns.net ping statistics ---
<span style="color:red">2 packets transmitted, 2 received, 0% packet loss, time 1002ms</span>

L'adresse IP <span style="color:blue">206.248.138.152</span> est celle du serveur principal et c'est lui qui répond car, un mandataire inversé ne transmet seulement que les requêtes Web.

On lance le navigateur TOR et on se rend à http://www.micronator-101.org.

[[Image:Icone-SeTirerDembarrasAPT.png|25px]]&nbsp;&nbsp;Si nous avons recours à un <u>service de DNS dynamique</u>, il ne faut pas utiliser '''www''' avec un tel domaine.

<center>[[Image:MandataireInv-017-PageDexemple.png|top|center|500px|border]]</center>


<center><span style="font-size:125%">'''Le mandataire inversé fonctionne correctement.'''</span></center>


= Désinstallation du "service" mandataire inversé =

Si on veut désinstaller ce service, pour quelque raison que ce soit, on exécute les commandes suivantes.


<span style="font-size:125%">'''Sur le serveur principal'''</span>

On supprime le domaine virtuel.
# db domains delete <span style="color:DarkMagenta">micronator-101.org</span>

On signale les changements de configuration au serveur principal afin qu'il supprime le domaine virtuel.
# signal-event domain-modify

On vérifie avec <code>grep</code> que le domaine <span style="color:DarkMagenta">micronator-101.org</span> n'existe plus sur le serveur principal.
# db domains show | grep <span style="color:DarkMagenta">micronator-101.org</span>

[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;Aucune information n'est retournée car, le serveur virtuel n'existe plus sur le serveur principal.


<span style="font-size:125%">'''Sur le serveur local'''</span>

Sur le serveur local, il faut remettre le pointeur <code>Serveurs DNS du domaine</code> vers <code>Résolu localement</code>.


= Remarques importantes =

<span style="font-size:125%">'''Mise en garde'''</span>

La sécurité est à surveiller car, le Serveur SME local est maintenant accessible depuis l'Internet.


<span style="font-size:125%">'''Certificat'''</span>

Lorsqu'un internaute accède le serveur local avec une requête '''http<span style="color:red">s</span>''':

* Son navigateur se connecte au serveur principal et une négociation SSL débute.
* Le navigateur et le serveur principal échange leur clé publique et la communication chiffrée débute.
* Le navigateur envoie sa requête ''(nom d'hôte + URL)''.
* Sur le serveur principal, le démon Apache débute son rôle de mandataire inversé:
** il crée une connexion avec le serveur local,
** il lui envoie la requête du navigateur de l'internaute
** et termine en retournant la réponse au navigateur de l'internaute.

C'est le <u>certificat du serveur mandataire inversé</u> qui est utilisé pour chiffrer la communication avec le navigateur de l'internaute.
Il n'y a aucune possibilité que le certificat du serveur local puisse être présenté au navigateur de l'internaute et qu'il soit utilisé pour le chiffrage.


<span style="font-size:125%">'''Courriel'''</span>

Un mandataire inversé est utilisé pour servir d'intermédiaire <u>seulement pour les requêtes Web</u>.

Si le serveur qui sert de mandataire reçoit un courriel, c'est <code>qmail</code> qui s'en occupe et non pas le démon Apache.

À toute fin pratique, le domaine local existe dans le gestionnaire Server Manager du serveur principal. Ainsi, si le récepteur du courriel n'existe pas en tant qu'utilisateur <u>sur le serveur principal</u>, le courriel est pris en charge par le paramètre <code>Courriels destinés à des utilisateurs inconnus</code> du gestionnaire Server Manager du <u>serveur principal</u>.

[[Image:Icone-AstuceAPT.png|25px]]&nbsp;&nbsp;Toutefois, on peut accéder à Webmail du serveur local depuis l'Internet car, l'accès à Webmail est une requête Web: https://www.micronator-101.org/webmail.

<span style="font-size:105%">'''WordPress'''</span>

Si WordPress, sur le serveur local, envoie un courriel à un usager existant sur le serveur local, cet usager recevra ce courriel car, le domaine existe sur le serveur local et le courriel y sera envoyé sans passer par l'Internet.
Si l'usager n'existe pas sur le serveur local, le courriel sera envoyé dans l'Internet via le serveur principal qui sert de passerelle pour le serveur local.


<span style="font-size:120%">'''Mot de la fin'''</span>

[[Image:Icone-NoteAPT.png|25px]]&nbsp;&nbsp;On peut utiliser cette marche à suivre afin de faire une demande de certificat Let's Encrypt pour un serveur intranet.


[[Image:Odoo-11-BanniereDeLaVictoire-APT.png|caption|36px]]&nbsp;&nbsp;Victoire totale, hissons la bannière de la victoire.
<br>
<br>


[[Category:Howto]] [[Category:Howto/fr]]
2,785

edits

Navigation menu