2. • Objectif du module: former des administrateurs réseaux
⇒ Maîtriser les enjeux et les finalités de l'administration des
réseaux.
⇒ Aborder en détails la configuration réseau d'un poste client sous
Linux
⇒ Apprentissage et mise en place de services utilisés dans
l’administration réseau d’un parc de machines
⇒ connaître les principaux protocoles applicatifs et savoir mettre en
place les services associés sous Linux
11/11/2023 2
Objectifs du cours
Manipulation des notions/outils nécessaire à un administrateur
réseaux sous linux
3. Le rôle d’un administrateur réseau consiste (entre autre) à :
• Mettre en place et maintenir l’infrastructure du réseau (organisation,
. . . ).
• Installer et maintenir les services nécessaires au fonctionnement du
réseau.
• Assurer la sécurité des données internes au réseau (particulièrement
face aux attaques extérieures).
• S’assurer que les utilisateurs “n’outrepassent” pas leurs droits.
• Gérer les “logins” (i.e. noms d’utilisateurs, mot de passe, droits
d’accès, permissions particulières, . . . ).
• Gérer les systèmes de fichiers partagés et les maintenir.
11/11/2023 3
Introduction et généralités
Rôles d’un administrateur réseau
L’administrateur réseau est responsable de ce qui peut se
passer à partir du réseau administré.
4. 11/11/2023 4
Introduction et généralités
Niveaux d’administration
• Un parc de machines (ou de postes) homogènes
• Poste individuel: peut être délégué a son propriétaire
• Serveur: forte responsabilisation sur la disponibilité des services
• Distribution/mise en commun des ressources
• Un parc de machines hétérogènes
• s'efforcer de rendre l'ensemble des équipements interopérable
• la complexité croît avec le taux d'hétérogénéité
• Un parc multi-sites
5. • Supervision du fonctionnement des réseaux.
• Optimisation pour l’utilisation des ressources.
• Détection et prévision des erreurs.
• Signalisation des pannes.
• Calculs de facturations à l’utilisation des ressources.
• Le support technique pour utilisateurs.
11/11/2023 5
Introduction et généralités
Objectifs de l’administration des réseaux pour un administrateur
6. • Linux est un système d'exploitation, comme UNIX, MS Windows,
Mac OS X.
• C'est un "UNIX-like", il suit le "modèle UNIX":
• Les fichiers sont de simples "paquets d'octets"
• Les données sont de simples flux de bits.
• Tout est fichier ( les programmes, les données, les flux réseaux, les
périphériques...)
• Multitâche
• Multi-utilisateurs
• Libre et gratuit
• Outils / logiciels gratuits
11/11/2023 6
Introduction et généralités
Présentation de Linux
7. • Mandriva: http://www.mandriva.com/
• RedHat: http://www.redhat.com/
• Fedora: http://fedora.redhat.com/
• SuSE/Novell: http://www.suse.com/
• Debian: http://www.debian.org/
• Gentoo: http://www.gentoo.org/
• Ubuntu: http://www.ubuntu.com/
11/11/2023 7
Introduction et généralités
Quelques distributions Linux
8. 11/11/2023 8
Introduction et généralités
Pourquoi choisir Ubuntu
• Disponible gratuitement et librement
• Thème graphique et sonore particulier
• Toujours à la pointe: Une nouvelle version tous les six mois propulse
Ubuntu continuellement vers l'avant ;
• Le système des dépôts de logiciels permet d'installer en quelques
clics, avec une grande facilité , des logiciels extrêmement variés
• Les mises à jour de sécurité sont simplifiées et gérées
graphiquement : Une tâche de notification prévient lorsqu'une mise
à jour est disponible. En quelques clics, machine et logiciels sont
sécurisées ;
• Une vaste communauté contributive
9. • L'installation se fait en 4 étapes :
– Installation du logiciel VirtualBox
– Création d'une machine virtuelle
– Installation du système Linux
– Configuration du système
11/11/2023 9
Introduction et généralités
Installation d’Ubuntu
10. • L’administration d’un système UNIX, se fait en prenant l’identité
de root
• Souvent l’invité de commandes est le symbole « # » et le
répertoire de connexion /root
• Il est aussi possible de prendre temporairement, quand on est
déjà connecté, l’identité de l’administrateur grâce à la commande
su
• Il n’est pas conseillé de toujours travailler connecté en tant que
root. Il est préférable de disposer d’un compte ordinaire et
d’exécuter la commande su.
11/11/2023 10
Introduction et généralités
Le compte root
11. • Tout est fichier.
• Tous les fichiers sont dans une unique arborescence.
11/11/2023 11
Introduction et généralités
Le système de fichiers Linux
SupMTI
12. 11/11/2023 12
Introduction et généralités
Organisation des fichiers Linux
Nom du
dossier
Commentaires
/bin Regroupe les fichiers exécutables pour l'initialisation du système et les
commandes « essentielles »
/boot Contient le noyau et des fichiers nécessaires au démarrage
/dev Contient les fichiers spéciaux servant pour communiquer avec les
périphériques (disques, adaptateur réseau, cartes son etc...)
/etc Contient les fichiers de configuration du système
/home Contient l'ensemble des répertoires personnels des utilisateurs du
système (le nom du répertoire correspondant au login de l'utilisateur)
/lib Contient les bibliothèques (souvent des parties de programmes qui
peuvent être commune à plusieurs programmes)
13. 11/11/2023 13
Introduction et généralités
Organisation des fichiers Linux
/mnt Contient généralement l'ensemble des points de montage des
périphériques (cd, disquette...)
/floppy et pour le CD /cdrom au lieu de /mnt/floppy et
/mnt/cdrom/optContient des applications supplémentaires
/root Est le répertoire personnel de l'administrateur
/sbin Contient les exécutables uniquement accessibles à
l'administrateur
/tmp Contient les fichiers temporaires du système
/usr répertoire personnel des utilisateurs, Contient les programmes
accessibles à l'ensemble des utilisateurs
/var Contient les données de cache pour certaines applications (apt,
cups...) ou encore les fichiers enregistrant les messages du
système
15. • Les réseaux informatiques utilisent un modèle composé de plusieurs
couches de protocoles.
• Le modèle OSI correspond à une approche plus théorique en
décomposant le fonctionnement en une pile de 7 couches.
• Modèle TCP/IP est un modèle de protocole, car il décrit les fonctions
qui interviennent à chaque couche des protocoles au sein de la suite
TCP/IP.
11/11/2023 15
Généralités
16. • Avant de pouvoir utiliser ou fournir des services sur un réseau, un
système Linux doit déjà être connecté à ce réseau.
• Sur un ordinateur de bureau, cette configuration est souvent
automatique, mais il est bon de la maîtriser si l'on souhaite jouer un
rôle d’administrateur réseau.
• Les réseaux informatiques utilisent un modèle composé de plusieurs
couches de protocoles.
• Nous nous intéressons ici à la couche réseau, qui utilise le protocole
IP (Internet protocol): c'est cette couche qui définit la topologie des
réseaux Sa configuration est très importante.
11/11/2023 16
Configuration réseau
Principes
17. • Un ordinateur communique avec les autres ordinateurs en utilisant une
carte ou une clef réseau,
• Du point de vue du système d'exploitation, ce périphérique est une
interface réseau.
• Sous Linux, ces interfaces sont nommées:
• eth0, eth1… : interfaces filaires,
• wlan0, wlan1: interfaces sans fil (wifi, wimax…).
• lo (pour loopback): votre propre ordinateur.
11/11/2023 17
Configuration réseau
Principes
18. • Une adresse IP: identifie votre hôte sur le réseau où il est connecté. une
adresse unique sur un réseau. C’est une suite de 4 nombres allant de 0 à
255 (inclus) séparés par des points. Cette adresse IP appartient à une
classe réseau. Il existe 5 classes d’IP
11/11/2023 18
Configuration réseau
Eléments de configuration
19. • un masque de sous-réseau: cette donnée indique la partie de votre
adresse qui caractérise le réseau local sur lequel votre hôte est
connecté, et lui permet de déterminer, pour n’importe quelle adresse
IP, si celle-ci fait ou non partie du réseau local;
11/11/2023 19
Configuration réseau
Eléments de configuration
20. • une passerelle par défaut: c'est l'adresse IP à laquelle il faut
transmettre les paquets IP destinés à des hôtes situés hors du
réseau local, pour qu'ils soient routés vers le réseau local de leur
destinataire ;
11/11/2023 20
Configuration réseau
Eléments de configuration
21. • des serveurs DNS: ce sont les adresses de serveurs auxquels votre
système ira demander les correspondances entre noms de domaine
et adresses IP.
11/11/2023 21
Configuration réseau
Eléments de configuration
22. • sans adresse IP, il est impossible de recevoir les réponses à ses
requêtes ;
• sans masque de sous-réseau ou sans passerelle par défaut, il est
impossible de communiquer avec les hôtes situés hors du
réseau local ;
• sans serveur DNS, on ne peut pas désigner un hôte par son nom
de domaine, et il faut donc connaître les adresses IP de tous les
serveurs que l'on souhaite utiliser.
11/11/2023 22
Configuration réseau
Eléments de configuration
23. • vous devez connaître à l'avance votre configuration complète, pour
l'appliquer sur votre système.
• Configurer la connexion consiste à affecter à la carte réseau son adresse
IP et son masque de sous-réseau, à ajouter la passerelle par défaut à la
table de routage du noyau Linux, et à noter l'adresse des serveurs DNS
dans le fichier de configuration du résolveur DNS.
11/11/2023 23
Configuration réseau
Modes de configuration
Configuration statique
Configuration dynamique
• Très répandue, est plus adapté aux ordinateurs portables, susceptibles
d'être connectés à des réseaux différents
• lorsque le système démarre, ou détecte qu'il vient d'être connecté à un
réseau, envoie une demande de paramètres de connexion.
• Cette demande utilise le protocole DHCP (dynamic host configuration
protocol)
24. • La commande ifconfig (InterFace CONFIGuration) permet de connaître
la configuration réseaux et de configurer le réseau à la main ou dans
un script.
• Sans paramètres cette commande permet d’afficher les paramètres
réseaux des interfaces.
11/11/2023 24
Configuration d’une station
Afficher les paramètres des interfaces
# ifconfig
eth0 Link encap:Ethernet HWaddr 00:B2:3A:24:F3:C4
inet addr:192.168.0.2 Bcast:192.168.0.255
Mask:255.255.255.0
inet6 addr: fe80::2c0:9fff:fef9:95b0/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:6 errors:0 dropped:0 overruns:0 frame:0
TX packets:16 errors:0 dropped:0 overruns:0
carrier:5
collisions:0 txqueuelen:1000
RX bytes:1520 (1.4 KiB) TX bytes:2024 (1.9 KiB)
Interrupt:10
25. 11/11/2023 25
Configuration d’une station
Afficher les paramètres des interfaces
Lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:92 errors:0 dropped:0 overruns:0 frame:0
TX packets:92 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:6040 (5.8 KiB) TX bytes:6040 (5.8 KiB)
Cette commande peut également afficher les interfaces non
configurées, avec l'argument -a, pour all. Cela peut servir à
déterminer le nom d'une interface non encore configurée
26. • Pour appliquer une configuration à une interface, on utilise
ifconfig, avec des arguments correspondants:
• Pour supprimer une configuration IPv4, on utilise la commande:
• Pour activer l’interface, on utilise la commande:
11/11/2023 26
Configuration d’une station
Configuration statique: l’adresse IP
# ifconfig eth0 192.168.0.42
# ifconfig eth0 down
# ifconfig eth0 up
Ifconfig est remplacée par la commande ip dans les dernières versions
d’Unix
27. • La passerelle par défaut permet de définir l'hôte du réseau local vers
lequel envoyer tous les paquets destinés à des hôtes situés hors du
réseau local Route par défaut.
• Cette route doit être ajoutée à la table de routage du noyau Linux, avec
la commande route.
• Exemple: la passerelle par défaut a pour adresse IP 192.168.0.1, et peut
être jointe par votre interface eth0
11/11/2023 27
Configuration d’une station
Configuration statique: la passerelle par défaut
# route add default gw 192.168.0.1 dev eth0
28. • La configuration IP et la route par défaut concernaient le noyau
Linux
• Les serveurs DNS concernent le résolveur: une fonction logicielle qui
permet de traduire les noms de domaines en adresses IP.
• Ce résolveur utilise pour cela les serveurs dont les adresses sont
notées dans le fichier /etc/resolv.conf
• Exemple: Si le serveur DNS de votre fournisseur d'accès, a pour
adresse IPv4 192.0.2.71, il faut éditer le fichier pour qu’il contienne :
11/11/2023 28
Configuration statique d’une station
Configuration statique: le serveur DNS
# nameserver 192.0.2.71
29. • Dans un réseau IPv4, on peut demander une configuration par DHCP
en utilisant le programme dhclient
11/11/2023 29
Configuration d’une station
# dhclient eth0
Configuration dynamique
30. • La configuration d’une interface avec ifconfig n’est pas enregistrée sur
le disque.
• elle n’est pas conservée en cas de réinitialisation du système (reboot)
• Pour enregistrer la configuration de manière permanente, if faut créer
cette configuration dans le fichier de configuration:
/etc/network/interfaces
• Pour réinitialiser le réseau après un changement dans les fichiers de
configuration, il faut faire :
• Pour les versions récentes d’Ubuntu, il faut faire
11/11/2023 30
Configuration d’une station
Configuration permanente
$ sudo ip addr flush interface-name
$ sudo systemctl restart networking
# /etc/init.d/networking restart
31. 11/11/2023 31
Configuration d’une station
• Configuration permanente
Configuration permanente: Ethernet statique
• Le fichier /etc/network/interfaces sert à paramétrer l’accès de
votre ordinateur à un réseau. Il contient la configuration des
interfaces réseau :
• eth0, eth1, .. - liaison par câble
• lo - interface loopback (127.0.0.1) autrement appelé le
localhost qui permet par convention de contacter la machine
locale sans sortir de la machine locale
• wlan0, wlan1, .. - interface wifi
# cat /etc/network/interfaces
32. 11/11/2023 32
Configuration d’une station
Configuration permanente: Ethernet statique
# configuration de l'interface lo
(obligatoire)
auto lo
iface lo inet loopback
# configuration de l'interface eth0
auto eth0
iface eth0 inet static
address 192.168.0.2
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 192.0.2.71
33. Quelques explications:
• auto ⇒ Le nom de l’interface à monter automatiquement lors du
démarrage du système
• iface ⇒ Définir le mode (static ou DHCP).
Syntaxe: iface <nom_config> <famille_adresse> <nom_méthode>
• address ⇒ L’adresse IP
• netmask ⇒ Le masque reseau
• broadcast ⇒ Le broadcast
• gateway ⇒ La passerelle
• dns-nameservers ⇒ Le serveur DNS
11/11/2023 33
Configuration d’une station
Configuration permanente: Ethernet statique
34. • Certains réseaux locaux sont configurés en DHCP (pour Dynamic Host
Configuration Protocol).
• la station n’a pas besoin de connaître son adresse IP pour se connecter,
mais l’addresse IP est fixée directement par le serveur DHCP
• Dans ce cas, le fichier interfaces est nettement simplifié et ne dépend
que de l’interface:
11/11/2023 34
Configuration d’une station
Configuration permanente: Ethernet DHCP
auto lo
iface lo inet loopback
# configuration de l'interface eth0
auto eth0
iface eth0 inet dhcp
35. • Pour tester si la carte réseau fonctionne, on peut essayer de
communiquer avec une autre machine avec la commande:
• La commande ping envoi un paquet à l'adresse IP puis attend que la
machine réponde. Elle affiche ensuite le temps qu'a pris toute
l'opération, en millisecondes.
11/11/2023 35
Configuration d’une station
Tester le réseau
# ping <adresse ip>
36. 11/11/2023 36
Outils de l’administrateur réseau
Outils de l’administrateur réseau sous linux
Commandes
Fichiers de
configuration
37. • Le fichier /etc/hosts contient une liste de résolutions de noms
(adresses IP et noms de machine). Par exemple:
• Ce fichier contient une ligne pour l’entrée loopback
• Il doit aussi contenir une ligne indiquant le nom de l’ordinateur et
son adresse IP (utile en cas de défaillance du serveur DNS)
• Ce fichier indique que sup correspond à l'adresse IP 192.168.105.2,
qui sera accessible par cet alias.
11/11/2023 37
Outils de l’administrateur réseau
Fichier /etc/hosts
127.0.0.1 localhost
127.0.0.1 berraho-pc
192.168.105.2 sup
Fichiers de configuration
38. • le fichier /etc/networks contient les adresses des réseaux.
• Ce fichier est utilisé par la commande route pour donner un nom aux
différents réseaux.
• Chaque entrée est constituée du nom du réseau, suivi de son adresse
IP.
• Cette option permet par exemple d'adresser un réseau sur son nom,
plutôt que sur son adresse.
11/11/2023 38
Outils de l’administrateur réseau
Fichier /etc/networks
localnet 127.0.0.1
foo-net 192.168.1.0
# route add foo-
net
# route add -net
192.168.1.0
Au lieu de
Fichiers de configuration
39. • Le fichier /etc/host.conf permet de définir le comportement du système
lors de la résolution d'un nom.
• Dans cet exemple, les entrées permettent d'indiquer que la recherche
des noms pour leur résolution doit se faire d'abord localement, puis par
appel aux DNS si la recherche précédente a échoué.
• La deuxième ligne permet de faire en sorte que toutes les adresses
correspondant à une machine soient renvoyées.
• Si l'on avait utilisé l'option multi off, seule la première adresse IP trouvée
aurait été renvoyée.
11/11/2023 39
Outils de l’administrateur réseau
Fichier /etc/host.conf
order hosts,bind
multi on
Fichiers de configuration
40. • Le fichier /etc/resolv.conf contient les adresses IP des serveurs de noms
(machines chargées de la résolution de noms).
• nameserver indique l’adresse IP du serveur de noms auquel le résolveur
devrait envoyer ses requêtes.
11/11/2023 40
Outils de l’administrateur réseau
Fichier /etc/resolv.conf
Nameserver 192.168.1.1
Nameserver 192.168.1.2
Nameserver 192.168.1.3
Fichiers de configuration
41. • sans argument, affiche les interfaces réseau actives.
• L’option -a permet d’afficher toutes les interfaces, y compris celles
qui ne sont pas activées.
• L’options up / down permet d’activer ou désactiver interface en
particulier. On peut configurer une interface réseau
(dynamiquement, ne sera plus active après un reboot).
• Remplacée par la commande ip dans les dernières versions d’Unix.
11/11/2023 41
Outils de l’administrateur réseau
Commandes
Commande ifconfig
42. • Permet de visualiser ou modifier la table du cache arp de l'interface
• Permet de mettre en correspondance des adresses IP et les adresses MAC.
• A chaque nouvelle requête, le cache ARP de l'interface est mis à jour
• L’option -va affiche la table ARP.
• L’option -d nom_machine/@ip supprime l’entrée de la table,
• -s nom_machine adresses_mac ajoute une nouvelle entrée dans la table.
11/11/2023 42
Outils de l’administrateur réseau
Commande arp
Commandes
? (192.168.1.2) at 00:40:33:2D:B5:DD [ether]
on eth0
>Entries: 1 Skipped: 0 Found: 1
# arp –d 192.168.1.2
# arp –s 192.168.1.2 00:40:33:2D:B5:DD
43. • Le besoin:
o La communication entre machines ne peut s'effectuer qu'à travers
l'interface physique
o Les applicatifs ne connaissent que des adresses IP, comment
établir le lien adresse IP / adresse physique ?
• La solution : ARP
o Mise en place dans TCP/IP d’un protocole de bas niveau appelé
Adress Resolution Protocol (ARP)
o Rôle de ARP : fournir à une machine donnée l'adresse physique
d'une autre machine située sur le même réseau à partir de
l'adresse IP de la machine destinatrice
11/11/2023 43
Outils de l’administrateur réseau
Rappel sur le protocole ARP: Address Resolution Protocol
44. • La technique:
o Diffusion d'adresse sur le réseau physique
o La machine d'adresse IP émet un message contenant son adresse
physique
o Les machines non concernées ne répondent pas
o Gestion cache pour ne pas effectuer de requête ARP à chaque
émission
11/11/2023 44
Outils de l’administrateur réseau
Rappel sur le protocole ARP: Address Resolution Protocol
45. • Permet de voir, d’ajouter ou d’enlever les routes se trouvant déclarées
sur votre machine
• Le routage définit le chemin emprunté par les paquets entre son point
de départ et son point d'arrivée.
• Pour indiquer à votre machine où aller trouver les adresses qui ne sont
pas les adresses de votre réseau local, vous devez lui indiquer la
passerelle (ou gateway) vers laquelle elle doit envoyer tous les paquets
• Pour ajouter une route par défaut:
• Pour détruire cette route
11/11/2023 45
Outils de l’administrateur réseau
Commande route
Commandes
# route add default gw 192.168.0.1 dev eth0
# route del default
46. • Pour afficher la table de routage:
11/11/2023 46
Outils de l’administrateur réseau
Commande route
Commandes
# route -n
47. • permet de tester la configuration du réseau, visualiser l’état des
connexions, établir des statistiques, notamment pour surveiller les
serveurs
11/11/2023 47
Outils de l’administrateur réseau
Commande netstat (network statistics)
Commandes
# netstat
48. • Proto : le protocole utilisé. Les classiques TCP et UDP mais également
TCP6 et UDP6 pour les variantes IPV6.
• Recv-Q : Le nombre de Bytes dans la file d’attente de réception. Devrait
toujours être à zéro
• Send-Q : Le nombre de Bytes dans la file d’attente d’envoi. Devrait
toujours être à zéro
• Adresse locale : l’adresse et le port utilisé sur la machine locale
• Adresse distante : l’adresse et le port utilisé par la machine distante
• Etat : LISTEN quand le programme écoute et attend une connexion.
ESTABLISHED lorsque la connexion est établie.
• PID/Program name : Le numéro de processus et le nom du programme
11/11/2023 48
Outils de l’administrateur réseau
Commande netstat (network statistics)
Commandes
49. Quelques paramètres de la commande netstat:
• -a : Tous les ports
• -t : Tous les ports TCP
• -u : Tous les ports UDP
• -l : Tous les ports en écoute
• -n : Affiche directement les IP. Pas de résolution de nom.
• -p : Affiche le nom du programme et le PID associé
11/11/2023 49
Outils de l’administrateur réseau
Commande netstat (network statistics)
Commandes
50. • Permet d'afficher le chemin parcouru par un paquet pour arriver à
destination. Cette commande est importante, car elle permet
d'équilibrer la charge d'un réseau, en optimisant les routes.
• On peut utiliser soit l’adresse IP, soit le nom d’hôte.
11/11/2023 50
Outils de l’administrateur réseau
Commande traceroute
Commandes
# traceroute 192.168.1.109
51. • Permet d’interroger le serveur DNS et de diagnostiquer les
dysfonctionnements dans la résolution de nom.
11/11/2023 51
Outils de l’administrateur réseau
Commande dig
Commandes
# dig google.com
52. • La commande host interroge les serveurs de noms. Elle peut par
exemple être utilisée pour détecter des dysfonctionnement sur un
réseau (serveurs hors services).
11/11/2023 52
Outils de l’administrateur réseau
Commande host
Commandes
54. • Sur les réseaux locaux de grande taille ou sur les réseaux dont les
utilisateurs changent fréquemment, le service DHCP est très
recommandé.
⇒ De nouveaux utilisateurs peuvent se présenter travaillant sur
des ordinateurs portables et nécessitant une connexion.
⇒ D’autres peuvent disposer de nouvelles stations de travail
devant être connectées.
⇒ Plutôt que de faire attribuer des adresses IP par l’administrateur
réseau à chaque station de travail, il est plus efficace que les
adresses IP soient attribuées automatiquement à l’aide du
protocole DHCP.
11/11/2023 54
Dynamic Host Configuration Protocol
Service DHCP
55. • La Gestion des adresses IP
⇒ Les adresses IP doivent être unique
⇒ Nécessité d’une liste d’ordinateurs avec leurs adresses IP respectives
• La Gestion des principaux paramètres IP
⇒ Masques de sous-réseaux
⇒ Adresses IP du gateway
⇒ Serveurs DNS
11/11/2023 55
Dynamic Host Configuration Protocol
Problèmes de gestion avec IP
56. • DHCP : Dynamic Host Configuration Protocol
⇒ « Protocole de configuration Dynamique des clients »
• DHCP est une extension du protocole BOOTP qui permet à un
client sans disque dur (terminal X, imprimante, etc.) de démarrer
et de configurer automatiquement TCP/IP.
• Bâti sur un modèle client-serveur utilisant UDP
• Composé de deux parties :
⇒ Un protocole
⇒ Un mécanisme de création d’adresses
11/11/2023 56
Dynamic Host Configuration Protocol
Protocole DHCP
57. • DHCP permet de:
⇒ Allocation dynamique des adresses IP.
⇒ Utilisation automatique de la plupart des paramètres de réseau.
⇒ Maintenance des adresses IP en cours grâce au concept de « bail
d’adresses IP».
11/11/2023 57
Dynamic Host Configuration Protocol
Protocole DHCP
⇒ Un réseau peut avoir plusieurs serveurs DHCP.
⇒ Le client ne désigne pas un serveur
59. • Modèle client-serveur
• Le client :
⇒ Vient de démarrer et réclame sa configuration.
• Le serveur :
⇒ détient la politique d'attribution des configurations IP.
⇒ envoie une configuration donnée pour une durée donnée,
appelé bail à un client donné
11/11/2023 59
Dynamic Host Configuration Protocol
Serveur DHCP: Fonctionnement
60. • L'obtention d'une adresse se fait en 4 phases :
1) Demande de bail IP par le client.
2) Offre de bail IP par un serveur.
3) Sélection d'une offre par le client.
4) Accusé de réception de bail IP par le serveur.
11/11/2023 60
Dynamic Host Configuration Protocol
DHCP: Demande d’@ IP
61. 11/11/2023 61
Dynamic Host Configuration Protocol
DHCP: Demande d’@ IP
• Lorsqu’un périphérique, configuré pour le protocole
DHCP, est mis sous tension ou se connecte au réseau
diffuse une demande d'adresse IP (DhcpDiscover) avec :
⇒ source 0.0.0.0
⇒ destination 255.255.255.255
⇒ Adresse MAC client
• Un client DHCP attend une offre pendant une seconde.
• En cas de non réponse il rediffuse sa demande quatre fois (à des intervalle
de 9, 13 et 16 secondes puis un intervalle aléatoire entre 0 et 1000 ms).
• Après ces quatre tentatives, il renouvelle sa demande toutes les 5 minutes.
62. 11/11/2023 62
Dynamic Host Configuration Protocol
DHCP: Demande d’@ IP
• Tous les serveurs reçoivent la demande.
• S'ils sont configurés pour répondre, ils diffusent des
offres (DhcpOffer) avec les informations suivantes :
1. L'adresse MAC du client
2. Une adresse IP
3. Un masque de sous-réseau
4. Une durée de bail (durée pendant laquelle
l’IP ne sera pas utilisée par un autre host)
5. Son adresse IP (du serveur)
63. 11/11/2023 63
Dynamic Host Configuration Protocol
DHCP: Demande d’@ IP
• Le client sélectionne une offre (en général la première)
• Le client annonce par diffusion qu'il a accepté une offre
(DhcpRequest).
• Le message DhcpRequest comporte l'identification du
serveur sélectionné.
• Ce dernier sait que son offre a été retenue ;
• Tous les autres serveurs DHCP retirent leurs offres
64. 11/11/2023 64
Dynamic Host Configuration Protocol
DHCP: Demande d’@ IP
• Le serveur ainsi sélectionné envoi accusé de
réception au client (DhcpAck).
• Son message contient éventuellement d'autres
informations (serveur DNS, Passerelle, etc.)
65. 11/11/2023 65
Dynamic Host Configuration Protocol
DHCP: Demande d’@ IP
• Utilisation du mode non connecté via
UDP et N° Port 68 pour le client et 67
pour le serveur
67. 11/11/2023 67
Dynamic Host Configuration Protocol
DHCP: renouvellement de bail
• L'affectation d'une adresse IP n'est pas permanente, elle est accordée
pour une durée limitée qui est le bail
⇒ Une fois que le client obtient le bail, celui-ci doit être renouvelé
avant son expiration via un autre message DHCPREQUEST.
⇒ Le client doit donc renouveler ce bail
• Deux modes de renouvellement possibles :
1. Automatique (Time triggred)
2. Manuel (utilisateur)
68. 11/11/2023 68
Dynamic Host Configuration Protocol
DHCP: renouvellement de bail
• 1ère demande de renouvellement:
⇒ à 50% de l’utilisation du bail, le client envoie un message
DHCPREQUEST pour le renouvellement de son bail.
⇒ Si elle est accordée, le client continue avec un nouveau bail
et éventuellement de nouveaux paramètres (DhcpAck).
⇒ Si le serveur est absent, le bail reste donc valide pendant
50% de la valeur initiale
69. 11/11/2023 69
Dynamic Host Configuration Protocol
DHCP: renouvellement de bail
• 2ème demande de renouvellement:
⇒ à 87.5% du bail, si le serveur est indisponible, le client envoie un
message DHCPDISCOVER.
⇒ Cette fois la demande est adressée à tous les serveurs (diffusion).
1. Un serveur peut répondre en proposant un nouveau bail
(DhcpAck)
2. Mais peut également répondre avec un message DhcpNack qui
oblige le client à se réinitialiser (reprise de la procédure
d'obtention d'un bail)
70. 11/11/2023 70
Dynamic Host Configuration Protocol
DHCP: renouvellement de bail
• Si le bail expire (ou message DhcpNack):
•
⇒ À 100% du bail : reprise de la procédure, normale, d'obtention
d'un bail
71. 11/11/2023 71
Dynamic Host Configuration Protocol
DHCP: renouvellement de bail
• Renouvellement manuel de bail
• L’utilisateur force manuellement le renouvellement du bail
⇒ dhclient -r: cette commande génère un
DHCPREQUEST
⇒ dhclient: cette commande obtient une nouvelle
adresse
72. 11/11/2023 72
Dynamic Host Configuration Protocol
DHCP: messages
• DHCPDISCOVER: Requête de Localisation des serveurs DHCP
disponibles
• DHCPOFFER : Réponse d’un serveur à un paquet DHCPDISCOVER,
contenant les premiers paramètres DHCP
• DHCPREQUEST: Requête du client pour annoncer qu'il a accepté
une offre ou pour prolonger son bail
• DHCPACK : Réponse du serveur contenant des paramètres
supplémentaires en plus de l'adresse IP du client
73. • DHCPNAK : Réponse du serveur pour signaler au client que son
bail est expiré ou si le client annonce une mauvaise configuration
réseau
• DHCPDECLINE : le client annonce au serveur que l'adresse est déjà
utilisée
• DHCPRELEASE : le client libère son adresse IP
• DHCPINFORM : le client demande des paramètres locaux de
configuration si il a obtenu une adresse réseau grâce à d'autres
moyens (ex. configuration manuelle)
11/11/2023 73
Dynamic Host Configuration Protocol
DHCP: messages
74. • Les trames broadcast ne traversent pas les routeurs.
• Sur un réseau segmenté par des routeurs il est donc impossible de
servir tous les segments avec le même serveur DHCP.
1. Il faut donc mettre un serveur DHCP sur chaque segment,
2. Ou utiliser un agent de relais DHCP.
• Un agent de relais DHCP relaye les messages DHCP échangés entre un
client et un serveur DHCP situés sur des sous-réseaux différents.
⇒ Il est généralement installé sur un routeur pour pouvoir diriger
les messages vers le serveur DHCP.
⇒ L'agent doit connaître l'adresse du serveur DHCP mais ne peut
pas être lui même client DHCP.
• Serveur DHCP et agent de relais ont des adresses ip statiques.
• Le dialogue traverse le routeur et se fait en unicast.
11/11/2023 74
Dynamic Host Configuration Protocol
Agent de relais DHCP
75. 11/11/2023 75
Dynamic Host Configuration Protocol
Agent de relais DHCP
1. Le client envoie une trame de broadcast DhcpDiscover (1)
2. l'agent de relais transfère la requête à la liste des serveurs
DHCP spécifiés lors du configuration de l'agent (2)
3. Le serveur retourne à l'agent une adresse (3)
4. L’agent diffuse la réponse sur le réseau ayant envoyé la
requête d'origine (4).
76. 11/11/2023 76
Dynamic Host Configuration Protocol
Service DHCP
• Les adresses attribuées via le DHCP ne sont pas affectées aux hôtes
définitivement.
n
⇒ Si l’hôte est mis hors tension ou retiré du réseau, l’adresse est
retournée au pool pour être réutilisée.
⇒ utile pour les utilisateurs mobiles qui se connectent et se
déconnectent sur le réseau.
⇒ les utilisateurs peuvent librement se déplacer d’un endroit à un
autre et rétablir des connexions réseau.
⇒ L’hôte peut contenir une adresse IP une fois la connexion
matérielle établie, via un réseau local filaire ou sans fil.
77. 11/11/2023 77
Dynamic Host Configuration Protocol
Adressage statique et adressage dynamique
• L’adressage dynamique et l’adressage statique ont chacun leur place
dans la conception des réseaux.
• De nombreux réseaux utilisent à la fois le protocole DHCP et
l’adressage statique.
- Le protocole DHCP est utilisé pour les hôtes à utilisation générale
(par exemple, les périphériques d’utilisateur final)
- Les adresses fixes pour les périphériques réseau :
⇒ les passerelles,
⇒ les commutateurs,
⇒ les serveurs
⇒ les imprimantes
78. 11/11/2023 78
Dynamic Host Configuration Protocol
Configuration d’un serveur DHCP
• Définir une plage d'adresses qui peuvent être louées à des hôtes qui
en font la demande. En général on donne:
⇒ Une adresse de début (la première qui sera attribuée)
⇒ Une adresse de fin (la dernière)
⇒ Une ou plusieurs plages d'adresses à exclure de la location (ceci
permet de faire cohabiter un modèle de configuration IP
dynamique avec un modèle statique)
⇒ Un masque de sous-réseau
• Tous ces éléments sont attribués pour une durée de bail à fixer. Si, au
bout de cette durée, l'hôte ne sollicite pas à nouveau une adresse au
serveur, cette adresse est jugée disponible pour un autre hôte.
80. 11/11/2023 80
DNS: Domain Name System
Service de résolution des noms
• L’Internet est constitué de réseaux (dizaines de milliers)
• Les réseaux sont constitués de sous-réseaux
• Les sous-réseaux sont constitués de machines
• La technologie de base (TCP/IP) permet d’atteindre les machines par
leurs adresses IP.
• Il est pratiquement devenu impossible aux utilisateurs de connaître
les adresses (IP) des machines auxquelles ils veulent accéder.
Pour cette raison, des noms de domaine ont été créés pour
convertir les adresses numériques en noms simples et
explicites.
81. 11/11/2023 81
DNS: Domain Name System
Service de résolution des noms
• Avant d'installer un service quel qu'il soit, il faut s'assurer du bon
fonctionnement de la résolution de noms sur le réseau.
• Chaque ordinateur du réseau contenait un fichier /etc/hosts.
• Problème: À chaque fois que l'on rajoutait une machine sur le
réseau, il fallait mettre à jour ce fichier.
• La solution qui s'est imposée fut la création d'une base de données
distribuée, et ainsi est né le principe de serveur DNS .
Un serveur DNS permet de faire la correspondance entre
un nom canonique FQDN (ex: www.google.fr) et son
adresse IP.
83. • Protocole applicatif
• DNS est utilisé par d’autres protocoles applicatifs mais est rarement
utilisé directement par l’application.
• modèle client/serveur : un émetteur interroge un serveur de noms
(serveur DNS)
• Port 53/UDP (ou 53/TCP pour les mises à jour)
11/11/2023 83
DNS: Domain Name System
Protocole DNS
84. • Base de données distribuée et implémentée en hiérarchie sur de
nombreux serveurs de noms.
•
• Le DNS est basé sur un modèle en arborescence similaire à celui des
systèmes de fichiers et de répertoires, avec une gestion décentralisée
des données .
• Composé de trois composantes:
• Un “ espace de nommage”
• Les serveurs rendant l'espace de nommage disponible
• Les resolvers (clients) qui questionnent les serveurs à propos de
l'espace de nommage.
11/11/2023 84
DNS: Domain Name System
Système de noms de domaines
85. • Pourquoi pas de DNS centralisé? Un seul serveur contiendrait
toutes les correspondances requises par les applications de
l’internet.
⇒ dimension de l’internet : trop de correspondances à gérer,
nombre de requêtes au serveur trop important
⇒ tolérance aux pannes : si le serveur DNS tombe, tout internet
aussi
⇒ trafic impossible à supporter par un seul serveur
⇒ délai de réponse : il faut faire en sorte que la réponse soit la
plus proche possible du demandeur
⇒ problème lié à la maintenance et aux mises à jour perpétuelles
de la base.
11/11/2023 85
DNS: Domain Name System
Système de noms de domaines
86. 11/11/2023 86
DNS: Domain Name System
L’espace de noms de domaine
• Chaque unité de donnée dans la base DNS est indexée par un nom
• Les noms constituent un chemin dans un arbre inversé appelé
l’espace de Noms de domaine
• Organisation similaire à un système de gestion de fichiers
• Chaque nœud est identifié par un nom
• Racine appelée root, identifiée par «.»
• 127 niveaux au maximum
87. • Base de donnée hiérarchique et distribuée
11/11/2023 87
DNS: Domain Name System
L’espace de noms de domaine
• Client veut l'IP pour www.amazon.com:
⇒ Client demande au serveur racine de trouver le serveur DNS com
⇒ Client demande au serveur DNS com de lui fournir le serveur DNS
amazon.com
⇒ Client demande au serveur DNS amazon.com de lui fournir
l'adresse IP de www.amazon.com
88. 11/11/2023 88
DNS: Domain Name System
Nom de domaine
• Dans un réseau local, les machines peuvent-être identifiées par leurs
seuls noms. Par contre, à l‘échelle d'Internet, ces noms doivent être
concaténés avec le nom du domaine dans lequel elles sont déclarés.
Exemple:
Nom du domaine : afnic.fr
nom local de la machine : www
nom de la machine dans le DNS : www.afnic.fr
nom local de la machine : ftp
nom de la machine dans le DNS : ftp.afnic.fr
89. 11/11/2023 89
DNS: Domain Name System
Nom de domaine
• Un nom de domaine est la séquence de labels depuis le nœud de
l’arbre correspondant jusqu’à la racine
• Deux nœuds fils ne peuvent avoir le même nom ==> unicité d’un
nom de domaine au niveau mondial
fr
ac-grenoble
. (root)
berges
berges.ac-grenoble.fr
90. • Un domaine est un sous-arbre de l’espace nom de domaine.
11/11/2023 90
DNS: Domain Name System
Domaine
fr
inria
ac-grenoble
berges
Domaine complet
Domaine fr
Domaine ac-grenoble
nœud berges.ac-grenoble.fr
Des nœuds peuvent avoir les
mêmes noms dans des
domaines différents :
srv.peugeot.fr et srv.renault.fr
91. • Le DNS est organisé sous la forme d’une arborescence inversée, avec
une « racine » dont dépendent les différentes « branches ».
• Au premier niveau de l’arborescence se trouvent les « Top-Level
Domains (TLD)» ou domaines de premier niveau, comme les .fr, .com
etc.
• Au second niveau, nous avons les noms de domaine « classiques »
comme « afnic.fr ».
• Deux types de TLD :
⇒ generic TLD: .com, .org, .gov, .net,. . .
⇒ countries TLD: .fr, .de, .uk,. . .
11/11/2023 91
DNS: Domain Name System
Domaine
93. • Le système DNS est entièrement distribué au niveau planétaire ; Le
mécanisme sous-jacent est la délégation de domaine
• A tout domaine est associé une responsabilité administrative.
• Une organisation responsable d’un domaine peut :
• Découper le domaine en sous-domaines
• Déléguer les sous-domaines à d’autres organisations :
⇒ qui deviennent à leur tour responsables du (des) sous-
domaine(s) qui leurs sont délégué(s)
⇒ ces dernières peuvent, à leur tour, déléguer des sous-
domaines des sous-domaines qu’elles gèrent
• Le domaine parent contient alors seulement un pointeur vers le
sous-domaine délégué; Par exemple :
⇒ ac-grenoble.fr est délégué à l’organisation «Académie de
Grenoble»
⇒ L’Académie de Grenoble gère donc les données propres à ce
domaine.
11/11/2023 93
DNS: Domain Name System
Délégation
94. • Un domain identifie une sous arborescence de l’espace de nommage
(Domain = lieu topologique)
• Une zone contient une base avec l’ensemble des informations
associées à ce nœud (Zone = borne administrative)
• Le système DNS permet de diviser l’espace des noms en zones :
11/11/2023 94
DNS: Domain Name System
Domaine vs zone
⇒ Ces zones stockent des informations
relatives à un ou plusieurs domaines.
⇒ Avant tout, une zone est une base de
données de stockage contenant des
enregistrements RR (Resource Records)
concernant un nom de domaine DNS.
⇒ Si un sous-domaine est créé, il peut
être géré par la zone du domaine
parent ou par une zone qui lui est
propre.
95. 11/11/2023 95
DNS: Domain Name System
Domaine vs zone
• Une zone = une administration centralisée avec au moins un
serveur DNS (généralement 1 primaire et 1 secondaire)
• Une zone doit connaître les adresses des serveurs DNS des zones
subordonnées.
96. 11/11/2023 96
DNS: Domain Name System
Délégation de zone
La délégation permet de déléguer (décentraliser) l’administration
d’une partie de l’espace de nommage de domaine.
La zone .g délègue
l’administration des
zones .g1 et .g2
97. 11/11/2023 97
DNS: Domain Name System
Les serveurs de noms
• Les logiciels qui gèrent les données de l’espace de noms de domaine
sont appelés des serveurs de nom ( domain name servers - DNS)
• Les serveurs de noms enregistrent les données propres à une partie
de l’espace de noms de domaine dans une ZONE.
• Le serveur de noms a autorité administrative sur cette zone.
• Un serveur de nom peut avoir autorité sur plusieurs zone.
• Une zone contient les informations d’un domaine sauf celles qui sont
déléguées.
fr
bc ab
ca
on qb domaine
zone
98. • A chaque zone, correspond un serveur DNS principal (unique) :
⇒ Il maintient la base de données de la zone dont il a l’autorité
administrative.
⇒ Il a le droit de lecture-écriture sur les données originales de la zone.
⇒ Il sert de point de mise à jour de la zone.
• Serveurs secondaires:
⇒ Ils contiennent une réplique dans son intégralité de la base de
données du serveur principal.
⇒ Les données sont en lecture seule (les modifications sont faites
d'abord sur le serveur principal)
⇒ Ils assurent l’équilibrage de la charge et la tolérance aux pannes.
11/11/2023 98
DNS: Domain Name System
Les serveurs de noms: Serveur primaire et serveur secondaire
100. • Un serveur de nom peut être primaire pour une (des) zone(s) et
secondaire pour d’autre(s).
• Les «resolvers» sont les processus clients qui contactent les serveurs
de noms.
Fonctionnement du resolver:
⇒ Il contacte un serveur de noms (dont l’ (les) adresse(s) est (sont)
configurées sur la machine exécutant ce resolver),
⇒ Il interprète les réponses,
⇒ Il retourne l’information au logiciel appelant,
⇒ Il gère le cache.
11/11/2023 100
DNS: Domain Name System
Les resolvers
101. • Les serveurs racine connaissent les
serveurs de nom ayant autorité sur
tous les domaines racines
• Les serveurs racines connaissent au
moins les serveurs de noms
pouvant résoudre le premier niveau
(.com, .edu, .fr, etc.)
• Pierre angulaire du système DNS : si
les serveurs racines ne sont plus
opérationnels, il n’y a plus de
communication sur l’Internet
• multiplicité des serveurs racines
• actuellement jusqu’à 13
éparpillés sur la planète
• chaque serveur racine reçoit
environ 100000 requêtes / heure
11/11/2023 101
DNS: Domain Name System
Les serveurs racine
103. • La résolution inverse consiste, elle, à retrouver le nom d'une machine
à partir de son adresse IP.
• Comme pour la résolution de nom, la résolution inverse s'appuie sur
un système en arborescence qui part du domaine particulier in-
addr.arpa
⇒ Chaque octet de l'adresse IP correspond à un niveau ; pour
chaque adresse, on crée un nom de domaine, sous-domaine de
in-addr.arpa, qu'on obtient en écrivant l'adresse IP ‘’à l‘inverse"
(en commençant par le dernier octet). Ainsi, pour l'adresse IP
192.134.4.9, on obtient le nom de domaine 9.4.134.192.in-
addr.arpa.
⇒ Puis la procédure est le même que celle de la résolution
classique.
11/11/2023 103
DNS: Domain Name System
Résolution inverse
105. • Le resolver permet de lancer des requêtes DNS pour la résolution de
nom. Il existe 2 modes d'interrogation pour un resolver :
Le mode récursif : le client (resolver) envoie une requête au serveur
DNS ; ce dernier renvoie une réponse complète au client qui est soit
la correspondance recherchée soit un message d'erreur.
Le mode non récursif ou itératif : le client envoie une requête au
serveur DNS ; ce dernier renvoie soit la réponse complète (s'il est
autoritaire pour la zone concernée) soit une réponse partielle
(adresse d'un autre serveur de noms qui va permettre au client
d'avancer dans le processus de résolution).
11/11/2023 105
DNS: Domain Name System
Résolution d’une requête
En général, le mode récursif est utilisé par les applications clientes
et le mode itératif par les revolvers des serveurs de noms.
106. • Requête récursive:
⇒ la machine qui demande la résolution de nom ;
⇒ contacte un serveur DNS et attend que ce dernier lui retourne la
réponse ;
⇒ si il en a besoin, le serveur demande à un autre serveur ;
⇒ ...
• Requête itérative:
⇒ le serveur de noms contacté fournit en réponse le nom d’un
autre serveur DNS à contacter pour avancer dans la résolution ;
⇒”je ne connais pas ce nom mais demande à ce serveur”.
11/11/2023 106
DNS: Domain Name System
Résolution d’une requête
107. • Idée générale des caches :
⇒ réduire le temps de réponse (diminue le nombre de messages
nécessaires à la résolution)
⇒ réduire la charge des serveurs (diminue le nombre de serveurs à
contacter)
• Le serveur de noms (quelconque) stocke dans son cache les
informations récentes
• A la prochaine demande, il peut répondre directement
• Attention:
⇒ les données expirent du cache après un certain temps TTL
(environ 2 jours)
⇒ un serveur qui mémorise dans son cache un enregistrement DNS
n’a pas autorité dessus =⇒ spécifie ”no authoritative” dans la
réponse
11/11/2023 107
DNS: Domain Name System
Serveur cache
108. • BIND, pour Berkeley Internet Name Daemon, est une implémentation
de résolution de noms d'hôtes sur un réseau d'adresses IP (et vice
versa).
• Le serveur de noms BIND fournit ses services de résolution de noms à
l'aide du démon /usr/sbin/named.
• BIND contient également un utilitaire d'administration appelé
/usr/sbin/rndc.
• BIND stocke ses fichiers de configuration aux emplacements suivants :
• le fichier /etc/named.conf — Le fichier de configuration du démon
named.
• le répertoire /var/named/ — Le répertoire de travail de named
qui stocke les fichiers de zone, de statistiques et les fichiers de
cache.
11/11/2023 108
DNS: Domain Name System
BIND en tant que serveur de noms
109. • Le fichier principal de configuration de BIND est /etc/bind/named.conf
• Le fichier named.conf est une suite de déclarations utilisant des
options imbriquées qui sont placées entre accolades, { }.
• Lorsqu'ils modifient le fichier named.conf, les administrateurs doivent
veillez tout particulièrement à ne pas faire de fautes de syntaxe car des
erreurs mineures en apparence empêcheront le démarrage du service
named
11/11/2023 109
DNS: Domain Name System
Fichier /etc/named.conf
110. 11/11/2023 110
DNS: Domain Name System
Types courants de déclarations
Déclaration acl
Liste de contrôle d'accès, définit des groupes d'hôtes qui peuvent ensuite
être autorisés ou non à accéder au serveur de noms.
Une déclaration options permet de définir la manière dont elles seront
traitées par le serveur de noms
111. 11/11/2023 111
DNS: Domain Name System
Types courants de déclarations
Déclaration include
Permet à des fichiers d'être inclus dans un fichier named.conf. Ce
faisant, des données de configurations critiques (telles que les clés,
keys) peuvent être placées dans un fichier séparé doté de permissions
restrictives.
Dans cette déclaration, <file-name> est remplacé par le chemin d'accès
absolu vers un fichier .
112. 11/11/2023 112
DNS: Domain Name System
Types courants de déclarations
Déclaration zone
Définit les caractéristiques d'une zone tels que l'emplacement de ses
fichiers de configuration et les options spécifiques à la zone.
<zone-name> correspond au nom de la zone, <zone-class> à la classe
optionnelle de la zone et <zone-options> représente une liste des
options caractérisant la zone
113. 11/11/2023 113
DNS: Domain Name System
Types courants de déclarations
Ici, la zone est identifiée en tant que example.com, le type est défini comme master et
le service named a comme instruction de lire le fichier /var/named/example.com.zone.
Elle indique à named de refuser la mise à jour à tout autre hôte.
Ici, zone configure named sur le serveur esclave de manière à ce qu'il cherche le
serveur maître à l'adresse IP 192.168.0.1 pour y trouver les informations concernant
la zone appelée example.com. Les informations que le serveur esclave reçoit du
serveur maître sont enregistrées dans le fichier /var/named/example.com.zone.
114. 11/11/2023 114
DNS: Domain Name System
Balises de commentaire
• // — Lorsque ce symbole est placé en début de ligne, cette dernière
n'est pas prise en compte par named.
• # — Lorsque ce symbole est placé en début de ligne, cette dernière
n'est pas prise en compte par named.
• /* et */ — Lorsque du texte est placé entre ces symboles, le bloc de
texte en question n'est pas pris en compte par named.
115. • Contiennent des informations sur un espace de nom particulier et sont
stockés dans le répertoire de travail /var/named/.
• Chaque fichier de zone est nommé selon les données d'options
de file dans la déclaration zone.
• Chaque fichier de zone peut contenir des directives et
des enregistrements de ressources.
• Les directives donnent au serveur de noms l'instruction d'effectuer une
certaine tâche ou d'appliquer des paramètres spéciaux à la zone
• Les enregistrements de ressources définissent les paramètres de la
zone, assignant des identités aux hôtes individuels.
• Les directives sont facultatives, mais les enregistrements de
ressources sont requis pour fournir un service de nom à une zone.
11/11/2023 115
DNS: Domain Name System
Fichiers de zone
116. • Les directives sont identifiées par le symbole dollar ($) suivit du nom de
la directive
• Les directives les plus couramment utilisées sont les suivantes :
• $INCLUDE — Configure named de façon à ce qu'il inclue un autre
fichier de zone dans ce fichier de zone à l'endroit où la directive
apparaît
• $ORIGIN — Attache le nom de domaine à des enregistrements non-
qualifiés, comme ceux qui spécifient seulement l'hôte et rien de
plus
• $TTL — Règle la valeur par défaut de Time to Live (TTL) (ou temps
de vie) pour la zone. Cette valeur exprimée en secondes,
correspond à la durée pendant laquelle un enregistrement de
ressources de zone est valide. Chaque enregistrement de
ressources peut contenir sa propre valeur TTL, qui remplace alors
cette directive
11/11/2023 116
DNS: Domain Name System
Directives des fichiers de zone
117. • RR (Ressource Record), L'enregistrement de ressource peut être
considéré comme l'unité de donnée de base du DNS. Il donne
certaines caractéristiques d'un nom de domaine telles qu'une
adresse IP d'un serveur ou d'une machine du domaine, un alias pour
une machine, etc...
• Un enregistrement de ressource est composé de cinq champs :
11/11/2023 117
DNS: Domain Name System
L’enregistrement de ressource
118. • TTL (Time To Live) : La durée de vie est le temps pendant lequel la
valeur d'un RR dans un cache est considérée comme valide ;
• Record Class : La classe d'enregistrement définit le schéma de base
sur lequel est fondé le système d'enregistrements.
• Record Type : Donne le type d'un enregistrement (adresse IP, alias,
nom de domaine, etc...) ;
• SOA (Start Of Authority) : L'origine de l'autorité spécifie la zone pour
laquelle le serveur est autoritaire ;
• NS (Name Server) : NS est un type d'enregistrement qui spécifie le
serveur autoritaire pour la zone considérée ;
11/11/2023 118
DNS: Domain Name System
L’enregistrement de ressource
119. • A (Address) : Permet la mise en correspondance entre un FQDN
et une adresse IP;
• CNAME (Canonical Name) : Le type d'enregistrement nom
canonique donne un alias pour une machine donnée ;
• MX (Mail eXchanger) : Ce type d'enregistrement spécifie le relais
de messagerie pour la zone considéré ;
• PTR (Pointer) : Le type d'enregistrement "Pointeur" est utilisé
pour la résolution inverse pour la mise en correspondance entre
une adresse IP et un nom de domaine.
11/11/2023 119
DNS: Domain Name System
L’enregistrement de ressource
120. • Un fichier de zone de résolution de nom inverse est utilisé pour
traduire une adresse IP dans un espace de nom particulier en un FQDN.
Il ressemble beaucoup à un fichier de zone standard, sauf que les
enregistrements de ressources PTR servent à lier les adresses IP au
nom d'un domaine pleinement qualifié.
11/11/2023 120
DNS: Domain Name System
Fichiers de résolution de noms inverse
122. • Pour échanger des informations entre les utilisateurs de plusieurs
réseaux locaux, les entités intermédiaires jouent un rôle capital.
• Contiennent les moyens nécessaires à l’acheminement des
informations entre deux stations quelconques dans le réseaux.
• Moyens (selon le modèle OSI) ∈ couche 3 : la couche réseaux.
11/11/2023 122
Routage
Introduction
123. • Routage= Processus par lequel un élément (courrier, appels
téléphoniques, paquets IP, …) va être acheminé d’un endroit à un
autre.
• Un élément faisant du routage doit connaître :
‒ La destination,
‒ De quelle source il peut apprendre les chemins d’accès à la
destination voulue,
‒ Les itinéraires possibles pour atteindre la destination,
‒ Le(s) meilleur(s) itinéraire(s) pour atteindre la destination,
‒ Un moyen d’actualiser les itinéraires.
11/11/2023 123
Routage
Définition
124. • Objectif: Acheminer des datagrammes IP d’une machine source A
vers une machine destination B.
• Problématique: Comment atteindre la machine B en connaissant
son adresse IP?
11/11/2023 124
Routage
Problématique
A B
Nécessité d’identifier toute les machines intermédiaires
132. • Le routage permet de faire communiquer plusieurs sous-réseaux.
• Une passerelle (en anglais gateway) assure la communication entre
les différents sous-réseaux.
• Une route définie sur une station est un chemin que doivent prendre
les paquets d’un certain sous-réseau vers une destination.
11/11/2023 132
Routage
Principe de base
134. • Routeur = passerelle avec matériel et logiciel dédiés
11/11/2023 134
Routage
Routeur
Un routeur est un matériel réseau spécifique, conçu spécialement
pour le routage. Faire un routeur avec un PC à plusieurs cartes est
possible.
135. Définition:
• Processus de choix des chemins par lesquels les paquets sont
transmis à la machine destinataire
• Processus basé sur une table de routage IP routing table contenant les
informations relatives aux différentes destination possibles et à la
façon de les atteindre.
⇒ Exemple : netstat -r (sous UNIX)
Principe de base :
• L’émetteur ne connaît pas la route complète mais l’adresse du
prochain site IP qui le rapprochera de la destination (prochain saut)
• Simplicité des tables de routage
11/11/2023 135
Routage
Principe de base
136. 11/11/2023 136
Routage
Fonction de routage
• Objectif = Déterminer le meilleur chemin pour atteindre la
destination
• Pour se faire on utilise:
‒ Les informations d’un protocole routé
‒ La table de routage correspondante: Détermination du
meilleur chemin
‒ Les Métriques: Mesure de qualité pour les chemins
Un protocole routé ou routable: comment les information sont
organisées pour être transportées sur le réseau. Les protocoles routés
transportent les données sur un réseau. (par exemple: IP)
Un protocole de routage: comment est réalisé l’acheminement des
paquets. (RIP,OSPF, BGP, …)
137. 11/11/2023 137
Routage
0 24
8 16 31
Type de service Longueur totale
Identification Offset fragment
Adresse IP Source
Adresse IP Destination
Options IP (éventuellement)
4
VERS HLEN
19
Flags
Durée de vie Protocole Somme de contrôle Header
Padding
Données
. . .
Exemple de protocole routé: IP
138. 11/11/2023 138
Routage
Processus de transmission
• Détermination du réseau de destination
⇒ Un équipement sur un réseau, peut atteindre directement les
machines sur le même segment sans routage (ARP), (Réseau Local)
⇒ Ne peut pas atteindre les équipements sur un autre réseau (ou
sous-réseau) sans un intermédiaire. (Réseau distant)
• Comment savoir?
⇒ IP source AND masque de SR local IP SR source
⇒ IP de destination AND masque de SR local IP SR destination
• IP réseau locale = IP réseau de destination
⇒ Destination dans le même réseau
⇒ Transmission directe
• IP réseau locale ≠ IP réseau de destination
⇒ Destination dans un autre réseau
⇒ Transfert à la passerelle par défaut
139. 11/11/2023 139
Routage
Table de routage
• Les informations de routage sont mémorisées dans la table de
routage des équipements (routeurs).
• Cette table doit être périodiquement mise à jour
• Manuellement : routage STATIQUE
• Automatiquement : routage DYNAMIQUE
• Le routage s’effectue sur deux opérations:
• La sélection de la meilleure voie,
• La commutation du paquet sur l ’interface appropriée.
140. 11/11/2023 140
Routage
Table de routage sous linux
• La consultation/modification de la table de routage sous linux peut
être faite avec la commande route.
• Chaque machine possède une table de routage qui lui indique quoi
faire des paquets.
141. 11/11/2023 141
Routage
Champs d’une table de routage sous linux
L‘adresse de destination, peut contenir :
⇒ Une adresse machine
⇒ Une adresse de sous-réseau
⇒ Une adresse de réseau
⇒ Une passerelle par défaut
Passerelle: indique ou le paquet
doit être envoyé. Peut être :
⇒ une carte réseau locale
⇒ un Routeur du sous-réseau
local
142. 11/11/2023 142
Routage
Champs d’une table de routage sous linux
Genmask: définit la portion
d‘adresse réseau qui correspond
à l‘itinéraire.
Indic (Flags) :
⇒ U (Up) : la route est active
⇒ H (Host) : la route conduit à un hôte
⇒G (Gateway): la route passe par une
passerelle (voisine)
143. 11/11/2023 143
Routage
Champs d’une table de routage sous linux
Comment le routeur choisi un itinéraire s’il
apprend la même route par des routeurs
voisins utilisant le même protocole de
routage?
144. 11/11/2023 144
Routage
Champs d’une table de routage sous linux
Metric: correspond au nombre de
nœuds à franchir pour atteindre la
destination. Permet de déterminer le
meilleur itinéraire.
Ref: spécifie le nombre de référe-
nces à cette route (non utilisé par
le noyau Linux)
145. 11/11/2023 145
Métrique: utilisée par les protocoles de routage pour sélectionner le
meilleur chemin:
⇒ Si un routeur apprend deux routes différentes pour le même
réseau à partir du même protocole de routage, il doit décider
quelle route est la meilleure.
⇒ Petite métrique = Route meilleure
Routage
Champs d’une table de routage sous linux
146. 11/11/2023 146
Routage
Champs d’une table de routage sous linux
• Exemple de choix d’une route en fonction de la métrique:
‒ RIP a été configuré sur tous les routeurs.
‒ Le routeur 1 a deux chemins pour atteindre le sous-réseau 10.0.0.0/24: Une
route passe par le routeur 2, l’autre passe par le routeur 3 puis par le routeur
4.
‒ le RIP utilise le nombre de sauts comme métrique le chemin d’accès via le
routeur 2 est choisi car le sous-réseau n’est distant que d’un seul
‒ L’autre chemin aura une métrique supérieure de 2, car le sous-réseau est à
deux routeurs.
147. 11/11/2023 147
Routage
Champs d’une table de routage sous linux
Use: comptabilise le nombre de
recherches associées à cette ro
-ute
Iface: l‘adresse de la carte réseau
qui émet le paquet.
149. 11/11/2023 149
Routage
Route par défaut
# route add default gw 192.168.3.131 dev eth0
• Appelé aussi réseau candidat par défaut
• Utilisée pour atteindre une destination inconnue: rediriger
l’inconnu vers un prochain saut définit
• utilisée si le prochain saut ne figure pas explicitement dans la table
de routage.
• Facilite la circulation des données sur un réseau de grande taille,
• Exemple : LAN vers Internet
• Pour ajouter une route par défaut dans sa table de routage, on
utilise la commande route :
153. 11/11/2023 153
Routage
Analyse de route
• Permet d'afficher le chemin parcouru par un paquet pour arriver à
destination. Cette commande est importante, car elle permet
d'équilibrer la charge d'un réseau, en optimisant les routes.
• On peut utiliser soit l’adresse IP, soit le nom d’hôte.
Commande traceroute
# traceroute 192.168.1.109
154. 11/11/2023 154
Routage
Configurer un poste Linux comme routeur
• Par défaut, un poste Linux ne délivre que les paquets qui
proviennent du poste ou qui lui sont destinés.
• Les autres paquets sont ignorés et donc le poste ne peut faire
fonction de routeur.
• Pour devenir routeur, le poste Linux doit relayer (retransmettre) les
paquets qui ne lui sont pas destinés.
Il faut modifier l’option ip_forward du noyau
155. 11/11/2023 155
Routage
Activation/désactivation du routage
• Activer le routage:
# echo "1" > /proc/sys/net/ipv4/ip_forward
// OU
# sysctl -n -w net.ipv4.ip_forward=1
• Désactiver le routage:
# echo "0" > /proc/sys/net/ipv4/ip_forward //
OU
# sysctl -n -w net.ipv4.ip_forward=0
157. • Dans beaucoup d’organisations, les utilisateurs n’ont pas de machine
attribuée : ils peuvent se connecter sur n’importe quelle machine.
• Problèmes à résoudre:
⇒ Il faut que l’utilisateur puisse retrouver ses données quelle que
soit machine sur laquelle il se connecte.
⇒ Il faut que son identifiant et son mot de passe soient reconnus
sur toutes les machines.
11/11/2023 157
Accès aux fichiers distants
Problèmes liés à la mobilité des utilisateurs
Une solution: centraliser les données.
158. 11/11/2023 158
Accès aux fichiers distants
Idée générale
L’utilisateur doit pourvoir travailler sur n’importe quel poste
de travail !
159. • Les données (les fichiers, par exemple) sont stockées sur un serveur
(unique).
• Quand un utilisateur lit (ou modifie) ces données, elles ne sont pas
lues (ou modifiées) en local (sur sa machine) mais directement sur le
serveur.
• Principe de transparence :
⇒ L’utilisateur ne doit pas se rendre compte que les données
qu’il utilise sont stockées sur une autre machine.
⇒ Il utilise les données stockées sur le serveur comme toute
autre donnée stockée en local.
11/11/2023 159
Accès aux fichiers distants
La centralisation des données
Des échanges sur le réseau sont nécessaires à chaque
lecture/modification.
160. • C’est un ensemble client/serveur qui permet pour une machine de
mettre à disposition ses fichiers sur le réseau.
• L’accès aux fichiers distants est complètement transparent pour
l’utilisateur:
⇒ tout se passe comme si le système de fichiers distant était local
(disques réseaux)
⇒ l’utilisateur peut éditer le fichier, le modifier, . . . ; les modifications
seront répercutées sur le système de fichiers distant ;
⇒ les utilisateurs de la machine cliente peuvent utiliser n’importe quel
logiciel pour manipuler les fichiers distribués.
• Les deux principaux protocoles :
⇒ NFS: Network File System (Unix/Sun-RPC)
⇒ SMB: Server Message Block (issu du monde Microsoft)
11/11/2023 160
Accès aux fichiers distants
Principe
161. • Un système de fichiers réseau (NFS: Network File System), permet
aux hôtes distants de monter des systèmes de fichiers sur un réseau
et de les utiliser exactement comme des systèmes de fichiers locaux.
• Ceci permet aux administrateurs système de stocker des ressources
sur des serveurs centralisés sur le réseau.
• Protocole (couche Application) permettant de rendre transparent
l’utilisation de fichiers répartis sur différentes machines, via un
réseau.
11/11/2023 161
Accès aux fichiers distants
NFS: Network File System
162. • Protocole de partage de fichiers en réseau développé par Sun
• Basé sur l'utilisation des RPC (Remote Procedure Calls).
• Un serveur NFS:
⇒ exporte une arborescence qui est tout ou partie d'un disque logique
⇒ à une population de machines qui peuvent monter cette arborescence.
⇒ avec des droits et restrictions associés à ce montage.
• Un client NFS:
⇒ Monte les répertoires exportés par un serveur,
⇒ Traduit les opérations sur fichiers en appel de procédure NFS
• NFS v2 implémenté sur UDP.
• NFS V3 implémenté sur TCP.
• NFS V4 utilise l'authentification des utilisateurs basée sur Kerberos.
11/11/2023 162
Accès aux fichiers distants
Protocole NFS
163. NFS - Postes de travail sans disque
11/11/2023 163
Accès aux fichiers distants
Protocole NFS
164. NFS- Plusieurs postes de travail pour un même utilisateur...
11/11/2023 164
Accès aux fichiers distants
Protocole NFS
165. NFS - Plusieurs postes de travail pour un même utilisateur... vue
logique
11/11/2023 165
Accès aux fichiers distants
Protocole NFS
166. 11/11/2023 166
Accès aux fichiers distants
NFS: client-serveur
• le client:
⇒ monte via le réseau les systèmes de fichiers dont elle a accès
⇒ adresse ses requêtes au serveur (lecture-écriture)
• le serveur:
⇒ donne les droits d’accès
⇒ répond aux requêtes des clients
167. • Sur la machine serveur, l’administrateur du réseau doit préciser
les répertoires qui pourront être accédés à distance par les
clients.
⇒ On dit que ces répertoires sont exportés.
• Sur la machine cliente, l’utilisateur doit, pour accéder à un
répertoire exporté, associer un répertoire local au répertoire
exporté.
⇒ On dit que le répertoire exporté a été monté sur le
répertoire local qui est le point de montage.
11/11/2023 167
Accès aux fichiers distants
NFS: client-serveur
168. • Le répertoire /utilisateurs/max est exporté par le serveur NFS.
• Le client a monté ce répertoire sur le point /home/max.
1. L’utilisateur exécute la commande cat /home/max/fichier.txt.
2. Le client envoie la requête “récupérer /fichier.txt” sur le répertoire
exporté /utilisateurs/max.
3. Le serveur NFS consulte le fichier /utilisateurs/max/fichier.txt.
4. Le serveur NFS envoie le contenu de ce fichier au client.
11/11/2023 168
Accès aux fichiers distants
NFS: Exemple
170. • côté serveur:
⇒ Le fichier “/etc/exports” contient les informations sur les systèmes
exportés
⇒ la commande exportfs active l’exportation
⇒ le fichier “/etc/xtab” contient la liste actualisée
⇒ lancement du démon rpc.mountd pour répondre aux requêtes de
montage ( /var/state/nfs/rmtab).
⇒ Lancement du démon nfsd pour répondre aux accès en lecture-
écriture
• côté client:
⇒ requête de montage avec la commande mount <= rpc.mountd
⇒ gestion des fichiers actifs par le client “/etc/mtab”
⇒ requête d’accès lecture-écriture
11/11/2023 170
Accès aux fichiers distants
NFS: principe de fonctionnement
172. • Sous Linux, le partage de fichiers peut être mis en œuvre grâce à
SAMBA, NFS et AppleTalk.
• SAMBA permet un partage entre machines Linux/Unix et machines
Windows
• SAMBA: service de partage de ressources sous UNIX pour les
machines sous Windows:
⇒ Une station Windows est capable d'accéder à des répertoires et
des fichiers se trouvant sur une machine Linux
• Début en 1991 (Andrew Tridgell, Australie)
• Architecture client/serveur
• Basé sur le protocole SMB: Server Message Block
11/11/2023 172
Accès aux fichiers distants
Serveur SAMBA
173. Serveur Samba: serveur de fichiers et de services classiques
• Partage de fichiers et de répertoires
• Partage d’imprimantes
• Prise en compte des comptes utilisateurs
• Gestion des permissions d’accès
• Exécution de scripts de connexion
11/11/2023 173
Accès aux fichiers distants
Serveur SAMBA
174. • Protocole de Microsoft et Intel permettant le partage de
ressources (disques, imprimantes. . .) à travers un réseau (1987). Il
a connu plusieurs évolutions (et différents noms SMB, CIFS et
SMB2)
11/11/2023 174
Accès aux fichiers distants
Protocole SMB: Server Message Block
• On peut se connecter à un répertoire
partagé par un serveur distant.
• On peut lui attribuer une lettre
(le monter ?)
• L’utilisateur doit s’identifier
auprès du serveur.
175. • Protocole de Microsoft et Intel permettant le partage de ressources
(disques, imprimantes, . . . ) à travers un réseau (1987)
• SMB est prévu pour être utilisé au dessus de l’interface NetBIOS
⇒ Utilisation des noms NetBIOS (15 caractères + 1 pour le type)
⇒ Utilisation du mécanisme de datagramme de NetBIOS par
broadcast comme service de nommage (nom → MAC, pas
d’adresse de niveau 3)
11/11/2023 175
Accès aux fichiers distants
Protocole SMB: Server Message Block
176. 11/11/2023 176
• Permet d’identifier les éléments du réseau (et donc permet le
partage de fichiers, imprimantes, …)
• Equivalent au DNS pour Internet
• Ce n’est pas un protocole au sens OSI, c’est une méthode pour
nommer des machines
• Tous les réseaux Microsoft sont basés dessus
• Permet de nommer des machines, des groupes de travail, des
Domaines de faire fonctionner le voisinage réseau
• Un nom NetBIOS a 15 caractères maximum +1
⇒ Ce peut être le nom de la machine Windows (accessible via le
voisinage réseau)
⇒ Ou le nom du groupe de travail
• Le 16ème caractère indique dans quel cas on est et aussi la fonction
de la machine (standard ou contrôleur)
Accès aux fichiers distants
NetBios
177. • Ressources (systèmes de fichiers imprimantes, etc.) offertes par un
serveur à des clients Windows
• Connexion : utilisation d’un compte créé par root
⇒ Authentification par mot de passe
11/11/2023 177
Accès aux fichiers distants
SAMBA: Principe de fonctionnement
178. • La partie serveur de SaMBa est gérée par des programmes :
⇒ smbd : gestion du service
⇒ nmbd : résolution des noms NetBios
11/11/2023 178
Accès aux fichiers distants
SAMBA: Le serveur
179. • Côté client, le protocole SMB nécessite l'installation
préalable des protocoles NetBIOS et TCP/IP. Ce dernier est
indispensable car c’est le seul protocole réseau reconnu.
11/11/2023 179
Accès aux fichiers distants
SAMBA: Les clients
181. • Système de transfert de fichiers :
⇒ Transmettre un fichier de manière efficace et fiable, entre un
client et un serveur
• Transfert dans le sens :
⇒ Client => serveur, ou serveur => client
⇒ Entre deux serveurs gérés par le client
• Les systèmes de fichiers (du client et du serveur) sont:
⇒ gérés localement et indépendamment
• Le système de nommage de fichiers:
⇒ Le nom d'un fichier est une chaine de caractères
⇒ Qui respecte le système de nommage de fichiers local
11/11/2023 181
Transfert de fichiers
Système de transfert de fichiers
182. • File Transfer Protocol (protocole de transfert de fichiers), ou FTP:
⇒ un protocole de communication destiné à l'échange informatique
de fichiers sur un réseau TCP/IP.
• Il permet, depuis un ordinateur:
⇒ de copier des fichiers vers un autre ordinateur du réseau,
⇒ d'administrer un site web
⇒ ou encore de supprimer ou de modifier des fichiers sur cet
ordinateur.
• La variante de FTP protégée par SSL s'appelle FTPS.
11/11/2023 182
Transfert de fichiers
Protocole FTP
183. • FTP obéit à un modèle client/serveur:
• le client, envoie des requêtes
• Le serveur réagit à ces requêtes
• En pratique, le serveur est un ordinateur sur lequel fonctionne un
logiciel lui-même appelé serveur FTP, qui rend publique une
arborescence de fichiers similaire à un système de fichiers Unix.
11/11/2023 183
Transfert de fichiers
FTP: Client/serveur
184. • Le protocole utilise deux types de connexions TCP :
⇒ Une connexion de contrôle initialisée par le client, vers le
serveur (port 21 en général), pour transmettre les commandes
de fichiers (transfert, suppression de fichiers, renommage,
liste des fichiers…)
⇒ Une connexion de données initialisée par le client ou le serveur
pour transférer les données requises (contenu des fichiers,
liste de fichiers)
11/11/2023 184
Transfert de fichiers
FTP: Types de connexion
185. • Utilisation de 2 ports de communication:
⇒ 20 : Port de données
⇒ 21 : Port de contrôle
11/11/2023 185
Transfert de fichiers
FTP: Numéros de ports
186. • Une session FTP se déroule en quatre étapes:
⇒ Authentification de l'utilisateur
⇒ Etablissement du canal de contrôle
⇒ Etablissement du canal de données
⇒ Fermeture de la connexion
11/11/2023 186
Transfert de fichiers
Session FTP
187. • FTP peut s'utiliser de deux façons différentes :
⇒ Mode actif
⇒ Mode passif
11/11/2023 187
Transfert de fichiers
FTP: Modes de fonctionnement
188. • Dans un premier temps, le client établit une première session TCP,
depuis un port aléatoire du client, vers le port 21 (TCP) du serveur
formant ainsi le control channel.
• Une fois la session établie et l'authentification FTP acceptée, le serveur
établit une session TCP, depuis son port 20 (FTP-DATA), vers un
port défini par le client, formant ainsi le data channel.
11/11/2023 188
Transfert de fichiers
FTP: Mode actif
189. 11/11/2023 189
Transfert de fichiers
FTP: Mode actif
3. Le Serveur démarre une nouvelle connexion vers le client sur le port
spécifié par le Client, avec en port source le port 20.
4. Les données transiteront ensuite par cette connexion.
1. Le client contacte
le serveur sur le
port 21 depuis un
port aléatoire >
1024.
2. Le client envoie la
commande PORT
qui va spécifier au
serveur un
numéro de port a
contacter
190. • Dans un premier temps, le client établit une première session TCP,
depuis un port aléatoire du client, vers le port 21 (TCP) du serveur
formant ainsi le control channel.
• Une fois la session établie et l'authentification FTP acceptée, le client
demande au serveur de se mettre en attente de session TCP grâce à
la commande PASV, le serveur accepte et indique quel port il met à la
disposition du client,
• le client établit une seconde session TCP sur ce port ("data channel").
11/11/2023 190
Transfert de fichiers
FTP: Mode passif
191. 1. Le client contacte le
serveur sur le port
21 depuis un port
aléatoire > 1024.
2. Le client envoie la
commande PASV
pour signifier au
serveur qu’il souhaite
une connexion dite
passive.
11/11/2023 191
Transfert de fichiers
FTP: Mode passif
3. Le serveur acquitte la demande du client et lui répond avec le port sur
lequel le joindre.
4. Le client démarre une nouvelle connexion vers le serveur sur le port
spécifié, avec en port source un nouveau port aléatoire > 1024. le client
établit une seconde session TCP sur ce port .
192. • En mode actif, c'est le client qui décide sur quel port doivent entrer
les données. Il définit ce port.
• Le serveur initie le transfert. Si le client se trouve derrière un pare-
feu, les données seront bloquées, vu qu'il n'est pas possible de
connaître le port qui devrait être translaté ou ouvert.
• En mode passif, c'est le serveur qui définit le port par lequel il envoie
les données.
• C'est le client qui initie le transfert. Il n'y a donc plus de problème au
niveau du client. Sur le serveur, il est possible de spécifier une plage
de ports de données et donc d'ouvrir cette plage sur le pare-feu.
11/11/2023 192
Transfert de fichiers
FTP: Mode actif vs mode passif
193. • vsftpd est un serveur FTP pour les systèmes d'exploitation de type
UNIX.
• L'acronyme vsftpd signifie "Very Secure FTP Daemon«
• VsFTPd est un serveur FTP conçu avec la problématique d'une
sécurité maximale.
• Contrairement aux autres serveurs FTP (ProFTPd, PureFTPd, etc.),
aucune faille de sécurité n'a jamais été décelée dans VsFTPd.
• Ce serveur est notamment utilisé à grande échelle par des entreprises
11/11/2023 193
Transfert de fichiers
Serveur FTP: Vsftpd
194. La haute sécurité a été une de principales exigences de vsftpd:
• vsftpd fonctionne en mode chroot. Cela signifie que le
programme (ici vsftpd) s'exécute dans un nouveau répertoire
racine (/) et ne peut donc pas accéder aux autres programmes
et fichiers en dehors de ce répertoire.
• Il est en quelque sorte « emprisonné » dans cet
environnement. Si un attaquant potentiel compromettait le
serveur FTP, il serait isolé du reste du système et limiterait les
risques de dégâts.
11/11/2023 194
Transfert de fichiers
Serveur FTP: Vsftpd
195. Vsftpd possède de nombreuses caractéristiques qui manquent sur
les autres serveurs FTP, comme:
• très haut niveau de sécurité
• limitation de la bande passante
• bonne ajustabilité
• possibilité de définir des utilisateurs virtuels
• support IPnG
• performance meilleure que la moyenne
• possibilité d'attribuer des adresses IP virtuelles
• haute vitesse
11/11/2023 195
Transfert de fichiers
Vsftpd: caractéristiques
196. • La configuration par défaut de VsFTPd est très restrictive :
⇒ Le compte anonyme n’est pas autorisé à se connecter
au serveur
⇒ En lecture seule
⇒ Les utilisateurs ne peuvent accéder à leur compte
11/11/2023 196
Transfert de fichiers
Vsftpd: configuration par défaut
199. • Serveur web ou serveur httpd (http daemon): logiciel qui sert
des pages Web aux clients.
• Capable d'interpréter les requêtes http arrivant sur le port
associé au protocole HTTP (port 80 par défaut) et de fournir une
réponse avec ce même protocole.
• Par extension, on appelle souvent la machine physique sur
laquelle tourne le logiciel un « serveur web »
11/11/2023 199
Serveur Web
Serveur web: Présentation
200. • Un serveur HTTP est à l’écoute des connections sur un port
donné.
• Le port standard pour un serveur HTTP est le numéro 80.
• Le client d’un serveur HTTP est le navigateur Internet.
• A chaque requête qu’il reçoit le serveur présente à l’utilisateur la
page demandée.
• Sur certains serveurs le port d’écoute n’est pas 80 mais par
exemple 1234. Dans ce cas on accèdera au serveur par l’adresse
suivante : http://www.site.com:1234/ .
11/11/2023 200
Serveur Web
Serveur web: Présentation
201. • Utilisation du réseau Internet et du protocole HTTP qui formalise
les échanges entre le Client (navigateur Chrome, Firefox, . . . ) et
le Serveur Web (Apache, Nginx, . . . ).
• L’utilisateur saisit une URL (Uniform Resource Locator) dans le
navigateur qui transmet la requête vers le serveur en utilisant le
protocole HTTP.
• Le serveur analyse la requête, la traite et renvoie vers le
navigateur sa réponse. Le plus souvent dans un format texte
structuré avec le langage de balises HTML
• La réponse contient aussi des images, du son, des vidéos et du
code dans le langage javascript qui sera exécuté par un
interpréteur dans le navigateur.
11/11/2023 201
Serveur Web
Fonctionnement du service web
202. • Le protocole HTTP (HyperText Transfer Protocol) est le protocole le
plus utilisé sur Internet depuis 1990.
• Ce protocole permet un transfert de fichiers (essentiellement au
format HTML, mais aussi au format CSS, JS, AVI…) localisés grâce à
une chaîne de caractères appelée URL entre un navigateur (le client)
et un serveur Web (appelé d’ailleurs httpd sur les machines UNIX).
11/11/2023 202
Serveur Web
Protocole HTTP
204. • HTTP est un protocole requête/réponse opérant au dessus de TCP.
⇒ Le client ouvre une connexion TCP vers le serveur et envoie une
requête.
⇒ Le serveur analyse la requête et répond en fonction de sa
configuration.
• Exemple de requête HTTP:
• Exemple de réponse du serveur:
11/11/2023 204
Serveur Web
Protocole HTTP
205. Une réponse HTTP est un ensemble de lignes envoyées au navigateur
par le serveur:
• Une ligne de statut : c’est une ligne précisant la version du protocole
utilisé et l’état du traitement de la requête à l’aide d’un code et d’un
texte explicatif. La ligne comprend trois éléments devant être séparés
par un espace :
⇒ La version du protocole utilisé ;
⇒ Le code de statut ;
⇒ La signification du code .
• Les champs d’en-tête de la réponse : il s’agit d’un ensemble de lignes
facultatives permettant de donner des informations supplémentaires
sur la réponse et/ou le serveur.
11/11/2023 205
Serveur Web
Réponse HTTP
206. • Le corps de la réponse : il contient le document demandé.
• Le rôle du serveur web consiste à traduire une URL en ressource
locale. Consulter la page http://www.free.fr/, revient à envoyez une
requête HTTP à cette machine. Le service DNS joue donc un rôle
essentiel.
11/11/2023 206
Serveur Web
Réponse HTTP
208. • Les serveurs HTTP les plus utilisés sont :
⇒ Apache : HTTP serveur de la Apache Software Foundation.
⇒ IIS : Internet Information Services de Microsoft (IIS)
⇒ Sun ONE : Sun Microsystems
11/11/2023 208
Serveur Web
Exemple de serveurs HTTP
210. • Les navigateurs web
⇒ Firefox, Chrome, Chromium, Internet Explorer, Safari...
• Les clients en ligne de commande
⇒ wget, cURL...
• Les clients programmés spécifiquement
⇒ la plupart des langages de programmation permettent de
faire des requêtes HTTP)
11/11/2023 210
Serveur Web
Exemple de clients HTTP
211. • Ecrit en C (portable), plate forme UNIX (ou Linux) recommandée
• Multi-processus / multi-thread (daemon httpd)
• Configuration très flexible
• Architecture modulaire
• Comment obtenir Apache ?
⇒ inclut dans la plupart des distributions linux (httpd)
⇒ sources et binaires sur http://www.apache.org/dist/httpd
• Première version décembre 1995
• Dernière version : Apache 2.2
11/11/2023 211
Serveur Web
Apache: Présentation
213. • Juste après une installation standard, apache est fonctionnel.
• Il est capable de servir des pages html, des images, et plus
généralement des fichiers.
• Il n’est optimisé pour aucun usage précis.
• Il n’est pas non plus capable d’interpréter des pages en php (ou
en quelque langage que ce soit) ni d’accéder à aucun type de
bases de données.
11/11/2023 213
Serveur Web
Apache en version de base
Pour cela, il faudra jouer avec les fichiers de
configuration et les modules.
214. • L’emplacement des fichiers de configuration de apache varie très
fortement selon les distribution, et parfois d’une version d’une
même distribution à l’autres.
• De manière générale, les fichiers se trouvent dans /etc, et plus
précisément dans /etc/apache2 ou /etc/httpd.
11/11/2023 214
Serveur Web
Apache: fichier de configuration principal
Ubuntu
216. 11/11/2023 216
Serveur Web
Apache: Les modules disponibles
• Les modules d’apache étendent les fonctionnalités du logiciel.
• De nombreux modules sont disponibles.
• Certain n’ont pas été mis à jour depuis très longtemps.
217. • Les modules activés se trouvent dans le répertoire
/etc/apache2/mods-enabled/
• En pratique, ce ne sont pas des fichiers mais des liens vers les
fichiers .load et .conf situés dans le répertoire
/etc/apache2/mods-available/
• Pour activer un module, il suffit de créer un lien dans mods-enabled
vers les fichiers .load et .conf situés dans mods-available (l’utilitaire
a2enmod est la pour ca).
11/11/2023 217
Serveur Web
Apache: Les modules activés
218. • Les modules apache sont des bibliothèques et s’installent comme
suit:
• Les modules installés apparaissent dans mods-available et sont
activés automatiquement.
11/11/2023 218
Serveur Web
Apache: Installation de modules supplémentaire
# Sudo apt-get install libapache2-mod-php
220. 11/11/2023 220
Serveur Web
Apache: Fonctionnement des virtual Hosts
• Apache distingue les différents Virtual Hosts grâce au paramètre
Host de la requête http du client.
• En pratique, chaque site web situé d’un hébergement mutualisé
donné est nommé par une entrée différente dans le DNS.
• Les hôtes virtuels déployables sont décrits dans les fichiers situés
dans /etc/apache2/sites-available/.
• Les hôtes virtuels déployés sont décrits par les liens sur ces même
fichiers situés dans /etc/apache2/sites-enabled.
• L’outil a2ensite permet de créer facilement le lien dans sites-enabled
à partir du nom du fichier dans sites-available.
224. • Garder la mobilité
• Agir à distance
⇒ Gérer les serveurs
⇒ Dépanner les utilisateurs et les postes
• Interaction entre bureaux
⇒ Travail d’équipe
• Travailler dans un server à partir de clients légers
11/11/2023 224
Accès à distance au serveur
Pourquoi accéder à distance?
225. • L’utilisateur doit avoir un accès autorisé à l’ordinateur:
• gestion de l’utilisateur comme un utilisateur local (généralement
sous *nix) ;
• gestion séparée.
• Environnement hétérogène (Par ex : un étudiant se loggue depuis son
portable windows sur le serveur bsd de l’université):
• problème d’encodage ;
• problème d’affichage ;
• problème d’accès aux périphériques ;
• émulation de terminal ou de bureau.
• Sécurité:
• Que se passe-t-il si un utilisateur distant a accès aux touches du
clavier ?
• Que peut faire un utilisateur une fois loggué sur le vieux serveur
de test ?
11/11/2023 225
Accès à distance au serveur
Contraintes d’accès à distance
226. • Telnet (1983) : un des premiers standards de l’internet
• Rlogin/Rsh (1991) :
⇒ permet des accès sans mot de passe,
⇒ exécution de commandes à distance
• ssh :
⇒ les communications sont chiffrées ;
⇒ authentifications par mot de passe ou clefs ;
⇒ finalisé depuis 2006.
11/11/2023 226
Accès à distance au serveur
Exemples de connexions à distance
227. Protocoles:
• Telnet: Terminal Network ou Télécommunication Network
• SSH: Secure Shell
• RDP: Remote Desktop Protocol
• RFB: remote framebuffe
Outils:
• Open SSH / Putty
• TeamViewer
• DameWare
• Connexion bureau à distance
11/11/2023 227
Accès à distance au serveur
Protocoles et outils
230. • SSH= Secure Shell
• SSH est à la fois la définition d’un protocole et un ensemble de
programmes utilisant ce protocole,
• destinés à permettre aux utilisateurs d’ouvrir, depuis une machine
cliente, des sessions interactives sécurisé à distance sur des serveurs
et de transférer des fichiers entre les deux.
11/11/2023 230
Accès à distance au serveur
Présentation de SSH
• Echange de clés de chiffrement
• Toutes les trames sont chiffrées
• Impossible de lire les trames sur le réseau
via un sniffer
• Remplaçant de rlogin, telnet et rsh
Protocole SSH
231. • Authentification
• Transferts de fichiers
• Monter un répertoire distant localement
• Redirection de connexion
11/11/2023 231
Accès à distance au serveur
Fonctionnalités de SSH
232. SSH vise directement ces trois aspects de la sécurité:
• Confidentialité:
⇒ Protéger nos données des yeux indiscrets
• Authentification:
⇒ Cette personne est-elle bien celle qu'elle prétend être ?
• Autorisation:
⇒ Cette personne a-t-elle le droit de faire ce qu'elle veut faire ?
11/11/2023 232
Accès à distance au serveur
Préoccupations principales de SSH
233. • SSH permet de sécuriser les communications des réseaux en
utilisant la cryptographie.
• SSH est composé d’un ensemble d'outils permettant des
connexions sécurisées entre des machines. Ces outils ont pour
but de remplacer les utilitaires de connexions classiques
n'utilisant pas de chiffrage.
• Remplace: rcp, rlogin, rsh, telnet (ftp par sftp en SSH V2)
• SSH chiffre et compresse un canal de communication qui sécurise
les données transmises (permet d’éviter les sniffeurs réseaux)
• Non seulement le mot de passe est chiffré lors de la connexion
mais les informations circulant sur le réseau entre les deux
machines le sont aussi.
11/11/2023 233
Accès à distance au serveur
SSH: Sécurisation des connexions
234. • L’avantage important offert par SSH par rapport à ses prédécesseurs
est l’utilisation du cryptage pour assurer le transfert sécurisé
d’informations entre l’hôte et le client,
• Il existe trois technologies de cryptage différentes utilisées par SSH :
⇒ Cryptage symétrique
⇒ Cryptage asymétrique
⇒ Hachage
11/11/2023 234
Accès à distance au serveur
Techniques de cryptage utilisées par SSH
235. 11/11/2023 235
Accès à distance au serveur
Cryptage symétrique
Cryptage symétrique= cryptage à clé partagée= cryptage à secret partagé
236. Si Alice veut envoyer un message confidentiel à Bob:
• Alice et Bob doivent d'abord posséder une même clef secrète.
• Alice chiffre le message avec la clé secrète puis l'envoie à Bob sur un
canal qui n'est pas forcément sécurisé.
• Bob déchiffre alors le message grâce à la clef secrète.
• Toute autre personne en possession de la clef secrète peut également
déchiffrer le message.
11/11/2023 236
Accès à distance au serveur
Cryptage symétrique
238. • Les algorithmes de chiffrement symétrique sont beaucoup moins
gourmands en ressources processeur que ceux de chiffrement
asymétrique
• Problème: l'échange de la clef secrète entre Alice et Bob
• Dans le protocole SSL, qui est utilisé par SSH, la cryptographie
asymétrique est utilisée au début de la communication pour que
Alice et Bob puissent s'échanger une clef secrète de manière
sécurisée,
• la suite la communication est sécurisée grâce à la cryptographie
symétrique en utilisant la clef secrète ainsi échangée.
11/11/2023 238
Accès à distance au serveur
Cryptage symétrique
239. • Principe: On utilise 2 clés
⇒ Une clé « publique » qui sert à crypter
⇒ Une clé « privée » servant à décrypter
• Clé publique : peut transiter
⇒ S'assurer toutefois de son authenticité
• Clé privée : reste chez son propriétaire
• Il doit être impossible de déduire la clé privée de la clé publique
• Méthodes principales :
• RSA : Rivest Shamir Adleman, 1977
• DSA : Digital Signature Algorithm, 1991
• ECDSA : Elliptic Curve DSA, 1992
11/11/2023 239
Cryptage asymétrique
Accès à distance au serveur
240. 11/11/2023 240
Cryptage asymétrique
Accès à distance au serveur
Avantage:
⇒ Même en interceptant le message, impossible de le décrypter
sans la clé privée
Inconvénient:
⇒ Algorithmes lents en général