0% ont trouvé ce document utile (0 vote)
28 vues133 pages

Configuration Réseau sous Linux

Transféré par

Hassam
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
28 vues133 pages

Configuration Réseau sous Linux

Transféré par

Hassam
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

ADMINISTRATION

RESEAU SOUS LINUX

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

CONFIGURATION RESEAU SOUS LINUX

Dans ce chapitre, je vous propose de voir tout ce qui concerne la

configuration réseau d'un serveur Linux, que ce soit :

•le nom réseau de la machine

•la détection des périphériques interfaces par le noyau

•l'emplacement des fichiers de configuration

•les différents modes d'adresse IP

•les routes et passerelles

•et les services de noms (DNS)


Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

CONFIGURATION RESEAU SOUS LINUX

La configuration du réseau sous Linux est un aspect qui varie fortement entre les
distributions. En effet, chaque distribution aura tendance à installer les outils qui lui
sont propres pour gérer le réseau. Vous pourrez notamment
trouver NetworkManager, Connection-Manager, ou encore dhcpcd.
Nous faire abstraction de ces différents outils et passer en revue la configuration
manuelle du réseau via un processus démon. Ce processus gère :
•le montage ou le démontage des interfaces,
•les fichiers de configuration sur les distributions majoritaires en entreprise
: RedHat (et ses dérivés) et Debian (et ses dérivés).
Normalement, avec cette méthode, vous serez en mesure de configurer le réseau sur
toutes les distributions.
Je vous expliquerai les différences qu’il y a entre les branches RedHat et Debian
Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications

lorsque ce sera nécessaire.


ADMINISTRATION RESEAU SOUS LINUX
CONFIGURATION RESEAU SOUS LINUX
TABLE DES MATIÈRES
•1. CONVENTIONS DE DÉNOMINATION DES INTERFACES
•2. VISUALISER LES ADRESSES
• 2.1. EXERCICE
•3. ACTIVER/DÉSACTIVER UNE INTERFACE
•4. FIXER/SUPPRIMER UNE ADRESSE IPV4
•5. AJOUTER UNE INTERFACE ALIAS
•6. IPV6 IP -6 ADDR
•7. TABLES DE VOISINAGE
•8. TABLES DE ROUTAGE
•9. ROUTE PAR DÉFAUT ET ROUTES STATIQUES
• 9.1. ROUTE PAR DÉFAUT
• 9.2. ROUTE STATIQUE
•10. SERVEURS DE NOMS
•11. EXERCICE DE CONFIGURATION MANUELLE DES INTERFACES
•12. CONFIGURATIONS PERMANENTES
• 12.1. CONFIGURATION PERMANENTE SOUS DEBIAN
Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
• 12.2. CONFIGURATION PERMANENTE SOUS RHEL7
ADMINISTRATION RESEAU SOUS LINUX
CONFIGURATION RESEAU SOUS LINUX

1. Gestion du réseau Linux avec la librairie Iproute2

• La librairie Iproute2 est un ensemble d’utilitaires de l’espace utilisateur pour

communiquer avec divers noyaux Linux avec le protocole netlink.

• Plus spécifiquement les utilitaires iproute2 sont utilisés pour contrôler le trafic

réseau (TCP, UDP, IPv4, IPv6).

• Il sont aussi utilisés pour configurer les cartes réseau (NIC) filaires et sans fil.

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX
CONFIGURATION RESEAU SOUS LINUX

1. Gestion du réseau Linux avec la librairie Iproute2

La librairie Iproute2 remplace les net-tools suivants :

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX
CONFIGURATION RESEAU SOUS LINUX

2. Conventions de dénomination des interfaces

Sous Centos 7, RHEL 7, Fedora 21 :

1, noms prenant les numéros fournis par le Bios/firmware pour


les périphériques «on-board» : eno1, em1 (embedded)

2, noms incorporant l’index pour les cartes PCI-E : ens1

3, noms incorporant l’emplacement physique du connecteur


selon p<port>s<slot> : enp2s0

4, noms prenant l’adresse MAC de l’interface


: enx78e7d1ea46da

5, dénomination traditionnelle du noyau : eth0, wlan0

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX
CONFIGURATION RESEAU SOUS LINUX

2. Conventions de dénomination des interfaces

Sous Centos 7, RHEL 7, Fedora 21 :

Pour activer la dénomination traditionnelle, il faut éditer le fichier /etc/default/grub en ajoutant la valeur net.ifnames=0
biosdevname=0 à la variable GRUB_CMDLINE_LINUX.

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX
CONFIGURATION RESEAU SOUS LINUX

3. Visualiser les adresses

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX
CONFIGURATION RESEAU SOUS LINUX

3. Visualiser les adresses

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX
CONFIGURATION RESEAU SOUS LINUX

4. Activer/désactiver une interface

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX
CONFIGURATION RESEAU SOUS LINUX

5. Fixer/supprimer une adresse IPv4

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX
CONFIGURATION RESEAU SOUS LINUX

6. Ajouter une interface alias

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX
CONFIGURATION RESEAU SOUS LINUX

7. IPv6 ip -6 addr

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX
CONFIGURATION RESEAU SOUS LINUX

8. Tables de voisinage

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX
CONFIGURATION RESEAU SOUS LINUX

9. Tables de routage

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX
CONFIGURATION RESEAU SOUS LINUX

9. Tables de routage

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX
CONFIGURATION RESEAU SOUS LINUX

10. Route par défaut et routes statiques

9.1. Route par défaut

9.2. Route statique

sudo ip route add 192.168.100.0/24 via 192.168.1.1 dev eth0

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX
CONFIGURATION RESEAU SOUS LINUX

11. Serveurs de noms

On peut le définir via nmcli ou nmtui.

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX
CONFIGURATION RESEAU SOUS LINUX

12. Exercice de configuration manuelle des interfaces

1.Vérifier et noter les paramètre des interfaces réseau :


1. Nom
2. Statut
3. Adresse IP et masque
4. Passerelle
5. Serveur(s) DNS
2.Arrêter le service réseau
3.Faire tomber la première interface de l’ordinateur et vérifier
4.Fixer manuellement une adresse IPv4 et vérifier
5.Joindre la passerelle, la table ARP et vérifier la table de
routage
6.Ajouter une passerelle par défaut et vérifier
Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications

7.Vérifier la résolution de noms


ADMINISTRATION RESEAU SOUS LINUX
CONFIGURATION RESEAU SOUS LINUX

13. Configurations permanentes


13.1. Configuration permanente sous debian

Editer le fichier /etc/network/interfaces :

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX
CONFIGURATION RESEAU SOUS LINUX

13. Configurations permanentes


13.2. Configuration permanente sous RHEL7

Editer le fichier /etc/sysconfig/network-scripts/ifcfg-* où * correspond à l’interface à configurer :

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX
CONFIGURATION RESEAU SOUS LINUX

13. Configurations permanentes


13.2. Configuration permanente sous RHEL7

Fichier /etc/sysconfig/network :

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

DHCP

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

DHCP

• Le protocole DHCP (pour Dynamic Host Configuration Protocol) est un protocole reseau dont le role est d'assurer la
configuration automatique des parametres reseau d'une station, notamment en lui assignant automatiquement une adresse IP
et un masque de sous-reseau.
• Le protocole DHCP est tres souvent mis en oeuvre par les administrateurs de parc de
stations car il offre l'enorme avantage de centraliser la configuration des stations sur une unique machine : le serveur DHCP.
• Le principal danger de DHCP est qu'en cas de panne du serveur DHCP, plus aucune station n'accede au reseau.

• Il y a deux utilisations principales d'un serveur DHCP :


• attribuer une configuration fixe a certains postes (on les reconnait grace a leur adresse MAC)
• et attribuer une configuration dynamique aux postes inconnus.
• On peut par exemple donner une adresse IP fixe a certains serveurs, et attribuer des
adresses variables aux autres postes.
Le protocole est prevu pour qu'un poste qui revientsur le reseau recupere la meme adresse qu'il avait la premiere fois.
Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
• Elle lui est reservee uncertain temps (le lease time).
ADMINISTRATION RESEAU SOUS LINUX

DHCP
1. Configuration

• Le fichier de configuration principal est /etc/dhcpd.conf.


• Sa syntaxe est decrite dans man dhcpd.conf.
• Il possede des options globales, generalement placees au debut, et des sections pour chaque hote
ou reseau a configurer.

Interfaces

• Par defaut, le serveur DHCP est lance sur toutes les interfaces. Dans ce cas il est imperatif de configurer un reseau par
interface dans dhcpd.conf.
• Pour choisir les interfaces sur lesquels le serveur est lance, il faut modifier /etc/default/dhcp en indiquant par exemple

INTERFACES="eth1eth2"

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

DHCP
2. Adresse dynamique

• Pour configurer une plage d'adresses a attribuer dynamiquement aux adresses MAC inconnues, on utilise
une section subnet dans dhcpd.conf.
• La section suivante attribuera par exemple des adresses comprises entre 192.168.1.101 et 192.168.1.199 :

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

DHCP
3. Adresse fixe

Pour donne une adresse fixe a un poste, il faut connaitre son adresse MAC et écrire une section host.
Par exemple la section suivante attribue l'adresse 192.168.0.47 au poste
cobalt dont l'adresse MAC est 00:13:d4:bd:b7:9a :

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

DHCP
4. Options

• Le serveur DHCP peut fournir d'autres informations que l'adresse IP.

• Ces options peuvent être définies de manière globale en les plaçant en dehors de toute section.

• Elles s'appliqueront alors a toutes les sections qui ne les redéfinissent pas.

• Si elles sont placées dans une section particulière, elles ne s'appliquent qu'a celle-ci.

• L'option domain-name-servers permet par exemple d'indiquer au poste les adresses des serveurs DNS.

• L'option routers indique la passerelle.

• Toutes les options sont décrites dans la page de man.

• On peut également consulter cette documentation sur internet.

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

SAMBA

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

SAMBA

Samba est un service permettant de partager des répertoires et imprimantes entre des stations Linux et des stations Windows.

1. Configuration du service Samba

• Pour la configuration de ce service le principal fichier a modifier est s m b . c o n f qui se trouve generalement dans
• / e t c ou / e t c / s a m b a selon la distribution.
• Il existe également des interfaces graphiques pour configurer Samba.
• La section [ g l o b a l ] contient les options communes a tous les répertoires partages.
• Voici quelques options utilisables :
workgroup
• Le nom du groupe de travail.
• Les ordinateurs du meme groupe de travail se retrouvent cote a cote dans le voisinnage reseau de Windows.

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

SAMBA

1. Configuration du service Samba

server string
La description du serveur, qui apparaitra a cote de son nom dans l'explorateur Windows.
Si la description contient le terme %h, il sera remplace par le nom d'hote de la machine.

encrypt passwords
Détermine si les mots de passe doivent être cryptes avant d'etre transmis. C'est
fortement recommande et tous les systèmes Windows a partir de 98 et NT4 SP3
utilisent cette fonctionnalité par defaut.

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

SAMBA

1. Configuration du service Samba

log file
• Le nom du fichier qui contiendra le journal des activités du serveur. On peut avoir un journal par machine client en
utilisant %m dans le nom du fichier.
• Le %m sera remplace par le nom de la machine client.
max log size
• Taille maximale du fichier journal, en Kio.
socket options
• Indique les options a mettre sur les sockets comme par exemple TCP_NODELAY pour que le système envoi
immédiatement les petits paquets sans attendre d'en avoir plusieurs.
• De nombreuses autres options sont disponibles.
Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
• Elles sont détaillées dans la page de man de s m b . c o n f [1]
ADMINISTRATION RESEAU SOUS LINUX

SAMBA

1. Configuration du service Samba


Exemple

[global]
workgroup=maison
serverstring=ServeurSambasur%h
encryptpasswords=true
logfile=/var/log/samba/log.%m
maxlogsize=1000
socketoptions=TCP_NODELAY

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

SAMBA

2. Configuration du partage des répertoires

Les partages Samba sont décrits dans des sections ayant la forme suivante :

[<nomdupartage>]
<option>=<valeur>

• Les. paramètres
.. principaux sont les suivantes :
comment
La description du répertoire partage.
path
• Le chemin du répertoire partage. C'est le contenu du répertoire indique qui sera partage.
read only
• Détermine si les clients pourront écrire ou non dans le répertoire partage.
Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

SAMBA

2. Configuration du partage des répertoires

public
• Autoriser ou non les connexions sans mot de passe.
valid users
• Liste des seuls utilisateurs autorises a se connecter sépares par des espaces.
• Si on veut autoriser tous les utilisateurs il ne faut pas mettre cette option.
browseable
• Détermine si le partage apparaitra dans la liste des partages du serveur.
• La section [ h o m e s ] est un partage particulier.
• Elle définit le partage des répertoires utilisateur des comptes unix de la machine.
• De nombreuses autres options sont disponibles.
• Elles
Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
sont détaillées dans la page de man de s m b . c o n f
ADMINISTRATION RESEAU SOUS LINUX

SAMBA

2. Configuration du partage des répertoires

Exemples
cdrom]
comment=Sambaserver'sCD-ROM
readonly=yes
locking=no
path=/cdrom
guestok=yes
[partage]
path=/media/d/partage
available=yes
browsable=yes
public=yes
writable=yes
[zelinux]
comment=Siteweb
path=/myrep/zelinux
r e aCours
d oréalisé
n letyadapté
= n par
o Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

SAMBA
3. Protéger les répertoires partagés

• Il est possible de rendre prive un répertoire et d'autoriser ou non des utilisateurs a y accéder.
• Pour cela, pour chaque répertoire partage ajoutez les options:

pu b l i c = n o
validusers=<nomdesutilisateursautorisésàaccéderaux
répertoires>

• Pour chaque nom que vous avez rentre, il faut ajouter l'utilisateur samba avec

smbpasswd-a<nomdel'utilisateur>

Un compte unix du même nom doit exister. Si ce n'est pas le cas, il faut le créer avec la commande a d d u s e r .

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

SAMBA
4. Lancement du service
Lancement :

/etc/init.d/samba start

Pour le stopper :

/ e t c / i n i t . d / s a m b a s t op

Pour le relancer :

/etc/init.d/samba restart

• Les modifications du fichier s m b . c o n f sont prises en compte pour chaque nouvelle connexion.
• Pour les rendre effectives sur les connexions déjà établies, il faut relancer Samba.
Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

SAMBA
5. Accès aux répertoires

• Pour accéder aux partage sous Windows, il suffit d'ouvrir le voisinage réseaux d'une station Windows et de vérifier si la
machine y est.
• Pour se connecter en ligne de commande a un partage a partir de Linux, on peut utiliser la commande

sm b c l i e n t / / < n o m d u s e r v e u r > / < n o m d u p a r t a g e > - U < u t i l i s a t e u r >

• Il est également possible de monter un partage Samba avec

smbmount//<nomduserveur>/<nomdupartage><répertoirelocal>

Références
[1] http:/ / us1. samba. org/ samba/ docs/ man/ manpages-3/ smb. conf. 5. html

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

APACHE ou HTTP

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

APACHE ou HTTP

• Apache est un serveur HTTP libre. Un serveur HTTP permet d’héberger des sites web qui seront accessibles avec un

navigateur tel que Mozilla Firefox.

• Un site web peut fournir tout type de contenu (des fichiers textes, HTML, Flash, zip…).

• Ce contenu peut être statique (le serveur transmet un fichier au navigateur) ou dynamique (le contenu est génère par un

programme exécute par le serveur). Les sites web contiennent généralement plusieurs types de documents, certains

étant statiques et d'autres dynamiques.

• Nous traiterons ici d'Apache 2.2 sur un système Debian (et ses dérives, comme Ubuntu).

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

APACHE ou HTTP
1. Fichiers log

• Par défaut sous Debian, Apache enregistre les erreurs dans le fichier / v a r / l o g / a p a c h e 2 / e r r o r . l o g .

• Quand quelque chose ne fonctionne pas, ce fichier fournit souvent des pistes pour trouver la solution.

• Il enregistre egalement toutes les requetes dans / v a r / l o g / a p a c h e 2 / a c c e s s . l o g .

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

APACHE ou HTTP
2. Configuration de base

• Sous Debian, Apache se lance automatiquement lorsqu'on l'installe et a chaque démarrage du système.
• Lorsqu'on modifie sa configuration, il faut lui faire prendre connaissance des changements avec la commande

/etc/init.d/apache2 reload

• Pour l’arrèter, le lancer ou le relancer on utilisera la même commande avec s t o p , s t a r t ou r e s t a r t .

• Pour d'autres systèmes il faudra consulter la documentation du système ou celle d'Apache [1].

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

APACHE ou HTTP
2. Configuration de base
2.1 Configuration du serveur

• La configuration [2] du serveur se trouve dans / e t c / a p a c h e 2 / a p a c h e 2 . c o n f .

• Ce fichier contient des instructions I n c l u d e [3] qui permettent de déplacer certaines

parties de la configuration dans d'autres fichiers.

• Debian utilise cette fonctionnalité pour les modules [4] (comme PHP) et la gestion des

serveurs virtuels [5] :

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

APACHE ou HTTP
2. Configuration de base
2.2 Configuration des modules

• Le répertoire / e t c / a p a c h e 2 / m o d s - a v a i l a b l e contient les modules installes.

• Le répertoire / e t c / a p a c h e 2 / m o d s - e n a b l e d contient les modules actives.

• Les modules actives sont des liens symboliques vers les modules installes.

• Pour activer ou désactiver un module, on peut manipuler directement les liens ou utiliser

les commandes a 2 e n m o d e t a 2 d i s m o d ( v o i r l e s p a g e s d e m a n ) .

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

APACHE ou HTTP
2. Configuration de base

2.3 Configuration des sites

• De la même manière, le répertoire / e t c / a p a c h e 2 / s i t e s - a v a i l a b l e contient les sites web

disponibles et / e t c / a p a c h e 2 / s i t e s - e n a b l e d les sites actives.

• Il en existe un préinstalle :

le site d e f a u l t .

• Les sites peuvent s'activer ou se désactiver en manipulant les liens dans s i t e s - e n a b l e d ou en utilisant

a 2 e n s i t e et a 2 d i s s i t e .

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

APACHE ou HTTP
3. Quelques directives classiques
• La syntaxe d'Apache est assez simple.

• On trouve des blocs (ou contextes) comme par exemple :

<VirtualHost...>#débutdeblocVirtualHost
...
<Directory...>#débutdeblocDirectory
...
</Directory>#findeblocDirectory
...
</VirtualHost>#findeblocVirtualHost

et des directives comme par exemple

In c l u d e / e t c / a p a c h e 2 / s i t e s - e n a b l e d /

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

APACHE ou HTTP
3. Quelques directives classiques

• Les directives qui permettent de configurer le serveur lui-même sont généralement placées

• dans a p a c h e 2 . c o n f .

• Celles qui ne concernent qu'un site web sont déportées dans le fichier de configuration du site (s i t e s - a v a i l a b

l e / m o n - s i t e - w e b ).

• La directive DocumentRoot [6] fixe la racine du serveur Web, c'est-a-dire le répertoire de base ou se trouvent les

documents.

• Par exemple avec la directive D o c u m e n t R o o t / v a r / w w w / h t m l , si le navigateur demande la page

h t t p : / / s e r v e u r / r e p e r t o i r e / f i c h i e r . t x t , le serveur cherchera le fichier


Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
/var/www/html/repertoire/fichier.txt.
ADMINISTRATION RESEAU SOUS LINUX

APACHE ou HTTP
3. Quelques directives classiques

• UserDir [7] permet d'indiquer le répertoire personnel des utilisateurs du système.


• La directive U s e r D i r p u b l i c _ h t m l signifie qu'un utilisateur peut publier ses pages web
• personnelles dans un sous-répertoire p u b l i c _ h t m l de son répertoire personnel.
• Pour l'utilisateur toto, c'est généralement / h o m e / t o t o / p u b l i c _ h t m l .
• Sa page d'accueil sera alors accessible par l'URL spéciale h t t p : / / s e r v e u r / ~ t o t o .
• Directory Index [8] indique la liste des fichiers qu'Apache cherchera a afficher si l'URL n’en precise pas.
• Par exemple si la configuration contient D i r e c t o r y I n d e x i n d e x . h t m l i n d e x . p h p et qu'on
demande l'URL h t t p : / / s e r v e u r / r e p e r t o i r e / , Apache va chercher dans le répertoire un fichier
i n d e x . h t m l ou i n d e x . p h p .
• Si un de ces fichiers existe, il sera affiché.
• Sinon, Apache affichera soit la liste des fichiers, soit une erreur (suivant la présence de I n d e x e s dans la
Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
directive Options [9]).
ADMINISTRATION RESEAU SOUS LINUX

APACHE ou HTTP
3. Quelques directives classiques

• AccessFileName [10] définit le nom du fichier qu'on peut placer dans un répertoire pour en modifier sa
configuration.
• Cela permet, par exemple, d'interdire localement l'affichage de la liste des fichiers, ou de protéger par mot de passe
un répertoire et ses sous répertoires.
• Listen [11] indique a Apache sur quel port TCP il doit écouter. Le port par défaut du protocole HTTP est 80.
• ServerName [12] indique a Apache son nom de domaine et éventuellement son port.
• Il s’en sert lorsqu'il doit communiquer son adresse au client (le navigateur).
• C'est le cas par exemple lorsqu'on demande l'adresse h t t p : / / s e r v e u r / r e p e r t o i r e sans slash (/ ) a la
fin.
• Comme ce n'est pas une URL valide (l'URL d'un répertoire doit se terminer par un slash),
• Apache utilise la directive S e r v e r N a m e pour reconstruire une adresse avec un slash et la
• renvoi auetclient.
Cours réalisé adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

APACHE ou HTTP
4. Paramétrage des répertoires

• Chaque répertoire auquel Apache accède peut être configure indépendamment (et ses sous-répertoires en héritent).

• Le paramétrage d'un répertoire se met dans un "conteneur" délimite par < D i r e c t o r y

c h e m i n _ d u _ r é p e r t o i r e > et < / D i r e c t o r y > .

• La configuration s'applique au repertoire et a tous ses sous répertoires.

• Si un sous-répertoire possède également sa propre configuration, elle vient s'ajouter a celle du parent.

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

APACHE ou HTTP
4. Paramétrage des répertoires

• Voici quelques exemples de contrôle d’accès. Plus de détails sont donnes dans la section "Un exemple de configuration".

#Configuration du répertoire racine du système


<Directory/>
#On n'autorise aucune option particulière
OptionsNone
#Aucune modification n'est autorisé dans les fichiers.htaccess
AllowOverrideNone
</Directory>
#Pourlaracineduserveur:
<Directory/var/www/html>
#Quelquesoptions
OptionsIndexesIncludesFollowSymLinks
Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX
APACHE ou HTTP
4. Paramétrage des répertoires
#Les options peuvent être changées dansun.htaccess
AllowOverrideAll
#Permet à tout le monde d'accéder aux documents
AllowfromAll
#Spécifie comment appliquer la règle précédente
Orderallow,deny
</Directory>
#Le répertoire contenant des exécutables CGI
<Directory/usr/lib/cgi-bin>
AllowOverrideNone
OptionsExecCGI
</Directory>

• Les paramètres possibles de la directive Options [13] sont : "None", "All", "Indexes",
Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
"Includes", "FollowSymLinks", "ExecCGI", ou "MultiViews".
ADMINISTRATION RESEAU SOUS LINUX

APACHE ou HTTP
5. Gérer les pages Web personnelles

• Il est possible de permettre aux utilisateurs du système de diffuser des pages personnelles sans avoir a créer un site par

utilisateur.

• Il faut pour cela utiliser le module u s e r d i r .

• Le répertoire contenant le site web doit être crée dans le home de l'utilisateur et doit être

• accessible en lecture pour tous.

• Le nom du répertoire est défini par la directive UserDir [7].

• Par défaut il s'agit du répertoire p u b l i c _ h t m l .

• L'adresse pour accéder a ces sites personnels est le nom de l'utilisateur précède d'un tilde (~ ).

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

APACHE ou HTTP
5. Gérer les pages Web personnelles

• Par exemple un utilisateur toto sur le serveur www.ist2000.bf peut créer les pages de

• son site dans le répertoire / h o m e / t o t o / p u b l i c _ h t m l , et on pourra y accéder avec l'adresse

: http://www.ist2000.bf/~toto/.

• Il est possible de n'autoriser que certains utilisateurs a bénéficier du U s e r D i r .

• Par exemple pour n'autoriser que sasa et toto a avoir un site personnel :

Us e r D i r d i s a b l e d
UserDirenabled sasa toto
Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX
APACHE ou HTTP
5. Gérer les pages Web personnelles
• Pour définir les options de ces répertoires, on peut utiliser une clause D i r e c t o r y pour le repertoire
/home/*/public_html:

<Directory/home/*/public_html>
Orderallow,deny
Allowfromall
</Directory>

• La clause U s e r D i r p u b l i c _ h t m l ne fonctionne que pour des utilisateurs ayant un compte sur le système.
• L'URL http:/ / www. Ist2000.bf/ ~toto ne fonctionne que si toto est un véritable utilisateur (auquel cas l'expression Unix
~ t o t o a un sens), pas seulement si le repertoire / h o m e / t o t o / p u b l i c _ h t m l existe.
• On peut utiliser une autre forme de UserDir pour autoriser les répertoires sans forcement qu'il y ait un compte unix associe
:
UserDir/home/*/public_html

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX
APACHE ou HTTP
6. Le module PHP

• PHP a normalement été intègre au serveur Apache sous forme d'un module chargeable situe comme tous les autres
modules d'Apache dans / u s r / l i b / a p a c h e 2 / m o d u l e s .
• Les fichiers / e t c / a p a c h e 2 / m o d s - a v a i l i a b l e / p h p . l o a d et
/ e t c / a p a c h e 2 / m o d s - a v a i l i a b l e / p h p . c o n f contiennent les directives L o a d M o d u l e et
A d d T y p e qui permettent a Apache d’exécuter du PHP quand on demande un fichier se terminant par . p h p .
• Ils doivent être lies dans / e t c / a p a c h e 2 / m o d s - e n a b l e d pour activer PHP.
• On peut utiliser pour cela la commande a 2 e n m o d .

• En marge de Apache, PHP possède lui aussi son fichier de configuration, souvent / e t c / p h p . i n i .
• Il n'est pas particulièrement conseille d'y intervenir sauf si on sait ce que l'on fait.
• On peut néanmoins y observer que PHP prend bien en compte le module d'extension MySQL, contenant les fonctions
d’accès au "moteur" de base de données MySQL (qui a du être installe a part), par la présence de e x t e n s i o n = m y s q
l.so.
Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX
APACHE ou HTTP
6. Le module PHP

• En cas de modification d'un fichier de configuration, comme PHP fonctionne comme module d'Apache, il faut
redémarrer Apache pour qu'il réinitialise PHP par la lecture de php.ini.

/etc/init.d/apache2 restart

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX
APACHE ou HTTP
7. Protection par mot de passe

Il existe une beaucoup de solutions pour protéger un site par

mot de passe.

Apache fournit une solution simple pour protéger un répertoire

et ses sous-répertoires. Il faut pour cela

utiliser le fichier . h t a c c e s s et maintenir un fichier de mots

de passe.

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX
APACHE ou HTTP
7. Protection par mot de passe

7.1 .htaccess

• Le fichier .htaccess doit se trouver dans le répertoire a protéger.

• On placera dans ce fichier la définition des restrictions.

• Il est impératif que la modification des paramètres d'authentification soit autorisée dans la configuration

d'Apache.

• Il faut que la directive AllowOverride [14] d'un répertoire parent contienne l'option A u t h C o n f i g .

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX
APACHE ou HTTP
7. Protection par mot de passe
7.1 .htaccess
Les directives a placer dans le . h t a c c e s s sont les suivantes :
• A u t h T y p e b a s i c , type d'authentification communément adopte
• A u t h N a m e " M o n m e s s a g e " , affichera le texte comme invite dans la boite de dialogue
• A u t h U s e r F i l e / e t c / a p a c h e 2 / m y _ p a s s w d , indique ou vont se trouver les mots de
passe
• R e q u i r e v a l i d - u s e r , précise qu'il faut un compte dans le fichier de mots de passe pour
accéder au répertoire
On peut aussi utiliser R e q u i r e u s e r t o t o s a s a pour n'autoriser que les comptes toto et
sasa.

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX
APACHE ou HTTP
7. Protection par mot de passe
7.1 .htaccess

• Le type d'authentification basic fait circuler les mots de passe en clair.

• Il existe d'autres types plus sécurises.

• La première requête adressée a ce répertoire protège provoquera l'affichage d'une boite de dialogue par laquelle

l'utilisateur devra s'identifier (nom et mot de passe).

• Si le mot de passe saisi est invalide, la boite de dialogue s'affichera de nouveau.

• S'il est valide, le navigateur l'enregistre et ne le demandera plus.

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
• Il faudra relancer le navigateur pour qu’il le demande de nouveau.
ADMINISTRATION RESEAU SOUS LINUX
APACHE ou HTTP
7. Protection par mot de passe
7.2 Fichier de mots de passe

• Pour maintenir le fichier de mots de passe on utilisera la commande h t p a s s w d (voir page de man).

• Par exemple pour créer le fichier de mots de passe / e t c / a p a c h e 2 / d e f a u l t - p a s s w d avec

comme 1er utilisateur toto, on utilisera la commande

htpasswd-c/etc/apache2/my_passwdtoto

• Pour ajouter ou modifier un utilisateur a un fichier de mots de passe existant :

htpasswd/etc/apache2/my_passwdsasa

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX
APACHE ou HTTP
8. Serveurs virtuels (virtual hosts)

• Apache peut gérer plusieurs sites web simultanément.


• Ils seront tous accessibles a partir de la même adresse IP et du même port.
• Pour les différence, Apache se sert de l'adresse demandée par le navigateur.
• Par exemple si site1.com et site2.com pointent sur la même adresse IP, les URL
http://site1.com/ et http://site2.com/ aboutiront sur le même serveur.
• Mais au moment de la requête, le navigateur précise qu'il a demande l'adresse http://site1.com/ ou
http://site2.com/.
• Apache se sert de cette information pour savoir quel site afficher.
• On parle de serveur virtuel ou virtual host.
• Pour indiquer a Apache quel site correspond a un nom de domaine, on utilise une section
<VirtualHost*>.
Sous Debian, il y a généralement un fichier par section V i r t u a l H o s t dans le repertoire / e t c / a p a c h e 2 / s i
Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
tes-availiable.
ADMINISTRATION RESEAU SOUS LINUX
APACHE ou HTTP
8. Serveurs virtuels (virtual hosts)

• La section devra contenir une directive


VirtualHost*>
ServerName [12] qui indiquera le nom associe a
[email protected]
ce DocumentRoot/home/site1/racine
ServerNamesite1.com
serveur virtuel.
ServerAliaswww.site1.com
• Elle pourra également contenir une directive
AccessLog/home/site1/access.log
Server Alias [15] si on veut que ErrorLog/home/site1/error.log
<Directory/home/site1/racine>
d'autres noms aboutissent a ce site.
AllowOverrideAll
Par exemple :
</Directory>
</VirtualHost>
Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX
APACHE ou HTTP
8. Serveurs virtuels (virtual hosts)

La documentation d'Apache sur les serveurs virtuels [5] contient des informations détaillées sur le sujet.

Pour que ce serveur virtuel fonctionne, il est impératif que les noms site1.com et

www.site1.com soient connus par la machine qui tente d'y accéder (celle qui lance le navigateur).

Pour cela il y a plusieurs méthodes :

• acheter le nom de domaine en question et le configurer pour qu'il pointe sur la bonne adresse IP

• utiliser un serveur DNS qui renverra la bonne IP pour ce domaine

• modifier le fichier h o s t s sur la machine cliente pour faire correspondre ce domaine a la

bonne adresse IP (voir la partie Installation et configuration d'une carte réseau)

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX
APACHE ou HTTP
8. Serveurs virtuels (virtual hosts)
8.1 Exemples de configuration

• Voici quelques exemples de configuration. L'ensemble des directives possibles peut etre
consulte ici : http:/ / httpd. apache. org/ docs/ 2. 2/ mod/ directives. html
• Pensez que les directives doivent parfois se trouver dans a p a c h e 2 . c o n f , parfois dans le
contexte V i r t u a l H o s t d'un site donne.

ServerType

ServerTypestandalone

• Cette ligne indique si le serveur Apache se lance en 'autonome' (standalone) ou via i n e t d


• (TCP_WRAPPER).
• Pour la plupart des configuration, c'est en standalone.
• Cette directive a disparu de Apache2, qui dispose d'un autre moyen pour définir cela.
Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications

• Le comportement est en fait choisi d'apres le MTM (Multi-processing module) choisi.


ADMINISTRATION RESEAU SOUS LINUX
APACHE ou HTTP
8. Serveurs virtuels (virtual hosts)
8.1 Exemples de configuration
ServerRoot

ServerRoot/etc/apache2

(config serveur uniquement, pas dans un VirtualHost)


• Vous indiquez ici le répertoire d'installation d'Apache.
• Normalement les scripts d'installation ont bien renseigne cette ligne.
• Vérifiez quand même.

LockFile

LockFile/var/run/httpd.lock

(config serveur uniquement, pas dans un VirtualHost)

• Cours
Laissez cette ligne comme elle est, c'est a dire en commente pour 90% des cas (# devant).
réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX
APACHE ou HTTP
8. Serveurs virtuels (virtual hosts)
8.1 Exemples de configuration
PidFile

PidFile/var/run/httpd.pid
(config serveur uniquement, pas dans un VirtualHost)
Vérifiez bien que cette ligne est décommentée. Elle indique au script de démarrage d'enregistrer le numéro de processus
d'Apache pour que lors de l'arret du système le processus Apache soit stoppe correctement.

ScoreBoardFile
coreBoardFile/var/run/httpd.scoreboard

(config serveur uniquement, pas dans un VirtualHost)

Ce fichier stocke des informations pour le bon fonctionnement d'Apache.

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX
APACHE ou HTTP
8. Serveurs virtuels (virtual hosts)
8.1 Exemples de configuration

Timeout
Timeout300
(config serveur uniquement, pas dans un VirtualHost)

• Temps en secondes avant que le serveur n'envoie ou ne reçoive un timeout .

• Quand le serveur attend une "réponse" (ex : script CGI, connexion\ldots), si au bout de ce temps, il ne reçoit pas de

réponse, il va s'interrompre et prévenir l'utilisateur de l'erreur.

• Laissez cette valeur par défaut a moins que vous n'effectuiez des traitements dépassant cette limite.

• Ne pas monter trop haut cette valeur non plus car si le programme externe a "plante", ou si une erreur est survenue,

vous risquez de rendre inaccessible le serveur Apache pour trop de temps (il est toujours désagréable d'attendre pour

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
rien).
ADMINISTRATION RESEAU SOUS LINUX
APACHE ou HTTP
8. Serveurs virtuels (virtual hosts)
8.1 Exemples de configuration
KeepAlive
KeepAliveon

• Autorise ou non les connexions persistantes (plusieurs requetés par connexions).


• En fait cela permet aux utilisateurs de votre serveur de lancer plusieurs requetés a la fois, et donc
• d’accélerer les réponses du serveur. Laissez cette valeur par défaut la plupart du temps.
• Pour de petits serveurs laissez cette option sur on .
• Pour un serveur très sollicite, des que vous vous apercevez que le système ralentit énormément ou devient
indisponible assez souvent, essayez avec la valeur off .
• Mais avant, essayez de baisser la valeur de l'option suivante.

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX
APACHE ou HTTP
8. Serveurs virtuels (virtual hosts)
8.1 Exemples de configuration
MaxKeepAliveRequests
MaxKeepAliveRequests100

• En combinaison avec l'option précédente, indique le nombre de requetés pour une

connexion. Laissez cette valeur assez haute pour de très bonnes performances.

• Si vous mettez 0 comme valeur, vous en autorisez en fait un nombre illimite (attention donc).

• Laissez la valeur par défaut la aussi.

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

FIREWALL

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

FIREWALL

•Dans un système d’information, les politiques de filtrage et de


contrôle du trafic sont placées sur un matériel ou un logiciel
intermédiaire communément appelé pare-feu (firewall).
•Cet élément du réseau a pour fonction d’examiner et filtrer le
trafic qui le traverse.
•On peut le considérer comme une fonctionnalité d’un réseau
sécurisé : la fonctionnalité pare-feu.
•L’idée qui prévaut à ce type de fonctionnalité est le contrôle
des flux du réseau TCP/IP.
•Le pare-feu limite le taux de paquets et de connexions actives.
Il reconnaît les flux applicatifs.
Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

FIREWALL
1. Objectifs d’un pare-feu

Il a pour objectifs de répondre aux menaces et attaques suivantes, de manière non-

exhaustive :

•Usurpation d’identité.

•La manipulation d’informations.

•Les attaques de déni de service (DoS/DDoS).

•Les attaques par code malveillant.

•La fuite d’information.

•Les accès non-autorisé (en vue d’élévation de privilège).

•Les attaques de reconnaissance, d’homme du milieu, l’exploitation de TCP/IP.


Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

FIREWALL
Ce que le pare-feu ne fait pas

Le pare-feu est central dans une architecture sécurisée mais :

•Il ne protège pas des menaces internes.

•Il n’applique pas tout seul les politiques de sécurité et leur surveillance.

•Il n’établit pas la connectivité par défaut.

•Le filtrage peut intervenir à tous les niveaux TCP/IP de manière très fine.

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

FIREWALL
2. Fonctionnement

•Il a pour principale tâche de contrôler le trafic entre différentes zones de confiance, en filtrant les flux de données qui
y transitent.
•Généralement, les zones de confiance incluent l’Internet (une zone dont la confiance est nulle) et au moins un réseau
interne (une zone dont la confiance est plus importante).
•Le but est de fournir une connectivité contrôlée et maîtrisée entre des zones de différents niveaux de confiance, grâce
à l’application de la politique de sécurité et d’un modèle de connexion basé sur le principe du moindre privilège.
•Un pare-feu fait souvent office de routeur et permet ainsi d’isoler le réseau en plusieurs zones de sécurité appelées
zones démilitarisées ou DMZ. Ces zones sont séparées suivant le niveau de confiance qu’on leur porte.

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

FIREWALL
2. Fonctionnement
2.1 Zone de confiance sur un pare-feu
Organisation du réseau en zones :

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

FIREWALL
2. Fonctionnement
2.2 Niveau de confiance
•Le niveau de confiance est la certitude que les utilisateurs vont respecter les politiques de sécurité de l’organisation.
•Ces politiques de sécurité sont édictées dans un document écrit de manière générale.
•Ces recommandations touchent tous les éléments de sécurité de l’organisation et sont traduites particulièrement sur les pare-
feu en différentes règles de filtrage.
•On notera que le pare-feu n’examine que le trafic qui le traverse et ne protège en rien des attaques internes, notamment sur
le LAN.
2.3 Politiques de filtrage

•Selon les besoins, on placera les politiques de filtrage à différents endroits du réseau, au minimum sur chaque hôte contrôlé
(pare-feu local) et en bordure du réseau administré sur le pare-feu.
•Ces emplacements peuvent être distribué dans la topologie selon sa complexité.
•Pour éviter qu’il ne devienne un point unique de rupture, on s’efforcera d’assurer la redondance des pare-feu.
•On placera plusieurs pare-feu dans l’architecture du réseau à des fins de contrôle au plus proche d’une zone ou pour
Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications

répartir la charge.
ADMINISTRATION RESEAU SOUS LINUX

FIREWALL
2. Fonctionnement
2.4 Filtrage

La configuration d’un pare-feu consiste la plupart du temps en un ensemble de règles qui déterminent une action de rejet

ou d’autorisation du trafic qui passe les interfaces du pare-feu en fonction de certains critères tels que :

•l’origine et la destination du trafic,

•des informations d’un protocole de couche 3 (IPv4, IPv6, ARP, etc.),

•des informations d’un protocole de couche 4 (ICMP, TCP, UDP, ESP, AH, etc.)

•et/ou des informations d’un protocole applicatif (HTTP, SMTP, DNS, etc.).

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

FIREWALL
2. Fonctionnement
2.5 Décision de filtrage

•Les règles sont appliquées en fonction de la direction


du trafic entrant ou sortant sur une interface, avant ou
après le processus de routage des paquets.
•Cette dernière réalité diffère selon le logiciel ou le
matériel choisi pour remplir ces tâches.
•Ici l’exemple de la table filter de Netfilter :

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

FIREWALL
2. Fonctionnement
2.6 Règles

• Chaque règle est examinée selon son ordonnancement.

• Si le trafic ne correspond pas à la première règle, la seconde règle est évaluée et ainsi de suite.

• Lorsqu’il y a correspondance entre les critères de la règle et le trafic, l’action définie est exécutée et les règles

suivantes ne sont pas examinées.

• La terminologie des actions usuelles peuvent être accept, permit, deny, block, reject, drop, ou similaires.

• En général, un ensemble de règles se termine par le refus de tout trafic, soit en dernier recours le refus du trafic

qui traverse le pare-feu.

• Ce comportement habituellement défini par défaut ou de manière implicite refuse tout trafic pour lequel il n’y
Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
avait pas de correspondance dans les règles précédentes.
ADMINISTRATION RESEAU SOUS LINUX

FIREWALL
2. Fonctionnement
2.7 Chaines
Iptables : la théorie

• Les règles de pare-feu sont examinées dans l’ordre de leur introduction avec la politique par
défaut qui termine la liste (la chaîne).
• Chaque règles est une commande iptables ou ip6tables. Dès que la correspondance est trouvée, la
liste s’arrête.

Trois tables : filter, nat et mangle


•iptables et ip6tables sont les logiciels (interface

utilisateur) de filtrage, de traduction d’adresses


•filter
(NAT/PAT) et de transformation du trafic.
•nat
•Trois usages, trois tables :
•mangle
Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

FIREWALL
2. Fonctionnement
2.7 Chaines

On ne parlera ici que des tables filter et nat, qui sont constituées de chaînes, sortes d’ACLs, elles-mêmes constituées de
règles.

La table filter

La table filter filtre le trafic dans trois situations (chaînes) :


•INPUT : à destination d’une interface du pare-feu
•OUTPUT : sortant d’une interface du pare-feu
•FORWARD : traversant le pare-feu d’une interface à une autre

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

FIREWALL
2. Fonctionnement
2.7Chaines

On ne parlera ici que des tables filter et nat, qui sont constituées de chaînes, sortes d’ACLs, elles-mêmes constituées de
règles.

Cibles possibles

L’option -j (jump) définit une cible (une action) :

•ACCEPT : le paquet est accepté et pris en charge par les processus du noyau

•DROP : le paquet est jeté, sans plus

•REJECT : le paquet est jeté, mais un message d’erreur est renvoyé au destinataire

•LOG : journalisation du trafic. passe à la règle suivante.

•…
Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
•une autre chaîne utilisateur
ADMINISTRATION RESEAU SOUS LINUX

FIREWALL
2. Fonctionnement
2.7 Chaines

On ne parlera ici que des tables filter et nat, qui sont constituées de chaînes, sortes d’ACLs, elles-mêmes constituées de
règles.

La table NAT

•Le NAT/PAT vise à réécrire les champs d’adresses et de ports TCP/IP du trafic qui
traverse le pare-feu.
•Il est principalement utile dans le cadre du manque d’adresses IPv4 globale.
•Il peut intervenir avant que le trafic soit routé, en changeant l’adresse et le port de
destination (DNAT, redirection), pour filtrer du trafic à destination d’un serveur
•Il peut intervenir après que le trafic soit routé, en changeant d’adresse et le port
source (SNAT, masquage) pour offrir une connectivité globale à un bloc IP privé

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

FIREWALL
2. Fonctionnement
2.7 Chaines
La table NAT
Chaînes de la table NAT

•PREROUTING :
• DNAT : redirection de port dans une DMZ
• REDIRECT : redirection (vers un proxy)
•POSTROUTING :
• SNAT : NAT/PAT statique
• MASQUERADE : NAT overload (masquage)

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

FIREWALL
2. Fonctionnement
2.7 Chaines
La table NAT
Cibles de la table nat

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

FIREWALL
2. Fonctionnement
2.7 Chaines
La table NAT
Syntaxe

iptables -t [filter, nat]

•commandes : -A, -P, -I, -D, …

•chaîne : [INPUT, OUTPUT, FORWARD]

•critères : -i, -o, -s, -d, -p, -m, ….

•-j : jump action ou règles utilisateur :

•DROP, REJECT, ACCEPT, LOG, …

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

FIREWALL
2. Fonctionnement
2.7 Chaines
La table NAT
Commandes

•t : désigne la table [filter, nat]

•-F : supprime toutes les chaînes prédéfinies

•-X : supprime toutes les chaînes utilisateurs

•-A : ajoute une règle à une chaîne (et à une table) suivi de critères et d’un jump

•-D : supprime une règle

•-I : insère une règle

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

FIREWALL
2. Fonctionnement
2.7 Chaines
La table NAT
Commandes

•-P : Définit la politique (ou cible) par défaut d’une chaîne. Seules les chaînes prédéfinies peuvent

avoir un comportement par défaut. Cette cible ne sera appliquée qu’après l’exécution de la dernière

règle de la chaîne.

•-L -n -v : Liste les règles

•-S : Liste les commandes

•-j : jump : action : [DROP, REJECT, ACCEPT, LOG]

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

FIREWALL
2. Fonctionnement
2.7 Chaines
La table NAT
Les critères

Les critères peuvent être multiples :


•Interface source ou destination.
•Adresse IP source ou de destination.
•Port source ou de destination.
•Type de trame.
•Nombre de paquets.
•Paquet marqué par la table Mangle.
•Etc.

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

FIREWALL
2. Fonctionnement
2. 7 Chaines
La table NAT
Les critères de filtrage
•- p <protocol-type> Protocole ; icmp, tcp, udp, et all

•-s <ip-address> Adresse IP source

•-d <ip-address> Adresse IP destination

•-i <interface-name> nom d’interface d’entrée : eth0, eth1

•-o <interface-name> nom d’interface de sortie : eth0, eth1

•-p tcp --sport <port> port TCP source.

•-p tcp --dport <port> port TCP destination.

•-p tcp --syn Utilisé pour identifier une nouvelle requête de connexion. ! --syn signifie pas de nouvelle de requête de
Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications

connexion
ADMINISTRATION RESEAU SOUS LINUX

FIREWALL
2.7 Chaines

La table NAT
Les critères de filtrage

•p udp --sport <port> port UDP source.


•-p udp --dport <port> port UDP destination.
•--icmp-type <type> echo-reply, echo-request
•-m multiport --sports <port, port>
•-m multiport --dports <port, port>
•-m multiport --ports <port, port>
•-m --state <state>
•ESTABLISHED: Le paquet fait partie d’une connexion qui a été constatée dans les deux directions.
•NEW: Le paquet est le début d’une nouvelle connexion.
•RELATED: Le paquet démarre une seconde nouvelle connexion
Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications

•INVALID: Le paquet ne peut pas être identifié.


ADMINISTRATION RESEAU SOUS LINUX

FIREWALL
2.7 Chaines
Chaînes Utilisateurs

• Les chaînes utilisateurs sont des chaînes spécifiques définies par l’administrateur (autres que les

chaînes prédéfinies PREROUTING, INPUT, FORWARD, OUTPUT et POSTROUTING).

• Elles sont appelées :

•par une ou d’autres chaînes utilisateurs ou,

•par une ou plusieurs chaînes prédéfinies.

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

FIREWALL
2.7 Chaines
Vérification des règles

iptables -t filter -L

iptables -t nat -L

iptables -t filter -L -n -v

Réinitialisation des règles

iptables -F
iptables -X
iptables -t filter -L -n -v

Maintient des sessions établies :

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
ADMINISTRATION RESEAU SOUS LINUX

FIREWALL
2.7 Chaines
Politique INPUT
Refus de tout trafic entrant sur son interface SSH et DHCP, sauf le trafic de loopback :

iptables -t filter -A INPUT -p tcp -i $int --dport ssh -j ACCEPT

iptables -t filter -A INPUT -p udp -i $int --dport 67:68 -j ACCEPT

iptables -t filter -A INPUT -p icmp --icmp-type echo-request -m limit --limit 100/s -i $int -j ACCEPT

iptables -I INPUT 2 -i lo -j ACCEPT

iptables -P INPUT DROP

Routage IP activation opportune

Vérification de l’activation du routage IPv4 :


sysctl net.ipv4.ip_forward
ou Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
/proc/sys/net/ipv4/ip_forward
ADMINISTRATION RESEAU SOUS LINUX

FIREWALL
3. Pare-feu personnel Debian/Ubuntu
Uncomplicated Firewall (ufw)

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

FIREWALL
3. Pare-feu personnel Debian/Ubuntu
Uncomplicated Firewall (ufw)

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

FIREWALL
3. Pare-feu personnel Debian/Ubuntu
Uncomplicated Firewall (ufw)

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

FIREWALL
3. Pare-feu personnel Debian/Ubuntu
Uncomplicated Firewall (ufw)

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

FIREWALL
3. Pare-feu personnel Debian/Ubuntu
Uncomplicated Firewall (ufw)

3.1 Gestion des règles par défaut

Lorsque UFW est activé, par défaut le trafic entrant est refusé et le trafic sortant est autorisé. C’est en général le
réglage à privilégier, cependant vous pouvez tout de même modifier ces règles.
Autoriser le trafic entrant suivant les règles par défaut :

Refuser le trafic entrant suivant les règles par défaut :

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

FIREWALL
3. Pare-feu personnel Debian/Ubuntu
Uncomplicated Firewall (ufw)
Autoriser le trafic sortant suivant les règles par défaut :

Refuser le trafic sortant suivant les règles par défaut :

3.2 Activer/désactiver la journalisation

Activer la journalisation :

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

FIREWALL
3. Pare-feu personnel Debian/Ubuntu
Uncomplicated Firewall (ufw)
Autoriser le trafic sortant suivant les règles par défaut :

Refuser le trafic sortant suivant les règles par défaut :

3.2 Activer/désactiver la journalisation

Activer la journalisation :

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

FIREWALL
3. Pare-feu personnel Debian/Ubuntu
Uncomplicated Firewall (ufw)

3.2 Activer/désactiver la journalisation

Désactiver la journalisation :

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

FIREWALL
3. Pare-feu personnel Debian/Ubuntu
Uncomplicated Firewall (ufw)
3.3 Ajouter/supprimer des règles

• port] est à remplacer par le numéro du port désiré.


[

• [règle] est à remplacer par le numéro du port ou le nom du service désiré.


• [numéro] est à remplacer par le numéro de la règle désiré.
Autoriser une connexion entrante :

Refuser une connexion entrante :

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

FIREWALL
3. Pare-feu personnel Debian/Ubuntu
Uncomplicated Firewall (ufw)
3.3 Ajouter/supprimer des règles
Refuser une IP entrante :
• Si vous voulez bloquer une IP sur tous vos services, il faut le faire “avant” les autorisations
existantes.
• D’où le “insert 1” qui met ce “deny” avant tous les “allow”.
• Dans le cas d’une série d’IP à bloquer vous pouvez utiliser à chaque entrée le “insert 1”, pas
besoin de spécifier dans le cas présent une autre place sudo ufw insert 1 deny from [ip]
Refuser une connexion entrante, uniquement en TCP :

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

FIREWALL
3. Pare-feu personnel Debian/Ubuntu
Uncomplicated Firewall (ufw)

3.3 Ajouter/supprimer des règles


Refuser une connexion sortante :

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

FIREWALL
3. Pare-feu personnel Debian/Ubuntu
Uncomplicated Firewall (ufw)

3.4 Règles simples

• La syntaxe des règles.


• Voici quelques exemples pour comprendre la syntaxe des règles de configuration.
• Ouverture du port 53 en TCP et UDP :

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

FIREWALL
3. Pare-feu personnel Debian/Ubuntu
Uncomplicated Firewall (ufw)
3.5 Utilisation des services

• UFW regarde dans sa liste de services connus pour appliquer les règles standards associées à ces services
(apache2, smtp, imaps, etc..).
• Ces règles sont automatiquement converties en ports.
Pour avoir la liste des services :

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

FIREWALL
3. Pare-feu personnel Debian/Ubuntu
Uncomplicated Firewall (ufw)

3.5 Utilisation des services

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

FIREWALL
3. Pare-feu personnel Debian/Ubuntu
Uncomplicated Firewall (ufw)

3.6 Règles complexes

L’écriture de règles plus complexes est également possible :


Refuser le protocole (proto) TCP à (to) tout le monde (any) sur le port (port) 80 :

Refuser à (to) l’adresse 192.168.0.1 de recevoir sur le port (port) 25 les données provenant (from) du réseau de classe A et
utilisant le protocole (proto) TCP :

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

FIREWALL
3. Pare-feu personnel Debian/Ubuntu
Uncomplicated Firewall (ufw)
3.6 Règles complexes

Refuser les données utilisant le protocole (proto) UDP provenant (from) de 1.2.3.4 sur le port (port) 514 :

Refuser à l’adresse 192.168.0.5 de recevoir toutes données provenant du serveur web de la machine hébergeant le pare-feu :

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

FIREWALL
3. Pare-feu personnel Debian/Ubuntu
Uncomplicated Firewall (ufw)

3.7 Insérer une règle


Vous pouvez insérer une règle à une position précise en utilisant le numéro

Insérer en numéro 2 une règle refusant le trafic entrant utilisant le protocole (proto) UDP (to) en direction de (any) toute les
adresses en écoute sur votre machine sur le port (port) 514 en provenance (from) de 1.2.3.4

Source : https://doc.ubuntu-fr.org/ufw
Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

FIREWALL
3. Pare-feu personnel Debian/Ubuntu
Uncomplicated Firewall (ufw)

3.7 Insérer une règle


Vous pouvez insérer une règle à une position précise en utilisant le numéro

Insérer en numéro 2 une règle refusant le trafic entrant utilisant le protocole (proto) UDP (to) en direction de (any) toute les
adresses en écoute sur votre machine sur le port (port) 514 en provenance (from) de 1.2.3.4

Source : https://doc.ubuntu-fr.org/ufw
Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
ADMINISTRATION RESEAU SOUS LINUX

FIREWALL
4. Pare-feu personnel Red Hat/CentOS

Voir: https://www.webhi.com/how-to/fr/comment-configurer-un-pare-feu-firewalld-centos-7-redhat-
rhel-almalinux/

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
Administration réseau sous Linux/Routage

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
Administration réseau sous Linux/Routage
1. Adresses IP et MAC

Chaque interface de chaque ordinateur sera identifiée par


• Son adresse IP : une adresse IP (version 4, protocole IP V 4) permet d’identifier un hôte et un sous-réseau.
• L’adresse IP est codée sur 4 octets - 32 bits. (les adresses IP V 6, ou IP next generation seront codées sur 16 octets - 128
bits).
• L’adresse mac de sa carte réseau (carte Ethernet ou carte wifi) sur 6 octets - 48 bits;
• Une adresse IP permet d’identifier un hôte.
• Une passerelle est un ordinateur qui possède plusieurs interfaces et qui transmet les paquets d’une interface à l’autre.
• La passerelle peut ainsi faire communiquer différents réseaux.
• Chaque carte réseau possède une adresse MAC unique garantie par le constructeur.
• Lorsqu’un ordinateur a plusieurs interfaces, chacune possède sa propre adresse MAC et son adresse IP.

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
Administration réseau sous Linux/Routage
1. Adresses IP et MAC
On peut voir sa configuration réseau par ifconfig :
$ ifconfig eth0

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


• On voit l’adresse MAC 00:B2:3A:24:F3:C4 et
packets:6 errors:0 dropped:0 overruns:0 frame:0 TX packets:16
l’adresse IP 192.168.0.2.
errors:0 dropped:0 overruns:0 carrier:5 collisions:0
• Cela signifie que le premier octet de l’adresse IP
txqueuelen:1000 RX bytes:1520 (1.4 KiB) TX bytes:2024 (1.9
est égal à 192, le deuxième 168, le troisième
KiB) Interrupt:10
Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
octet est nul, et le quatrième vaut 2.
Administration réseau sous Linux/Routage
2. Sous-réseaux
2.1 Classes de sous-réseaux

• Jusqu'aux années 1990, les adresses IPv4 étaient organisées en sous-réseaux.


• Chaque sous-réseau possède une adresse, qui est une partie de l’adresse IP des machines de ce sous-réseau.
• Par exemple, l’adresse IP 192.168.4.35 appartient au sous-réseau 192.168.4, parfois aussi noté 192.168.4.0.
• Les sous-réseaux sont organisés en classes.
• Chaque classe de sous-réseaux correspond à des réseaux pouvant contenir un certain nombre de machines.
• Classe A : les adresses de 1.0.0.0 à 127.0.0.0. L’identifiant du réseau est sur 8 bits et les identifiants de machine
sont sur 24 bits (plusieurs millions de machines par sous-réseau ;
• Classe B : les adresses de 128.0.0.0 à 191.255.0.0. L’identifiant du réseau est sur 16 bits et les identifiants de
machine sont sur 16 bits (plus de 65 000 machines par sous-réseau) ;
• Classe C : les adresses de 192.0.0.0 à 223.255.255.0.
• L’identifiant du réseau est sur 24 bits et les identifiants de machine sont sur 8 bits (au plus 254 machines par
Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
sous-réseau, numérotées de 1 à 254) ;
Administration réseau sous Linux/Routage
2. Sous-réseaux
2.2 Masque de sous-réseau

• Un masque de sous-réseau est une donnée sur 4 octets qui, avec l’adresse du sous-réseau, caractérise les IP du sous-réseau.
• Un bit du masque de sous-réseau est à 1 si pour toutes les adresses IP du sous-réseau, ce même bit est le même pour l’adresse
IP et le sous-réseau.
• Par exemple, pour le réseau de classe A 37.0.0.0 avec le masque de sous-réseau 255.0.0.0, les 8 premiers bits de toutes les
adresses IP du sous-réseau valent 37.
• Autre exemple : pour le sous-réseau de classe C 193.56.49.0 et le masque de sous-réseau 255.255.255.0, les 24 premiers bits
de toutes les IP du sous-réseau sont 193.56.49.
• On peut désigner un sous-réseau par son adresse et son masque, mais on peut aussi désigner le sous-réseau en donnant
seulement le nombre de bits du masque. On parle alors, pour reprendre les deux exemples précédents, du sous-réseau
37.0.0.0/8 ou du sous-réseau 193.56.49.0/24.

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
Administration réseau sous Linux/Routage
3. Routage

• Le routage permet de faire communiquer plusieurs


sous-réseaux.
• Une passerelle (en anglais gateway) est en
communication avec différents sous-réseaux sur
différentes interfaces, et assure la communication
entre les différents sous-réseaux.

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
Administration réseau sous Linux/Routage
3. Routage
3.1 Routes

• Une route définie sur une station est un chemin que doivent prendre les paquets à destination d’un certain

sous-réseau.

• Prenons l’exemple d’une station, appelée station 1, d’adresse IP 112.65.77.8 sur un réseau 112.0.0.0/8.

• Elle est connectée à une passerelle qui a pour IP dans ce réseau 112.65.123.3 sur son interface eth0. La

passerelle est aussi connectée au réseau 192.168.0.0/24 via son interface eth1 qui a pour IP 192.168.0.1.

• Si la station 1 veut communiquer directement avec la station, appelée station 6, d’adresse IP 192.168.0.2 sur

le réseau 192.168.0.0/24, trois condition doivent être réunies ;


Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
Administration réseau sous Linux/Routage
3. Routage
3.1 Routes

•Une route doit être définie sur la station 1 indiquant que les paquets à destination du réseau 192.168.0.0/24 doivent

passer par la passerelle 112.65.123.3. Pour cela, on peut utiliser la commande route :

route add -net 192.168.0.0/24 gw 112.65.123.3

•Une route doit être définie sur la station 6 indiquant que les paquets à destination du réseau 112.0.0.0/8 doivent

passer par la passerelle 192.168.0.1 ;

• Pour cela, on peut utiliser la commande route :

route add -net 112.0.0.0/8 gw 192.168.0.1

•La passerelle doit être configurée pour transmettre (ou forwarder) les paquets IP d’un réseau à l’autre, ce qui se fait

par l'une des commandes suivantes (les deux font la même chose, inutile donc de se répéter) :
Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications

echo 1 >/proc/sys/net/ipv4/ip_forward sysctl -w net.ipv4.ip_forward=1


Administration réseau sous Linux/Routage
3. Routage
3.1 Routes

• Remarque : Il faut refaire ces commandes après un redémarrage.

• Pour éviter de relancer ces commandes manuellement, on peut les mettre dans des

scripts d’initialisation au démarrage avec la commande update-rc.d (sous debian)).

• Pour ajouter un script my_ script à l’initialisation :

mv my_script /etc/init.d

update-rc.d my_script defaults

• Si l'IP-forwarding est activé via uns sysctl, le fichier standard de configuration de ce

paramètre est /etc/sysctl.conf, où la ligne est déjà en commentaire.

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
Administration réseau sous Linux/Routage
3. Routage
3.1 Routes

On peut voir l’état des routes avec la commande route -n.


Par exemple, sur la station 1 :

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
Administration réseau sous Linux/Routage
3. Routage 3.1 Routes
• Sur la station 6

• Pour supprimer une route, par exemple vers le réseau 193.86.46.0/24 via une passerelle 196.24.52.1, on fait :

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
Administration réseau sous Linux/Routage
3. Routage 3.1 Routes
• Sur la station 6

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
Administration réseau sous Linux/Routage
3. Routage
3.2 Route par défaut (gateway)

• Quand on a défini un certain nombre de routes sur une station, on peut définir une route spéciale pour les paquets IP à
destination des réseaux non prévus dans les autres routes.
• On appelle une telle route une route par défaut.
• En général, c’est la route qu’il faut employer pour aller sur internet.
• On emploie le réseau 0.0.0.0 (masque 255.255.255.255).
• Pour définir une route par défaut on peut employer la commande route.
• Par exemple, pour définir la route par défaut via la passerelle 194.56.87.1 :

• Pour supprimer cette même route :

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
Administration réseau sous Linux/Routage
3. Routage
3.3 NAT et masquerading

• Lorsqu'un hôte ayant une adresse IP sur un réseau local cherche à se connecter sur un réseau plus vaste, par exemple sur

internet, via une passerelle, cet hôte a besoin d’une adresse IP sur le réseau vaste.

• Pour cela, soit on demande à ce que les adresses du réseau local soient routées sur le réseau global, mais il faut alors

demander à réserver une plage d’adresses sur le réseau global, soit l’administrateur de la passerelle a la possibilité de

prêter l’IP de la passerelle aux machines du réseau local.

• Pour cela, on utilise iptables avec NAT. Par exemple, si la passerelle se connecte à internet via son interface eth0, il suffit

d’exécuter la commande suivante sur la passerelle :

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
Administration réseau sous Linux/Routage
3. Routage
3.3 NAT et masquerading
• Toute machine du réseau local (par exemple 192.168.0.0/24) qui se connecte à internet via cette
passerelle aura alors l’adresse IP de la passerelle sur internet.
• On peut aussi donner aux machines du réseau local une autre adresse IP que l’on spécifie avec –to :

• Nous aurons un aperçu plus complet des possibilités d’iptables dans la documentation sur Netfilter.

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications
Administration réseau sous Linux/Routage
3. Routage
3.4 Redirection

• Il est également possible de modifier la destination d'un paquet.


• C'est utile lorsqu'on veut cacher une machine derrière une autre : le client se connecte à un serveur,
qui va transmettre tous les paquets à un autre.
• Pour le client c'est transparent, c'est comme si c'était le premier serveur qui répondait.
• On appelle cela du Destination NAT (DNAT).
• Exemple pour rediriger toutes les connexions du port 22 vers le serveur 192.168.1.12 :

Cours réalisé et adapté par Hassami COMPAORE, Inggenieur en ingeniérie Informatique et télécommunications

Vous aimerez peut-être aussi