SlideShare une entreprise Scribd logo
1  sur  359
Administration des réseaux sous
linux
BERRAHO SANAE
• 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
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é.
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
• 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
• 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
• 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
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
• 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
• 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
• 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
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)
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
11/11/2023 14
Première partie
Configuration d’un réseau local (LAN)
• 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
• 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
• 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
• 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
• 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
• 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
• 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
• 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
• 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)
• 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
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
• 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
• 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
• 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
• 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
• 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
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
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
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
• 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
• 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>
11/11/2023 36
Outils de l’administrateur réseau
Outils de l’administrateur réseau sous linux
Commandes
Fichiers de
configuration
• 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
• 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
• 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
• 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
• 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
• 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
• 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
• 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
• 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
• Pour afficher la table de routage:
11/11/2023 46
Outils de l’administrateur réseau
Commande route
Commandes
# route -n
• 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
• 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
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
• 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
• 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
• 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
11/11/2023 53
Serveur DHCP
Dynamic Host Configuration Protocol
• 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
• 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
• 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
• 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
11/11/2023 58
Dynamic Host Configuration Protocol
Serveur DHCP: schéma classique
• 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
• 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
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.
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)
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
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.)
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
11/11/2023 66
Dynamic Host Configuration Protocol
DHCP: Identification de l’application
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)
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
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)
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
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
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
• 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
• 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
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).
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.
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
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.
11/11/2023 79
Serveur DNS
Domain Name System
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.
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.
11/11/2023 82
DNS: Domain Name System
Service de résolution des noms
• 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
• 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
• 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
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
• 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
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
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
• 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
• 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
11/11/2023 92
DNS: Domain Name System
Domaine
• 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
• 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.
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.
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
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
• 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
11/11/2023 99
DNS: Domain Name System
Serveur autoritaire
• 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
• 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
11/11/2023 102
DNS: Domain Name System
Résolution de noms
• 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
11/11/2023 104
DNS: Domain Name System
Résolution inverse
• 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.
• 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
• 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
• 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
• 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
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
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 .
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
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.
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.
• 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
• 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
• 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
• 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
• 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
• 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
11/11/2023 121
Routage dans TCP/TP
• 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
• 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
• 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
11/11/2023 125
Routage
Problématique
11/11/2023 126
Routage
Problématique
11/11/2023 127
Routage
Problématique
11/11/2023 128
Routage
Problématique
11/11/2023 129
Routage
Problématique
11/11/2023 130
Routage
Problématique
11/11/2023 131
Routage
Problématique
• 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
11/11/2023 133
Routage
Passerelle par défaut
• 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.
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
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, …)
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
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
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.
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.
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
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)
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?
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)
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
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.
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.
11/11/2023 148
Routage
Table de routage sous linux
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 :
11/11/2023 150
Routage
Route vers un poste
11/11/2023 151
Routage
Route vers un réseau
11/11/2023 152
Routage
Commandes de routage sous linux
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
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
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
11/11/2023 156
Accès aux fichiers distants
• 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.
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 !
• 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.
• 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
• 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
• 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
NFS - Postes de travail sans disque
11/11/2023 163
Accès aux fichiers distants
Protocole NFS
NFS- Plusieurs postes de travail pour un même utilisateur...
11/11/2023 164
Accès aux fichiers distants
Protocole NFS
NFS - Plusieurs postes de travail pour un même utilisateur... vue
logique
11/11/2023 165
Accès aux fichiers distants
Protocole NFS
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
• 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
• 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
11/11/2023 169
Accès aux fichiers distants
NFS: principe de fonctionnement
• 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
11/11/2023 171
Accès aux fichiers distants
NFS: principe de fonctionnement
• 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
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
• 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.
• 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
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
• 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
• 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
• 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
11/11/2023 180
Transfert de fichiers
Protocole FTP
• 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
• 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
• 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
• 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
• 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
• 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
• 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
• 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
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
• 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
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 .
• 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
• 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
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
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
• 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
11/11/2023 197
Serveur Web
Apache
• Architecture Client/Serveur
• Nécessité d’un protocole de communication: HTTP
11/11/2023 198
Serveur Web
La base du web
• 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
• 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
• 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
• 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
11/11/2023 203
Serveur Web
Protocole HTTP
• 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
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
• 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
• URL: Unified Resource Locator
⇒ ex: http://www.apache.org/download/apache_1_3_3_tar.gz
• URI: Unified Resource Indicator
⇒ ex: /download/apache_1_3_3_tar.gz
11/11/2023 207
Serveur Web
Protocole HTTP
• 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
11/11/2023 209
Serveur Web
Exemple de serveurs HTTP
• 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
• 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
11/11/2023 212
Serveur Web
Apache: Installation, démarrage et redémarrage
# Sudo apt-get install apache2
# sudo /etc/init.d/apache2 start
# Sudo etc/init.d/apache2 stop
# Sudo /etc/init.d/apache2 restart
# Sudo /etc/init.d/apache2 reload
• 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.
• 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
11/11/2023 215
Serveur Web
Apache: Les autres fichiers de configuration
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.
• 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
• 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
11/11/2023 219
Serveur Web
Apache: Hébergement mutualisé
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.
11/11/2023 221
Serveur Web
Apache: Fichiers de description des virtual Hosts
11/11/2023 222
Serveur Web
Modules et virtual Hosts: Outils pratiques
11/11/2023 223
Accès à distance au serveur
Protocole SSH
• 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?
• 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
• 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
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
11/11/2023 228
Accès à distance au serveur
Fonctionnement d’une connexion locale
11/11/2023 229
Accès à distance au serveur
Fonctionnement d’une connexion distante
• 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
• 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
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
• 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
• 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
11/11/2023 235
Accès à distance au serveur
Cryptage symétrique
Cryptage symétrique= cryptage à clé partagée= cryptage à secret partagé
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
11/11/2023 237
Accès à distance au serveur
Cryptage symétrique
• 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
• 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
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
11/11/2023 241
Cryptage asymétrique
Accès à distance au serveur
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx
Admin_Réseaux_linux_cours.pptx

Contenu connexe

Tendances

BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceLilia Sfaxi
 
Introduction aux systèmes d-exploitation (2).ppt
Introduction aux systèmes d-exploitation (2).pptIntroduction aux systèmes d-exploitation (2).ppt
Introduction aux systèmes d-exploitation (2).pptMahdiHERMASSI1
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web ServicesLilia Sfaxi
 
Manuel des TP : Atelier systèmes 2
Manuel des TP : Atelier systèmes 2Manuel des TP : Atelier systèmes 2
Manuel des TP : Atelier systèmes 2Faycel Chaoua
 
Tp2 - WS avec JAXRS
Tp2 - WS avec JAXRSTp2 - WS avec JAXRS
Tp2 - WS avec JAXRSLilia Sfaxi
 
Python For Data Science - French Course
Python For Data Science - French CoursePython For Data Science - French Course
Python For Data Science - French CourseHaytam EL YOUSSFI
 
Architecture réparties et les services web
Architecture réparties et les services webArchitecture réparties et les services web
Architecture réparties et les services webCHOUAIB EL HACHIMI
 
Chapitre 5 classes abstraites et interfaces
Chapitre 5  classes abstraites et interfacesChapitre 5  classes abstraites et interfaces
Chapitre 5 classes abstraites et interfacesAmir Souissi
 
Architecture Client-Serveur
Architecture Client-Serveur Architecture Client-Serveur
Architecture Client-Serveur Khalid EDAIG
 
TP1 Big Data - MapReduce
TP1 Big Data - MapReduceTP1 Big Data - MapReduce
TP1 Big Data - MapReduceAmal Abid
 
Docker - un outil pour faciliter le développement et le déploiement informatique
Docker - un outil pour faciliter le développement et le déploiement informatiqueDocker - un outil pour faciliter le développement et le déploiement informatique
Docker - un outil pour faciliter le développement et le déploiement informatiquesdenier
 

Tendances (20)

MongoDB.pptx
MongoDB.pptxMongoDB.pptx
MongoDB.pptx
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-Reduce
 
LVM "Linux "
LVM  "Linux "LVM  "Linux "
LVM "Linux "
 
Servlets et JSP
Servlets et JSPServlets et JSP
Servlets et JSP
 
Introduction aux systèmes d-exploitation (2).ppt
Introduction aux systèmes d-exploitation (2).pptIntroduction aux systèmes d-exploitation (2).ppt
Introduction aux systèmes d-exploitation (2).ppt
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web Services
 
Manuel des TP : Atelier systèmes 2
Manuel des TP : Atelier systèmes 2Manuel des TP : Atelier systèmes 2
Manuel des TP : Atelier systèmes 2
 
Tp2 - WS avec JAXRS
Tp2 - WS avec JAXRSTp2 - WS avec JAXRS
Tp2 - WS avec JAXRS
 
Tp n 5 linux
Tp n 5 linuxTp n 5 linux
Tp n 5 linux
 
Python For Data Science - French Course
Python For Data Science - French CoursePython For Data Science - French Course
Python For Data Science - French Course
 
Architecture réparties et les services web
Architecture réparties et les services webArchitecture réparties et les services web
Architecture réparties et les services web
 
Introduction au langage SQL
Introduction au langage SQLIntroduction au langage SQL
Introduction au langage SQL
 
Tp n 4 linux
Tp n 4 linuxTp n 4 linux
Tp n 4 linux
 
Chapitre 5 classes abstraites et interfaces
Chapitre 5  classes abstraites et interfacesChapitre 5  classes abstraites et interfaces
Chapitre 5 classes abstraites et interfaces
 
Architecture Client-Serveur
Architecture Client-Serveur Architecture Client-Serveur
Architecture Client-Serveur
 
Fiche Pratiques Word_2007
Fiche Pratiques Word_2007Fiche Pratiques Word_2007
Fiche Pratiques Word_2007
 
Chapitre 2 hadoop
Chapitre 2 hadoopChapitre 2 hadoop
Chapitre 2 hadoop
 
UML
UMLUML
UML
 
TP1 Big Data - MapReduce
TP1 Big Data - MapReduceTP1 Big Data - MapReduce
TP1 Big Data - MapReduce
 
Docker - un outil pour faciliter le développement et le déploiement informatique
Docker - un outil pour faciliter le développement et le déploiement informatiqueDocker - un outil pour faciliter le développement et le déploiement informatique
Docker - un outil pour faciliter le développement et le déploiement informatique
 

Similaire à Admin_Réseaux_linux_cours.pptx

Etude DéTailléé de la pile réseau sous GNU Linux
Etude DéTailléé de la pile réseau sous GNU LinuxEtude DéTailléé de la pile réseau sous GNU Linux
Etude DéTailléé de la pile réseau sous GNU LinuxThierry Gayet
 
Couse SE Le système d’exploitation Linux - IPSET.pdf
Couse SE Le système d’exploitation Linux - IPSET.pdfCouse SE Le système d’exploitation Linux - IPSET.pdf
Couse SE Le système d’exploitation Linux - IPSET.pdfMedBechir
 
Programmation de systèmes embarqués : BeagleBone Black et Linux embarqué
Programmation de systèmes embarqués : BeagleBone Black et Linux embarquéProgrammation de systèmes embarqués : BeagleBone Black et Linux embarqué
Programmation de systèmes embarqués : BeagleBone Black et Linux embarquéECAM Brussels Engineering School
 
33435307 administration-sous-linux
33435307 administration-sous-linux33435307 administration-sous-linux
33435307 administration-sous-linuxdonzerci
 
09 02 configuration du serveur nfs
09 02 configuration du serveur nfs09 02 configuration du serveur nfs
09 02 configuration du serveur nfsNoël
 
Lin03 formation-linux-administration-bases-services
Lin03 formation-linux-administration-bases-servicesLin03 formation-linux-administration-bases-services
Lin03 formation-linux-administration-bases-servicesCERTyou Formation
 
Administration reseau linux
Administration reseau linuxAdministration reseau linux
Administration reseau linuxRiadh Briki
 
présentation des services Open Source pour GNU/Linux
présentation des services Open Source pour GNU/Linuxprésentation des services Open Source pour GNU/Linux
présentation des services Open Source pour GNU/LinuxNoël
 
system de gestion Nfs (Network File System)
system de gestion Nfs (Network File System)system de gestion Nfs (Network File System)
system de gestion Nfs (Network File System)ninanoursan
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETMedBechir
 
Open Wide : Les outils pour le développement des systemes embarques
Open Wide : Les outils pour le développement des systemes embarquesOpen Wide : Les outils pour le développement des systemes embarques
Open Wide : Les outils pour le développement des systemes embarquesAlexandre LAHAYE
 
chap1 intro reseau_client serveur.pdf
chap1 intro reseau_client serveur.pdfchap1 intro reseau_client serveur.pdf
chap1 intro reseau_client serveur.pdfDimerciaLubambo
 
Cours SE Principes et fonctionnement de système d’exploitation - IPSET.pdf
Cours SE Principes et fonctionnement de système d’exploitation - IPSET.pdfCours SE Principes et fonctionnement de système d’exploitation - IPSET.pdf
Cours SE Principes et fonctionnement de système d’exploitation - IPSET.pdfMedBechir
 
Chapitre 1 LES SERVICES RESEAUX.pptx
Chapitre 1 LES SERVICES RESEAUX.pptxChapitre 1 LES SERVICES RESEAUX.pptx
Chapitre 1 LES SERVICES RESEAUX.pptxAymenAyari10
 
objectif101.3.pptx
objectif101.3.pptxobjectif101.3.pptx
objectif101.3.pptxzinapfe2020
 

Similaire à Admin_Réseaux_linux_cours.pptx (20)

Etude DéTailléé de la pile réseau sous GNU Linux
Etude DéTailléé de la pile réseau sous GNU LinuxEtude DéTailléé de la pile réseau sous GNU Linux
Etude DéTailléé de la pile réseau sous GNU Linux
 
Couse SE Le système d’exploitation Linux - IPSET.pdf
Couse SE Le système d’exploitation Linux - IPSET.pdfCouse SE Le système d’exploitation Linux - IPSET.pdf
Couse SE Le système d’exploitation Linux - IPSET.pdf
 
Programmation de systèmes embarqués : BeagleBone Black et Linux embarqué
Programmation de systèmes embarqués : BeagleBone Black et Linux embarquéProgrammation de systèmes embarqués : BeagleBone Black et Linux embarqué
Programmation de systèmes embarqués : BeagleBone Black et Linux embarqué
 
33435307 administration-sous-linux
33435307 administration-sous-linux33435307 administration-sous-linux
33435307 administration-sous-linux
 
chapitre0.pptx
chapitre0.pptxchapitre0.pptx
chapitre0.pptx
 
09 02 configuration du serveur nfs
09 02 configuration du serveur nfs09 02 configuration du serveur nfs
09 02 configuration du serveur nfs
 
Lin03 formation-linux-administration-bases-services
Lin03 formation-linux-administration-bases-servicesLin03 formation-linux-administration-bases-services
Lin03 formation-linux-administration-bases-services
 
1514117367383.pptx
1514117367383.pptx1514117367383.pptx
1514117367383.pptx
 
1514117367383.pptx
1514117367383.pptx1514117367383.pptx
1514117367383.pptx
 
Administration reseau linux
Administration reseau linuxAdministration reseau linux
Administration reseau linux
 
présentation des services Open Source pour GNU/Linux
présentation des services Open Source pour GNU/Linuxprésentation des services Open Source pour GNU/Linux
présentation des services Open Source pour GNU/Linux
 
system de gestion Nfs (Network File System)
system de gestion Nfs (Network File System)system de gestion Nfs (Network File System)
system de gestion Nfs (Network File System)
 
Cours 70 410-1
Cours 70 410-1Cours 70 410-1
Cours 70 410-1
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSET
 
Open Wide : Les outils pour le développement des systemes embarques
Open Wide : Les outils pour le développement des systemes embarquesOpen Wide : Les outils pour le développement des systemes embarques
Open Wide : Les outils pour le développement des systemes embarques
 
chap1 intro reseau_client serveur.pdf
chap1 intro reseau_client serveur.pdfchap1 intro reseau_client serveur.pdf
chap1 intro reseau_client serveur.pdf
 
Cours SE Principes et fonctionnement de système d’exploitation - IPSET.pdf
Cours SE Principes et fonctionnement de système d’exploitation - IPSET.pdfCours SE Principes et fonctionnement de système d’exploitation - IPSET.pdf
Cours SE Principes et fonctionnement de système d’exploitation - IPSET.pdf
 
Chapitre 1 LES SERVICES RESEAUX.pptx
Chapitre 1 LES SERVICES RESEAUX.pptxChapitre 1 LES SERVICES RESEAUX.pptx
Chapitre 1 LES SERVICES RESEAUX.pptx
 
110-definition.pdf
110-definition.pdf110-definition.pdf
110-definition.pdf
 
objectif101.3.pptx
objectif101.3.pptxobjectif101.3.pptx
objectif101.3.pptx
 

Dernier

JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...Institut de l'Elevage - Idele
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)Sana REFAI
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfInstitut de l'Elevage - Idele
 
JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfInstitut de l'Elevage - Idele
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfmia884611
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfInstitut de l'Elevage - Idele
 
présentation sur la logistique (4).
présentation     sur la  logistique (4).présentation     sur la  logistique (4).
présentation sur la logistique (4).FatimaEzzahra753100
 

Dernier (9)

JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)
 
CAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptxCAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptx
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
 
JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdf
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdf
 
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdfJTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdf
 
présentation sur la logistique (4).
présentation     sur la  logistique (4).présentation     sur la  logistique (4).
présentation sur la logistique (4).
 

Admin_Réseaux_linux_cours.pptx

  • 1. Administration des réseaux sous linux BERRAHO SANAE
  • 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
  • 14. 11/11/2023 14 Première partie Configuration d’un réseau local (LAN)
  • 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
  • 53. 11/11/2023 53 Serveur DHCP Dynamic Host Configuration Protocol
  • 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
  • 58. 11/11/2023 58 Dynamic Host Configuration Protocol Serveur DHCP: schéma classique
  • 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
  • 66. 11/11/2023 66 Dynamic Host Configuration Protocol DHCP: Identification de l’application
  • 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.
  • 82. 11/11/2023 82 DNS: Domain Name System Service de résolution des noms
  • 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
  • 92. 11/11/2023 92 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
  • 99. 11/11/2023 99 DNS: Domain Name System Serveur autoritaire
  • 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
  • 102. 11/11/2023 102 DNS: Domain Name System Résolution de noms
  • 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
  • 104. 11/11/2023 104 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.
  • 148. 11/11/2023 148 Routage Table de routage sous linux
  • 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 :
  • 152. 11/11/2023 152 Routage Commandes de routage sous linux
  • 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
  • 156. 11/11/2023 156 Accès aux fichiers distants
  • 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
  • 169. 11/11/2023 169 Accès aux fichiers distants NFS: principe de fonctionnement
  • 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
  • 171. 11/11/2023 171 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
  • 180. 11/11/2023 180 Transfert de fichiers Protocole FTP
  • 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
  • 198. • Architecture Client/Serveur • Nécessité d’un protocole de communication: HTTP 11/11/2023 198 Serveur Web La base du web
  • 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
  • 207. • URL: Unified Resource Locator ⇒ ex: http://www.apache.org/download/apache_1_3_3_tar.gz • URI: Unified Resource Indicator ⇒ ex: /download/apache_1_3_3_tar.gz 11/11/2023 207 Serveur Web Protocole 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
  • 212. 11/11/2023 212 Serveur Web Apache: Installation, démarrage et redémarrage # Sudo apt-get install apache2 # sudo /etc/init.d/apache2 start # Sudo etc/init.d/apache2 stop # Sudo /etc/init.d/apache2 restart # Sudo /etc/init.d/apache2 reload
  • 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
  • 215. 11/11/2023 215 Serveur Web Apache: Les autres fichiers de configuration
  • 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
  • 219. 11/11/2023 219 Serveur Web Apache: Hébergement mutualisé
  • 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.
  • 221. 11/11/2023 221 Serveur Web Apache: Fichiers de description des virtual Hosts
  • 222. 11/11/2023 222 Serveur Web Modules et virtual Hosts: Outils pratiques
  • 223. 11/11/2023 223 Accès à distance au serveur Protocole SSH
  • 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
  • 228. 11/11/2023 228 Accès à distance au serveur Fonctionnement d’une connexion locale
  • 229. 11/11/2023 229 Accès à distance au serveur Fonctionnement d’une connexion distante
  • 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
  • 237. 11/11/2023 237 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