Cours Services réseau sous UNIX

Services réseau sous UNIX
1 Pré-requis . 2
2 Introduction aux services réseau sous unix . 2
3 Procéder avec méthode . 2
4 Installer Ubuntu en machine virtuelle Vmware 3
5 Problèmes réseau avec VmWare ? .. 4
6 Configurer l'outil d'administration Webmin 5
7 Objectif : serveurs web virtuels .. 6
8 Installer un serveur DNS . 7 A Pourquoi un serveur DNS ? . 7
B Installer et configurer le serveur DNS 8
C Vérifier le fonctionnement du serveur DNS "localhost" .. 9
D Redéfinir la liste des serveurs DNS interrogés par mon-serveur .. 10
E Redirection inverse pour le réseau 172.16 . 11
F Configurer le client DNS sur Windows XP .. 11
9 Configurer les serveurs web virtuels .. 12 A On utilisera Webmin pour configurer Apache . 12
B Créer les dossiers .. 12
C Tester le résultat .. 12
D Restrictions d'accès .. 13
10 Devenir hébergeur de sites Web ? .. 14
Services réseau sous UNIX esaip 1 / 14
1 Pré-requis
• Utilisation d'unix en mode station de travail :TP No 1 Unix .pdf
• Installation d'unix en machine virtuelle : TP No 3
• Ressources du réseau local :
• ftp://forum/
• FTP msdnaa
2 Introduction aux services réseau sous unix
1. Notions fondamentales sur les réseau
• Notions fondamentales sur les
• autres documents
2. Procédure générale de Démarrage et d'arrêt des services sous Unix Administration Unix Demarrage systeme et
• Le démarrage du systèmes et les processus démarrés par init (le fichier /etc/inittab)
• Les procédures de /etc/init.d permettant de gérer les services (réseau ou non) ? Les services réseaux gérés par le super-serveur xinetd
3 Procéder avec méthode
1. Méthode générale appliquée à un exemple : le service DHCP
2. Les outils d'administration sous Unix voir Creer un utilisateur
voir installation et configuration de Webmin dans TP No 3
3. Application au démarrage des services telnet et
Installer Ubuntu en machine virtuelle Vmware
• Principe des machines virtuelles : voir
• Pour démarrer Vmware sur les systèmes Windows XP de l'esaip (voir éventuellement le chapitre 1 du document TP No 3
1. créer éventuellement une partition NTFS P: d'environ 20Go pour stocker les disque virtuels et la configuration des machines virtuelles
2. démarrer tous les services Vmware (voir gérer le Poste de travail)
3. démarrer la console VmWare
• Pour utiliser une machine virtuelle Vmware disposant d'un serveur Ubuntu LAMP préconfiguré
• Télécharger sur forum le fichier Ubuntu 904 t le stocker sur P:
• Décompresser ce fichier (Bouton droit + Extraire Ici )
• Ouvrir le dossier Ubuntu issu de la décompression et cliquer 2 fois sur le fichier , ce qui ouvre la console VmWare.
• Démarrer la machine virtuelle (cliquer sur la flèche verte)
1. Une session sous le nom esaip s'ouvre automatiquement
2. Le mot de passe de esaip est esaip ( ce mot de passe est demandé pour les tâches d'administration)
3. Au besoin, on pourra ouvrir une session administrateur par su - (le mot de passe de root est tournesol)
Par défaut le compte root sur ubuntu est désactivé, il a été activié ici par la commande sudopasswd root
le mot de passe de esaip est demandé (c'est esaip) définir ensuite un mot de passe pour root
• On pourra éventuellement mettre la machine virtuelle en pause (cliquer sur le bouton jaune || )
• Ne jamais cliquer sur le bouton rouge de la console VmWare qui arrête brutalement la machine virtuelle : toujours utiliser le menu Arrêter de la machine virtuelle
• Il sera possible de compresser une machine virtuelle (le dossier complet P:\ubuntu) avec
Winrar pour tranbspôrter vette machine ailleurs, ou la sauvagarder sur une clé USB
• ne jamais sauvegarder une machine virtuelle en mode pause, sauf si on a du temps et de l'espace disque à perdre !
Problèmes réseau avec VmWare ?
Vmware attribue automatiquement une adresse MAC (ethernet) aux cartes virtuelles des machines virtuelles.
Il arrive cependant que l'algorithme de détermination des adresses MAC donne la même adresse MAC à 2 machines virtuelles situées sur 2 ordinateurs physiques différents du même réseau local.
Ces machines auront donc aussi via le DHCP des adresses IP identiques, et le réseau ne pourra pas fonctionner.
Dans ce cas il faut modifier avec un éditeur de texte le fichier .VMX de la machine virtuelle et imposer une adresse à la carte virtuelle de la machine virtuelle.
Voir doc sur le site de VmWare
Exemples de fichier .VMX :
Adresse MAC fixée | adresse MAC automatique |
config.version = "8" virtualHW.version = "4" scsi0.present = "TRUE" scsi0.virtualDev = "lsilogic" memsize = "512" scsi0:0.present = "TRUE" scsi0:0.fileName = "" ide1:0.present = "TRUE" ide1:0.fileName = "auto detect" ide1:0.deviceType = "cdrom-raw" floppy0.present = "FALSE" Ethernet0.present = "TRUE" displayName = "Ubuntu" guestOS = "ubuntu" priority.grabbed = "normal" priority.ungrabbed = "normal" = "" ethernet0.addressType = "static" ethernet0.address = "00:50:56:3F:FF:FF" uuid.location = "56 4d ac ea b4 a6 79 e2-97 97 a9 2c 17 0c 95 a0" = "56 4d ac ea b4 a6 79 e2-97 97 a9 2c 17 0c 95 a0" ide1:0.autodetect = "TRUE" checkpoint.vmState = "" | config.version = "8" virtualHW.version = "4" scsi0.present = "TRUE" scsi0.virtualDev = "lsilogic" memsize = "512" scsi0:0.present = "TRUE" scsi0:0.fileName = "" ide1:0.present = "TRUE" ide1:0.fileName = "P:\Machines virtuelles\Ubuntu 9- " ide1:0.deviceType = "cdrom-image" floppy0.present = "FALSE" Ethernet0.present = "TRUE" displayName = "Ubuntu" guestOS = "ubuntu" priority.grabbed = "normal" priority.ungrabbed = "normal" = "" ethernet0.addressType = "generated" uuid.location = "56 4d a2 0d d0 a1 1e f3-f9 31 2d 09 e5 7f 52 9e" = "56 4d a2 0d d0 a1 1e f3-f9 31 2d 09 e5 7f 52 9e" ide1:0.autodetect = "TRUE" ethernet0.generatedAddress = "00:0c:29:7f:52:9e"ethernet0.generatedAddressOffset = "0" checkpoint.vmState = "" |
Configurer l'outil d'administration Webmin
Installer Webmin sur Ubuntu
1. Télécharger le paquet debian de Webmin sur le site de Webmin
2. Ouvrir le paquet avec "Installeur de paquets GDebi" (cliquer sur le paquet avec le bouton droit) ce qui installera en même temps les dépendances nécessaires
3. Dans un navigateur (Firefox) taper http://localhost:10000 le système demandera http://localhost:10000, en mode sécurisé https://localhost:10000
• malheureusement l'exception de sécurité pour firefox ne semble pas possible avec l'adresse 127.0.0.1, il sera nécessaire d'utiliser l'adresse IP fournie par le serveur DHCP, donc utiliser par exemple https://172.16.8.32:10000 (l'adresse exacte est visible soit en utilisant ifconfig en ligne de commande, soit via "informations de connexion", clic droit sur l'icône des connexions filaires dans la barre de menu)
• on ouvrira une session sous le nom root, mot de passe tournesol
• Configuration de Webmin
• On pourra changer la langue des messages
• On pourra interdire les connexions à partir d'une autre adrese que l'adresse 127.0.0.1
• cependant si l'exception de sécurité ne permet pas de se connecter avec 127.0.0.1 en https, on devra désactiver SSL, et ensuite n'autoriser que 127.0.01 comme adresse du client
• Webmin présente un certain nombre de modules classés dans différents menus, et d'autre modules non utilisés qui correspondent à des applications non encore installées sur le serveur.
Pour mettre à jour les menus de Webmin, après l'installation de Apache par exemple, il sera nécessaire de cliquer sur l'option Refresh Modules
Objectif : serveurs web virtuels
L'objectif est de définir sur le même serveur apache plusieurs sites virtuels correspondants aux spécifications suivantes :
Serveur virtuel | adresse IP du serveur | N° de port du serveur | Nom DNS du serveur | dossier racine du site Web (contenant ) |
serveur par défaut | * | 80 | * | /var/www |
serveur port 81 | * | 81 | * | /var/site/81 |
serveur 127.0.0.1 | 127.0.0.1 | 80 | * | /var/site/127 |
* | 80 | g | ||
* | 80 |
• le port 81 renverra toujours vers /var/site/81
• l'adresse 127.0.0.1 (ou localhost) sur le port 80 /var/site/127
• les sites nommés et donnent une page spécifique ? dans les autres cas, sur le port 80, on tombera sur le site par défaut
Installer un serveur DNS
A Pourquoi un serveur DNS ?
il est nécessaire de définir un serveur DNS pour trouver les adresses IP des serveurs (ou des hôtes) -> adresse ip du serveur Web -> adresse ip du serveur Web
Dans notre cas, pour simplifier les mises à jour (changement possible de l'adresse du serveur) on définira des alias :
• mon_serveur.local = 172.16.104.21 (ou l'adresse de votre propre serveur)
• = alias de mon_serveur.local
• = alias de mon_serveur.local
Ces correspondances seront données par notre serveur DNS
Cependant, ces correspondances ne seront connues que des clients qui prendront notre serveur comme serveur DNS, car ce serveur n'est pas connu des autres serveurs du DNS mondial; c'est un serveur local;
Cependant ce serveur doit aussi renseigner ses clients pour toutes les correspondances connues sur Internet, il sera donc "redirecteur" et redirigera les requêtes des domaines DNS qu'il ne gère pas vers le serveur DNS de l'esaip qui a l'adresse 86.65.205.35
Si l'on ne souhaite pas configurer le serveur DNS il existe 2 solutions alternatives
• définir des correspondances locales dans le fichiers
/etc/hosts (ces associations ne seront connues que sur la machine où existe ce fichier hosts)
• ce fichier peut être modifié directement avec un éditeur de texte
ou via Webmin Réseau >> Configuration réseau >> adresses de la machine
• installer le serveur DNS bind9 comme indiqué ci-
dessous puis remplacer le dossier le dossier /etc/bind par la sauvegarde suivante : .z
Il restera seulement à modifier l'adresse de mon-serveurvia Webmin
B Installer et configurer le serveur DNS
• en utilisant le gestionnaire de paquets Synaptic, rechercher et installer Bind9
• démarrer Webmin (http://localhost:10000)
• choisir Refresh Modules pour actualiser la liste des modules : l'option Serveur de noms de domaines BIND apparît alors dans le sous-menu Serveurs de Webmins
• choisir Serveur de noms de domaines BIND : on voit alors que les domaines suivants ont été définis automatiquement
• créer une nouvelle zone primaire nommée local
• seuls 3 champs sont à renseigner
• type de la zone : direct
• nom de domaine : local
• adresse électronique (de l'administrateur) :
• définir un enregistrement de type "adresse" : mon-serveur.local correspond l'adresse 172.16.104.21 (ou l'adresse de votre propre serveur)
• créer une zone primaire selon le même principe et définir comme un alias de mon-serveur.local
• créer une zone primaire selon le même principe et définir comme un alias de mon-serveur.local
• Redirecteur : Cliquer sur l'option globale Redirection et transferts et définir 86.65.205.35 comme Serveur auxquel transmettre les requêtes
Cliquer sur Apply Configuration pour intégrer ces modifications au serveur DNS.
C Vérifier le fonctionnement du serveur DNS "localhost"
On utilisera comme client DNS :
• soit la commande host
• soit la commande nslookup
On devrait obtenir les résultats suivants :
host mon-serveur.locallocalhost Using domain server:
Name: localhost Address: 127.0.0.1#53 Aliases:
mon-serveur.local has address 172.16.104.21
host localhost Using domain server:
Name: localhost Address: 127.0.0.1#53 Aliases:
is an alias for mon-serveur.local.
mon-serveur.local has address 172.16.104.21
host localhost Using domain server:
Name: localhost Address: 127.0.0.1#53 Aliases:
is an alias for mon-serveur.local.
mon-serveur.local has address 172.16.104.21
zone DNS connue uniquement à l'esaip
host forum.sequoialocalhost Using domain server: Name: localhost Address: 127.0.0.1#53 Aliases:
forum.sequoia has address 172.16.1.48
zone DNS d'Internet
host localhost Using domain server: Name: localhost Address: 127.0.0.1#53 Aliases:
is an alias for . has address 217.146.186.51 D Redéfinir la liste des serveurs DNS interrogés par mon-serveur il s'agit de dire que "mon-serveur", en tant que client DNS, s'interroge lui-même (puisqu'il est désormais un serveur DNS opérationnel)
• Cliquer avec le bouton droit sur l'icône des "connexions par réseau filaire"
• Modification des connexions : auto eth0 / modifier (mot de passe esaip)
• Onglet paramètres Ipv4: choisir la méthodeadresse automatiques uniquement (DHCP) ce qui permettra de définir manuellement les adresses des serveurs DNS au lieu de prendre les adresses de serveurs DNS données par le serveur DHCP
• Modifier serveur DNS : 127.0.0.1
• Valider
• désactiver puis réactiver la connexion réseau
On constate que
• on a bien obtenu une adresse ip (ip add)
• le routeur par défaut est bien celui qu'a donné le serveur DHCP (ip route)
• pour la configuration DNS (taper cat )
# Generated by NetworkManager domain sequoia search sequoia nameserver 127.0.0.1
• le domaine de recherche par défaut vient du serveur DHCP (car on n'a rien précisé manuellement)
• le serveur DNS à interroger, en tant que client est 127.0.0.1
E Redirection inverse pour le réseau 172.16
La commande host mon-serveur.local donne l'adresse 172.16.104.21 mais la requête inverse host 172.16.104.21 donne un erreur
Nous allons définir une zone de redirection inverse pour le réseau 172.16
Via Webmin >> serveurs >> Serveur de noms de domaines BIND
• démarrer RNDC : dans les options globales
Setup RNDC (cette option est nécessaire pour l'actualisation des zones)
• créer une nouvelle zone primaire
• zone inverse
• réseau : 172.16
• adresse électronique de l'administrateur :
• revenir à la liste des zones
• dans le domaine local
• modifier
l'adresse mon-serveur : sans changer l'adresse, cocher le bouton radio Mettre à jour l'adresse inverse ? et sauvegarder
• revenir à la liste des zones et vérifier que
dans la zone 172.16 une "adresse inverse" a été créée pour l'adresse correspondant à mon-serveur
Vérification :
• host 172.16.104.21
domain name pointer mon-serveur.local.
• nslookup 172.16.104.21
Server: 127.0.0.1
Address: 127.0.0.1#53
name = mon-serveur.local.
F Configurer le client DNS sur Windows XP
Indiquer à Windows XP (par exemple la machine hôte de votre machine virtuelle) de prendre pour serveur DNS le serveur d'adresse 172.16.104.21
en passant par
"propriétés des connexions réseau" >> propriétés des protocoles Internet TCP/IP >> DNS
La commande nslookup devrait alors immédiatement donner l'adresse de monserveur
9 Configurer les serveurs web virtuels
A On utilisera Webmin pour configurer Apache
1. dans l'onglet configuration globale sélectionner Réseau et adresses et renseigner 1. Adresses et ports sur lesquels écouter : toutes adresses / port 80 toutes adresses / port 81
2. Adresses des serveurs de noms virtuels
*:80
*:81
2. dans l'onglet créer un hôte virtuel créer les hôtes virtuels correspondant aux différents sites définis dans le tableau des spécifications
3. Activer les changements
B Créer les dossiers
1. en mode superviseur (root) créer le dossier /site : mkdir /var/site
2. rendre l'utilisateur esaip propriétaire de /site : sudochown esaip /var/site
3. on peut ensuite créer les dossier en mode graphique en utilisant nautilus avec les droits de la session esaip
1. créer
2. créer, contenant un texte simple d'identification du site, par exemple " bienvenue sur le site "
4. Répéter cette opération pour les dossiers des différents sites
C Tester le résultat
Dans un navigateur essayer les URL suivants :
• • • http://localhost • http://mon-serveur.local • http://127.0.0.1 • http://172.16.104.21 (l'autre adresse de votre serveur) | • :81 • :81 • http://localhost:81 • http://mon-serveur.local:81 |
D Restrictions d'accès
• Quel est le résultat de l'URL http://127.0.0.1/server-status ?
• Quel est le résultat de l'URL http://172.16.104.21/server-status ?
• Pour quoi ya-t-il une restriction ?
• Pouvez-vous retrouver via Webmin dans quelle configuration de l'hôte par défaut cette restriction est définie?
• Pouvez-vous permettre que l'URL http://172.16.104.21/server-status donne le même résultat qu'avec l'adresse 127.0.0.1 ?
Interprétation :
• il est possible dans la configuration d'Apache de définir des "dossiers virtuels" ou des "adresses virtuelles" qui renvoient à des dossiers situés ailleurs dans l'arborescence des dossiers.
• Ces dossiers peuvent affectés de différents types de droits d'accès
• Ces configurations peuvent aussi être définies dans un fichier nommé .htaccess.
En utilisant un éditeurs de texte définir un fichier .htaccess dans un des dossiers de l'un des sites déjà définis afin d'obtenir différents résultats comme :
• le dossier n'est accessible qu'à partir d'un client d'adresse 172.16.104.21
• -
• -
• -
?
On pourra s'inspirer des exemples donnés dans les sites suivants
• Les principales utilisations du htaccessavec
Apache
• Apache - Les fichiers .htaccess
10 Devenir hébergeur de sites Web ?
Un hébergeur de sites internet
• aura sans doute besoin d'installer un serveur SSH pour pouvoir se connecter à distance sur son serveur
• remarquer que Webmin offre cette possibilité de connexion à distance grâce à un applet java
• installer un serveur SSH
• aura besoin de donner à ses clients la possibilité de télécharger les sites via les protocoles ftp ou sftp
• installer un serveur FTP
• aura besoin de statistiques sur l'utilisation des sites
• installer par exemple awstat
• aura sans doute aussi à héberger des boîtes à lettre e-mail pour ses clients et il devra sans doute aussi définir des domaines de messagerie virtuels pour ses clients (par exmple pour fournir des adresse du genre ) : il pourra utiliser pour cela le serveur de messagerie postfix (ou éventuellement sendmail ou un autre serveur de messagerie)
• aura besoin d'un outil de gestion des comptes permettant de créer simultanément
• un compte Unix et FTP
• un site Web virtuel
• un compte et une base de données Mysql
• des statistiques utilisables par le client
• télécharger virtualmin, sur le site de webmin, l'installer et le tester