FICHE COURS LINUX 1/43
Table des matières
I- Le logiciel libre ........................................................................................................................................... 3
1- Qu’entend-on par libre .......................................................................................................................... 3
2- Les type de licences libre ....................................................................................................................... 3
3- Histoire ................................................................................................................................................... 4
4- Les différentes distributions .................................................................................................................. 4
II- Présentation de Debian ............................................................................................................................ 5
1- Les différentes versions de Debian ........................................................................................................ 5
2- Première manipulation .......................................................................................................................... 6
2.1- Le bureau Gnome ............................................................................................................................... 6
2.2- Les différente consoles ....................................................................................................................... 6
3- L’éditeur Vi ............................................................................................................................................. 7
III- La manipulation des fichiers sous Linux ................................................................................................ 9
1- De MS-DOS à Linux ................................................................................................................................. 9
2- Caractéristique Linux/Unix .................................................................................................................... 9
3- Commandes de manipulation de répertoire ....................................................................................... 10
IV- Le system de fichier .............................................................................................................................. 12
1- L’arborescence ...................................................................................................................................... 12
2- Les périphériques ................................................................................................................................. 12
3- Montage des périphériques ................................................................................................................. 13
4- Les principales commandes systèmes ................................................................................................. 14
5- Archivage et compression .................................................................................................................... 15
V- Installation d’un logiciel .......................................................................................................................... 16
1- Histoire ................................................................................................................................................. 16
2- DPKG ..................................................................................................................................................... 16
3- DSELECT ................................................................................................................................................ 16
4- APT-GET ................................................................................................................................................ 17
5- APTITUDE .............................................................................................................................................. 17
6- SYNATIC ................................................................................................................................................ 17
7- Problématique des dépendances entre fichiers ................................................................................. 17
8- Définir les sources des packages ......................................................................................................... 18
9- Installation de divers packages graphique .......................................................................................... 18
VI- Le model Client/Serveur ...................................................................................................................... 19
1- Le model Client/Serveur ....................................................................................................................... 19
2- Protocole et port de communication ................................................................................................... 19
3- Les sockets ............................................................................................................................................ 19
FICHE COURS LINUX 2/43
4- Le service SSH........................................................................................................................................ 20
VII- Configuration réseaux .......................................................................................................................... 21
1- La configuration de la carte réseaux ..................................................................................................... 21
2- Le routage ............................................................................................................................................. 22
3- La Nat .................................................................................................................................................... 22
VIII- Gestion des droits ................................................................................................................................ 26
1- La gestion des utilisateurs ........................................................................................................................ 26
1.1- Les utilisateurs ................................................................................................................................... 26
1.2- Les groupes ........................................................................................................................................ 26
1.3- Sécurité des mots de passe ............................................................................................................... 26
2- La protection des ressources ................................................................................................................... 27
2.1- Les informations de la commande ls –l ............................................................................................. 27
2.2- La gestion de la propriété ................................................................................................................. 27
2.3- La gestion des droit de fichier ........................................................................................................... 27
a- Avec UGO ....................................................................................................................................... 28
b- Par adition...................................................................................................................................... 28
c- Droit et propriété par défaut ............................................................................................................ 29
3- Le partage de fichier ................................................................................................................................ 29
IX- DHCP ..................................................................................................................................................... 31
1- Introduction ............................................................................................................................................. 31
2- Installation et Configuration du serveur DHCP ........................................................................................ 31
3- Configuration du serveur ......................................................................................................................... 31
X- Le DNS ...................................................................................................................................................... 34
1- Théorie .................................................................................................................................................. 34
1.1- Définition ....................................................................................................................................... 34
1.2- Notion de domaine DNS ................................................................................................................ 34
1.3- DND et Internet ............................................................................................................................. 34
1.4- Fonctionnement de requête DNS .................................................................................................. 35
2- Présentation des zone, du transfert de zone et délégation de zone ................................................... 35
3- Recherche indirecte .............................................................................................................................. 35
4- Installation et configuration du serveur DNS sous Debian avec bind9 ................................................ 35
4.1- Le fichier hosts.conf ....................................................................................................................... 36
4.2- Le fichier hosts ............................................................................................................................... 36
4.3- Le fichier resolv.conf ...................................................................................................................... 36
4.4- Configuration du DNS avec Bind 9 ................................................................................................. 36
FICHE COURS LINUX 3/43
I- Le logiciel libre
1- Qu’entend-on par libre
Free = 1) libre, 7) gratuit
Les logiciel gratuit sont rarement complétement libre (interdiction de le donné à quelqu’un ou de
l’amélioré).
Pour éviter la confusion, « free » a étai rebaptisé « open source » ou « logiciel libre ».
Logiciel libre = accès au code sources
Logiciel (Software) texte du programme (Code source) compilation
programme exécutable (binaire).
Il est impossible de retrouver le code source à partir du binaire après une compilation.
2- Les type de licences libre
Les logiciel propriétaire utilise le « copyright », « droit d’auteur » pour restreindre la liberté, méthode pour
protéger les droit de création.
Les logiciels libres utilisent le « copyleft », « gauche d’auteur » pour garantir la liberté. Le copyleft permet
la modification ou l’étendue du logiciel qui engendra aussi un logiciel libre. Transmission de liberté.
Les licences libre encourage la coopération entre utilisateur mais pas de la même manier, et chacune a ses
priorité.
Il y a deux grandes familles de licence libre : les copyleftées et les non copyleftées
Le domaine public : pas de licence
La licence BSD : non copyleftée, si on modifier le programme on peut redistribuée sous une autre
licence, même propriétaire
La licence GPL : (GNU General Public License), GNU est un acronyme récursif pour GNU is Not Unix).
Copyleftée, correspond à une licence BSD avec une obligation de resté GLP dès qu’on utilise un
bout de code GLP. C’est celle la plus utilisé au monde.
La licence LGPL : copyleftée comme la GPL mais avec la possibilité d’avoir des dérivée non GPL ou
commerciaux. Lien entre les logiciels commerciaux et les logiciels libres.
Les autres (QPL, NPL, MPL, Artictic, Xconsortim) : dérive des 3 types de licence ci-dessus
Les libertés fondamentales des logiciels libres sont :
FICHE COURS LINUX 4/43
Exécutions des programmes
Etudier le fonctionnement
Redistribué des copies
Amélioration et publication
Les logiciels suivent violent l’une ou plusieurs de ses libérées. Les « propriétaires » (payant), les
« freewares » (gratuit mais non libre), les « sharewares » (version limité).
3- Histoire
1969 : 1er version d’Unix par Thompson et Ritchie
1978 : à l’université de Berkeley, Joy distribue Unix sous licence BSD pour d’autre université
1982 : version commercial d’Unix en licence propriétaire
1984 : plus de licence propriétaire, accès au code source et mise en commun pour des améliorations.
Naissance de la « Free Software Foundation » (FSF) et du projet GNU par Stallman= licence GPL avec
copyleft
1991 : 1er version du noyau Linux par Torvals avec une plateforme de type UNIX = GPL
1993 : Debian distribue sa 1ère version de Linux
2012 : The Precise Pangolin version 12.04 LTS d’Ubuntu (mise à jour de 5 ans)
2013 : Debian 7.1 « Wheezy » version stable de Debian GNU/Linux
La dernière version stable du noyau Linux est la 3.11
4- Les différentes distributions
Linux désigne un noyau du SE. Le noyau Linux vient donc à l’intérieur de la distribution.
Une distribution de Linux c’est :
Un noyau Linux
Des programmes
Une méthode pour installer, désinstaller les programme
Un programme d’installation du SE
Il y a plusieurs distribuons : Fedora 19 (populaire, débutant), Open Suse 12.3 (simple utilisation), Mandriva
Business Server 1.0 (simple utilisation).
FICHE COURS LINUX 5/43
II- Présentation de Debian
1- Les différentes versions de Debian
En 1993, 1er version de Debian la 0.0.1, les versions s’enchaîne en utilisant des noms du film Toy Story. Au
début Debian comporté quelque programmeur maintenant ils sont un millier sur la planète à la développer
et à s’occuper de plus de 29 000 packages.
A chaque version de Debian, il y a 3 sorte de version : stable, test, instable.
Nom Type Avantage Inconvénient Utilisation
Wheezy Stable stabilité et
mises à jour de
sécurité
suivies
aucune
évolution des
paquets
pour les serveurs et les utilisateurs « normaux »
Jesse Test paquets plus
nombreux et
plus
récents
quelques
bug,
évolution
permanente
sert à élaborer la future version stable de Debian,
adaptée pour
l’utilisation courante
d’utilisateurs expérimentés
Sid Instable paquets encore
plus nombreux
et
les plus récents
possible
logiciels peu
stable
ou pas testés,
évolution
permanente
accueille les nouvelles versions
des logiciels avant qu’ils ne soient testés, adaptée
aux utilisateurs expérimentés prêts à supporter des
bugs potentiellement gênants pour participer à
l’élaboration de Debian
Organisation du disque dur :
Les disques dur sous Linux son nommer de façon différente :
« sd » pour SATA, USB, SCSI = sérié
« hd » pour IDE, CD
Exemple :
Sda1 : sd= le type de disque dur ; a= le numéro du disque ; 1= le numéro et type de partition
Hdb2 : hd= le type de disque dur ; b= le numéro du disque ; 2 = le numéro et type de partition
FICHE COURS LINUX 6/43
La partition logique ne se distingue pas par le BIOS.
Les réseaux se nomme sous la forme de : ethx
Le chargeur de démarrage :
Le chargeur de démarrage (boot loader) est le 1er logiciel qui s’exécute quand un ordinateur démarre. C’est
lui qui charge et transfère le contrôle au logiciel noyau d’un SE. Le noyau à son tour initialise le reste du SE.
Il existe deux chargeurs « LILO » et « GRUB » qui se charge dans le MBR.
La partition « swap » ou « partition d’échange », quand notre RAM est saturé une partie sera transférai
vers cette partition, elle doit être 1x a 1,5x de la capacité de la RAM.
Le compte d’utilisateur :
« root » est le compte administrateur sur Linux.
Les package :
C’est un logiciel ou une partie que l’on a mis dans un paquet qui prend la forme d’un fichier avec un nom
particulier.
« Nom-du-logiciele_numero-de-version_nom-de-l’architecture.deb »
Les modules :
Ce sont des morceaux de noyau qu’on peut inséré ou retiré sans rebooter l’ordinateur.
Le système de gestion des packages :
Le système de gestion des packages chez Debian s’appelle APT. Pour fonctionné il a besoin de connaitre la
source des package, cd, réseau, DD.
Nous utiliserons le programme apt-get. Exemple « apt-get install telnet ».
2- Première manipulation
2.1- Le bureau Gnome
Le bureau Gnome est environnement graphique facile et libre. Il utilise le serveur graphique appelé
serveur x ainsi qu’un gestionnaire de fenêtre.
- Sous Linux, il y a plusieurs bureaux, « CTR+ALT+fleche »
- La patte d’ourse de Gnome remplace le bouton démarrer de Windows
- Tableau de bord en haut et programme ouvert en bas, possibilité de les inversé
- Le gestionnaire de fichier de Gnome s’appelle « Nautilus »
2.2- Les différente consoles
Il y a 6 modes de consol, le 1er se nomme « tty1 ». Pour y accédé « Ctrl-Alt-F1 ».
FICHE COURS LINUX 7/43
Le Shell est ce qui s’exécute quand on se logue. C’est lui qui présente le prompt, qui envoie les commandes
au système. Il existe un vaste choix de Shell chez Linux par défaut est présent le Shell nommé bash.
En mode console pour se déconnecter de la session en cour : logout ; exit ; CTRL+D
3- L’éditeur Vi
http://www.commentcamarche.net/faq/7961-petit-tuto-sur-vi-vim#lecon-1-1-deplacement-du-curseur
http://www.youtube.com/watch?v=UIUg2Ktwccw
Attention: vi fait la différence entre minuscules et majuscules! Ainsi, p et P sont des commandes
différentes. D'autre part, on peut donner un facteur de répétition à quasiment toutes les commandes en
tapant ce nombre avant la commande (ex. 20k remontes de 20 lignes): il faut donc faire attention à ce
qu'on fait dès qu'on s'approche du pavé numérique!
En mode commande :
0 Début de ligne
$ Fin de ligne
gg Déplace le curseur au début du fichier
G Déplace le curseur à la fin du fichier
x, ?x Supprime un caractère ou coupe
dd, ?dd Supprime la ligne entière
yy, ?yy copie
p coller
r remplace un seul caractère
cw Pour changer un mot jusqu’au prochain espace
dw Supprime le mot après le curseur
u Revient en arriérer
CTRL+R Annule les annulations
/mot_cherché Trouve un mot
n Affiche le mot suivant
h, l, k, j Déplacer gauche, droite, haut, bas
FICHE COURS LINUX 8/43
CTRL+G Indique ou on est
En mode insertion :
i Insère avant le curseur
I Insère au début de la ligne
a Insère après le curseur
A Déplace le curseur au début du fichier
o Insère sur la ligne du bas
O Insère en haut de la ligne
En mode ex :
:w sauvegarde
:wq ou ZZ Enregistré et quitter
:q Pour sortir
:q! Sortit sans enregistre
:file/nom Sauvegarde sous le nom
:? Permet d’aller à la ligne …
:h L’aide
FICHE COURS LINUX 9/43
III- La manipulation des fichiers sous Linux
1- De MS-DOS à Linux
- Les minuscules et les majuscules sont deux choses différentes chez Linux, sensible à la casse
- Evité d’utilisé les accents et les espace pour nomme les fichiers, utilisé _
- \ et remplacée par /
- Dans les commandes on utilisera le \ devant les caractères spéciaux
- ~ répertoire personnel
- Le . représente le répertoire courant
- Les .. représente le répertoire parents
- Le chemin absolu représente le chemin complet
- Le chemin relatif représente le chemin à partir du répertoire courant
- Un fichier peu avoir plusieurs extensions
- Il n’y a pas d’extensions destiné aux programme exécutable mails ils auront un attribue exécutable
« .deb »
- Les fichiers cacher commence par un .
- ? représente un seul caractère
- * représente plusieurs caractères
- Les touches TAB et ECHAP permettent de compléter les commandes en cour de frape
- CTRL+C arête le processus en cour
- CTRL+D permet de fermer la session comme exit ou logout
- CTRL+ALT+FN se place sur la console virtuelle numéro n
- On obtient de l’aide en tapent man « commande »
- Bash est le Shell installé par défaut dans toutes les configurations
- Une ligne de commande suivit « & », permet de lancer un programme en tache de fond
- ; est un séparateur de commande
- # est un commentaire
2- Caractéristique Linux/Unix
Le noyau Linux est un programme chargé au démarrage de gère les ressources de la machine et d’autre
chose.
Toute application doit passer par le noyau pour accéder à un périphérique au moyen d’un appel système.
Les fichiers d’une machines sont organisés en arborescence. Les fichiers d’un utilisateur ou d’une
application forment une sous-arborescence. En partant de la racine / on rencontre des noues, les
répertoires, ou les feuille, les fichiers. En nommant un fichier par le chemin qui le relie à la racine, on
l’identifie de manier unique.
Linux est multitâche et multi-utilisateur :
- On peut lancer plusieurs processus simultané
- Plusieurs utilisateurs peuvent faire de même
FICHE COURS LINUX 10/43
3- Commandes de manipulation de répertoire
Nom Détails
pwd Indique le répertoire courant
ls Indique les fichiers dossier de répertoire courant
ls -l Indique les fichiers dossier de répertoire courant avec plus de détail
cd /home/eleve Se place sur le dossier élevé en chemin absolu
cd BTS2/ARLE Se place sur le dossier Arles en chemin relatif
cd .. Revient au dossier parent
cd ../BTS1/Commun Revient au dossier parent pour descendre sur le dossier Commun
cd permet d’aller à la racine
cd ./04-
Arborensece/BTS2/ARLE
Se rentre dans le répertoire Arles à partir du répertoire de l’utilisateur
(relatif)
mkdir Arles Crée un répertoire
rmdir Eleve Supprimé le dossier élevé
rm –r Eleve Supprimé le dossier par récursivité
cp fichier1 fichier2 Copier le fichier1 en le renommant fichier2
cp fichier1 ../Commun Coppi le fichier1 dans le répertoire Commun
cp –r Ressources Eleve Copier tous le dossier ressources dans élevé
mv fichier1 ../Eleve déplacer fichier1 dans le dossier parents eleve
touch fichier Cree un fichier
FICHE COURS LINUX 11/43
rm fichier1 Supprimé le fichier1
rm –f fichier1 Supprimé le fichier1 définitivement
rm – r ../Eleve Supprimé ?????
cat nom_du_fichier Affiche-le contenue du fichier avec petit contenue
more nom_du_fichier Affiche le contenue du fichier avec grande contenue
find /home/ -name 04-* Cherche tous les fichiers qui on le nom 04-
grep VI fichier1.txt Il cherche VI dans le fichier1
FICHE COURS LINUX 12/43
IV- Le system de fichier
1- L’arborescence
Répertoire Description
/ Répertoire racine, point d’entrée du system de fichier
/bin Répertoire contenant les exécutables de base
/boot Répertoire contenant le noyau Linux
/cdrom Répertoire dans lequel on montera les CD-ROM
/dev Répertoire contenant des fichiers spéciaux nommés devices qui permettent le lien avec les
périphériques utilisé par le système
/etc Répertoire contenant tous les fichiers de configuration du système et les scripts de
démarrage
/home Répertoire contenant les fichiers personnels des utilisateurs
/media Répertoire vide dans lequel on montera d’autres systèmes de fichier
/mnt Répertoire vide dans lequel on montera d’autres systèmes de fichier
/root Répertoire personnel de l’administrateur
/sbin Répertoire contenant les exécutables destinés à l’administration du système
/tmp Répertoire contenant des fichiers temporaires utilisé par certain programme
2- Les périphériques
Chaque périphérique du système est représenté par un fichier, à quelque exception près (clavier carte
réseau et graphique). Ces fichiers ce trouve dans le répertoire /dev.
- Le fait d’écrire dans tel fichier va envoyer des commandes au périphérique
- Le fait de lire dans tel fichier permet de recevoir des données du périphérique
Fichier Périphériques
/dev/psaux Le port PS/2 de la souris
/dev/hda 1er disque IDE
/dev/eth0 1er carte réseau
FICHE COURS LINUX 13/43
/dev/sda 1er disque série
3- Montage des périphériques
Sous Linux chaque système de fichier est monté quelque part dans l’arborescence
- La partition racine est monté dans le dossier /
- Les autres partitions dans les sous-dossiers de la partition racine
C’est-à-dire pour accéder au fichier d’un cd-rom il ne faut pas indique la lettre comme chez Windows mais
accéder au dossier où il est monté.
Pour accéder au fichier d’une unité de stockage il faut au préalable en monter le système de fichier et le
démonté une fois l’utilisation terminer.
Le montage consiste donc à rendre accessible un système de fichier.
Remarque :
- Il ne faut pas retirer l’unité de stockage avant de l’avoir démonté sinon on pourra lire encore les
fichiers
- Il est impossible de démonter un système de fichier si le répertoire qui le contient n’a pas été
quitté
- Le répertoire de montage doit exister avant l’opération de montage
- Il ne faut pas confondre le périphérique (/dev/usb) et le point de montage (/media/usb). Les
fichiers ne sont accessibles qu’a partie du point de montage
Commande de montage : mount –t '’ système de fichier ‘’ ‘’périphérique’’ ‘’point de montage’’
Commande de démontage : umount –t ‘’périphérique’’ ou umount –t ‘’point de montage’’
Listé les périphériques montés : mount
Nomination des systèmes de fichier chez Linux :
Iso9660 CD-Rom
vfat Windows 9x
MS-DOS Dos
NTFS Windows NT
Ext4 Linux l=journalisé
Utilisation du fichier /etc/ fstab :
FICHE COURS LINUX 14/43
La configuration du fichier « fstab » permet de rendre le montage moins fastidieux. Chaque ligne de ce
fichier ce rapporte a un seul périphérique. Il suffit tout simplement décrire directement en une ligne le
system de fichier qu’on veut monter ou le mètre en commentaire si on veut le démonté.
Périphériques Point de montage Type Option Défragmentation Vérification
4- Les principales commandes systèmes
Commandes Désignation
halt ou shutdown –h now Eteindre l’ordinateur (now : en seconde)
reboot ou shutdown –r now Redémarre l’ordinateur
su Changer d’utilisateur
ps Liste les processeurs avec leur propriété et leur PID
ps -aux Liste l’intégralité des processeurs
kill nompid ou killall Demander au processeur de se terminer tous seul
xkill Permet d’envoyer un signal au processeur
df
du
uptime
who
w
lspci
uname –a
FICHE COURS LINUX 15/43
clear
fsck
mkfs
fdisk
5- Archivage et compression
Archivage : Ce terme est utilisé en informatique pour la réunion en un seul fichier de nombreux autres
fichiers. Ce fichier d'archive se prête à la mise à jour, au stockage ou au transfert par réseau.
Compression : La compression de données ou codage de source est l'opération informatique consistant à
transformer une suite de bits A en une suite de bits B plus courte pouvant restituer les mêmes
informations en utilisant un algorithme particulier. Opération de codage, elle raccourcit la taille (de
transmission ou de stockage) des données au prix d'un effort de compression et de décompression. La
décompression est l'opération inverse de la compression.
Il existe plusieurs utilitaires d’archivage et de compression :
- zip, gzip (plus rapide), bzip : compression
- tar : d’archivage
Faire Défaire Description
gzip fic gunzip fic.gz Compresse et décompresse
gzip –r rep gunzip –r rep Compresse et décompresse-les sous fichiers
bzip2 fig bunzip2 fic.bz2 Compresse et décompresse
zip fic_dest fic_src unzip fig.zip Compresse et décompresse et copiant
zip –r fic_dest rep_src unzip fic.zip Compresse et décompresse-les sous fichiers
tar –cvf fig.tar rep tar –xvf fic.tar
tar -zcvf fic.tgz rep tar –zxvf fic.tgz
tar –jcvf fic.tbz rep tar –jxvf fic.tbz
C= crée l’archive
V= affiche le détail
F= crée l’archive dans le fichier
FICHE COURS LINUX 16/43
V- Installation d’un logiciel
1- Histoire
Au début les utilisateurs devait récupère le code sources et compiler eu même le programme a installé.
Puis Debian s’est occupé de la gestion des paquets qui a était appeler dpkg. Puis est apparue apt (Avanced
Packaging Toot), rapide, pratique et efficace pour installer et qui gère automatiquement les dépendances.
Les dépendances ce sont des logiciels qui dépendent d’autre logiciel pour fonctionné par exemple
WireShark (interface graphique) avec WinPcap (qui capture les trames)
Couche Programme Fonction
Graphique Synaptic Installateur graphique
Supérieur Apt-get, dselect et aptitude Gestion intelligente : source,
version, dépendance, conflit
Inferieur Dpkg Installation et retrait
2- DPKG
DPKG ne gère pas les dépendances des paquets donc il est conseil de l’utilisé en ultime recours.
Il servira à installer des paquets qui ne sont pas dans les distributions grâce au téléchargement du paquet
en en l’exécutant avec la commande DPKG.
Commende Fonction
dpkg -i nom_paquet1 nom_paquet Install le paquet
dpkg -r nom_paquet Désinstalle le paquet sans supprimer les fics
de configuration
dpkg --force-all –purge nom_paquet Force la désinstallation et supprimer les fics
de configuration
dpkg -l Affiche les paquets installés
dpkg-reconfigure nom_paquet Permet de reconfigurer certain paquet
3- DSELECT
Dselect est une alternative à apt-get. Il a certain avantage par rapport à apt-get, mais il a aussi des
inconvenant, notamment ca complexité pour les débutant pour la dépendance des paquets.
FICHE COURS LINUX 17/43
4- APT-GET
Il gère de manier intelligente la gestion des packages. On définit les sources des packages dans un fichier
de configuration et il gère l’installation et le retrait des packages en tenant compte des dépendances ainsi
que le téléchargement des package s’ils ont une source réseau (appeler dépôt).
Pour fonctionner il a besoin de connaitre la source des pacages, CD, HTTP, FTP, ou donnée sur le disque.
Cette méthode permet de ne pas avoir de problème pour les dépendances entre les fichiers.
Les commandes sont :
Commandes Description
apt-get update MAJ de la liste des packages disponible
apt-cache search ‘mots_rechercher ‘ Cherche le nom d’un package
apt-get install ‘nompackege1’ ‘nompackege2’ Installe le paquet
apt-get upgrade MAJ des packages présent
apt-get remove ‘nom_packege’ Désinstalle sans supprimer les fichiers de
config et les dépendances
apt-get autoremove ‘nom_packege’ Idem que remove mais supprime les
dépendances
apt-get autoremove --purge ‘nom_packege’ Les fichiers de config sont supprimés
Pour mettre à jour à partir d’internet il faut modifier le fichier sourses.list
5- APTITUDE
C’est un gestionnaire des paquets basés sur apt-get qui permet de retenir les dépendances installé.
6- SYNATIC
C’est un gestionnaire graphique des paquets de Debian en s’appuyant sur APT.
7- Problématique des dépendances entre fichiers
Pour libérai de la place et facilité les mises à jour, les logiciel dispose de lien dynamique (équivalent au DDL
de Windows). Toute la version ne s’appuie pas sur les mêmes versions de librairie dynamique. Pour
répondre à ce problème on a des méthodes d’installation différente.
- Par paquetage
- Par compilation du code sources
FICHE COURS LINUX 18/43
8- Définir les sources des packages
Pour installer des programme ou des services, le système doit savoir où se trouvent les sources ou les
binaires de ses programmes. Soit il les cherche sur le CD d’installation soit sur Internet. Il faut donc
indiquer au système ou se trouve les archive sur internet.
Les dépôts APT sont des serveurs qui contiennent un ensemble de paquet. Il existe différente sources CD,
réseau qu’il faut configurer pour y avoir accès. Cela se fait sur le fichier /etc/apt/sources.list on met en
commentaire ou pas pour accéder aux sources.
9- Installation de divers packages graphique
FICHE COURS LINUX 19/43
VI- Le model Client/Serveur
1- Le model Client/Serveur
Apres avoir définit le type physique du réseau et le SE pour la communication entre les machine, il reste à
installer et configurer le service réseau sur le serveur qui vont être proposé au machine client.
Le client consomme des ressources
Le serveur fourni des ressources
Il y a un fournisseur de ressources pour plusieurs consommateurs. Le client est toujours à l’origine de la
connexion, il envoie une requête au serveur qui lui répond. Pour communiquer il faut passer par un
protocole de communication.
2- Protocole et port de communication
Pour communiquer :
- Avec qui ?
- Comment ?
- Pour faire quoi ?
Le protocole permet de savoir comment communiquer.
Le port permet de savoir ce qu’on veut faire lors de la connexion. Il indique l’application à laquelle les
donné sont destiné.
Il faut donc repérer les modalités des échanges référencés dans le RFC.
Ces protocoles et ces ports sont codés avec des numéros attribués par l’IANA.
Un serveur dispose de numéro de port fixe entre 0 et 1023.
Le client choisi des ports aléatoirement toujours entre 1023 et plus car les autres sont réservés au serveur.
Dans la requête client il y a toujours 2 numéros de port :
- Le port source
- Le port de destination
Les serveurs doivent toujours rester actifs pour répondre au client (pas de prise de RDV), il dispose donc de
daemons, petit programme tournant en tache de fond et qui écoute son numéro de port pour répondre à
tout moment. On dit que le port et ouvert ou à l’écoute.
3- Les sockets
Une connexion sert à communiquer entre client et serveur. Pour cela chacun doit connaitre l’adresse de
son interlocuteur. Le socket répond à cette demande.
FICHE COURS LINUX 20/43
Un socket est un numéro de port associé à une adresse IP. Il sert a communiqué avec une application d’une
machine via son port d’écoute. C’est un identifiant unique d’une connexion.
- Sur un serveur il reçoit plusieurs requêtes d’un même client pour un service, chaque requête aura
un numéro de port sources différent
- Si un serveur reçoit plusieurs requêtes de client différent qui par hasard auraient utilisé le même
numéro de port source, chaque requête aura un numéro IP différent
La commande netstat permet d’observe les ports qui sont à l’écoute.
4- Le service SSH
C’est comme Telnet mais ce protocole permet d’avoir une connexion sécurisé entre le client SSH et le
serveur.
FICHE COURS LINUX 21/43
VII- Configuration réseaux
1- La configuration de la carte réseaux
Désinstaller network-manager : apt-get remove network-manager
Pour lister les interfaces : ifconfig
Avant de configurer les interfaces réseau il faut toute les descendre et désinstaller network-manager pour
éviter la configuration automatique.
ifdown nom_interface
Après et avant la configuration d’une interface il faut stopper et relance le service après la configuration à
l’aide des commande suivante:
/etc/init.d/networking stop
/etc/init.d/networking restart
/etc/init.d/networking start
Pour configurer une interface aller dans : /etc/network/interfaces
# The eth0 interface Nom en commentaire
auto eth0 Montage de l’interface au démarrage
iface eth0 inet static Donne une étiquette et met l’interface en statique
address 192.168.0.179 IP de l’interface
netmask 255.255.255.0 Masque de l’IP
broadcast 192.168.0.255 Adresse de diffusion du réseau
gateway 192.168.0.1 Passerelle
Pour configurer le DNS : /etc/resolv.conf
nameserver 89.2.0.1
Pour changer l’adresse réseaux de l’interface avec une autre étiquette la commande est :
ifdown nom_interface
ifup nom_interface=nom_etiquete
FICHE COURS LINUX 22/43
Pour savoir si la carte réseau est bien détecté :
lspci | grep Ethernet
2- Le routage
Pour active le routage sur Debian il faut activer la fonction forwarding IP. Pour cela il faut dès
décommander et modifier la ligne ci-dessous :
/etc/sysctl.conf : net.ipv4.ip_forward=1
Puis redémarre la machine ou utilisé la commande ci-dessous pour une prise en compte immédiate :
sysctl net.ipv4.ip_forward=1
route =permet de voir la table de routage
Pour ajouter une route :
route add –net IP_destination netmask Masq_Destination gw passerel dev nom_interface
Les routes s’efface au redémarrage, il faut ……
traceroute = permet de connaitre les passerelles franchie
arp = permet de connaitre les adresse mac connue par la carte
ping = pour faire un ping sur une IP
Le logiciel mtr permet de connaitre toutes les passerelles franchies
3- La Nat
Lorsqu’on a une adresse en local, elle est privée donc elle n’est pas reconnue par les routeurs d’Internet (IP
non routable). Il faut alors camouflet notre adresse privé et se faire passer pour une autre pour pourvoir
recevoir la réponse. Donc il faut faire de la translation d’adresse appeler masquage (masquerade) sous
linux.
Lorsqu’on envoie une information sur internet, le routeur :
1. Récupère notre socket de votre ordinateur émetteur, par l’interface privée
2. Remplace notre IP par la sienne (celle de l’interface publique)
3. Remplace votre port de réponse X par un qu’il choisit lui-même Y
4. Tien à jour une table avec votre socket (IP privé + port X) et le numéro de port Y
5. Transmet la requête à votre place, avec le socket qu’il construit (son IP + port Y)
Lors de la réception de la réponse, le routeur :
1. Récupère la réponse sur son port Y
FICHE COURS LINUX 23/43
2. Remet dans la réponse votre IP à la place de la sienne
3. Vous transmet la réponse sur votre port X
Mise en œuvre de Netfilter/Iptables
Netfilter est une pare-feu open source. Iptables, est l’interface qui configure Netfilter. Les commandes se
supprimer a redémarrage de la machine, mais on peut les sauvegarder.
Iptable-save > nom_fichier
Iptable-restore < nom_fichier
Pour éviter de relancer à chaque démarrage le fichier, possibilité de faire un script qui sera exécuter
automatiquement en format exécutable avant d’être copier dans :
/etc/network/if-pre-up.d/iptable-star = pour qu’il s’exécute avant la config des interfaces
/etc/network/if-post-down.d/iptable-stop = pour qu’il s’exécute après la de configuration des interfaces
Quelle que soit l’origine et la destination les paquets vont entrer par le même point et en sortir par le
même autre point. Netfilter se présente comme une série de 5 « hooks », sur lesquelles des modules de
traitement des paquets vont se greffer. Dans Netfilter il y a trois tables pour trois principales fonctions,
chaque table permet de définir des règles, sur des chaines particulières, qui enquilleront les paquets qui
répondent à certains critères.
Netfilter est capable de :
- Filtrage des paquets
- Opération de Nat
- Opération de marquage des paquets
FICHE COURS LINUX 24/43
Les tables et leurs chaines :
- Filter :
o INPUT : décide du sort des paqueter entrant localement sur l’hôte
o FORWARD : les paquets qui traversent l’hôte, suivent les routes
o OUTPUT : paquets émis par l’hôte local
- NAT :
o PREROUTING : translation d’adresse de destination
o POSTROUTING : translation d’adresse sources
o OUTPUT : modifier la destination des paquets générés localement
- MANGLE (marcage de trame):
o Marquage des paquets va permettre un traitement des paquets marquer dans les tables de
routage. Il peut se faire sur les 5 chaine
Les cibles :
Les règles de pare feu on plusieurs rôle
- Les cibles de base :
o ACCEPT : on laisse passer
o DROP : laisse tomber
- Quelque cible étendue :
o LOG : active l’enregistrement du journal
o REJECT : envoie un paquet d’erreur et laisse tombe le paquet
o MASQUERAD : modifier l’adresse sources du paquet
POSTROUTING : port les adresse IP assigné dynamiquement
o SNAT : modifie l’adresse sources du paquet
o DNAT modifier l’adresse de destination
Les options de la commande Iptables :
Translation d’adresse :
Iptables -t nat -A POSTROUTING -o Eth0 -j MASQUERADE
Input
Forward
Postrouting
FICHE COURS LINUX 25/43
table postourting
chaine
sortie Interface sortie action
Translation de port :
Iptable
s
-
t
na
t
-
A
PREROUTIN
G
-
i
Eth
0
-
p
-
tc
p
--
dro
p
2
2
-
j
Dna
t
--
t
o
-
destinatio
n
192.168.2.100 :
22
Pour filtrer :
-t Filter -A FORWARD -o Eth1 -dport 80 -ptcp -j DROP
Numero de port des
FICHE COURS LINUX 26/43
VIII- Gestion des droits
1- La gestion des utilisateurs
Les informations liée au utilisateur et au groupe se trouve dans : /etc/adduser.conf
Les utilisateurs crée se trouveront dans le répertoire /home qui seront regrouper dans un dossier nommer
par leur nom d’utilisateur puis un dossier pour leur grouper nommer par le nom d’utilisateur par défaut.
La variable skel permet de configurer la façon dont est organisation le répertoire personnel à la création de
leur compte.
Chaque utilisateur est identifié de manière unique nommé par un ID ou un UID qui varie de 1000 à 29 999.
1.1- Les utilisateurs
1.2- Les groupes
Chaque groupe un a identifient : group ID ou GID
add group [option] nom_groupe Ajouter un groupe
dell group [option] nom_groupe Supprimer un group
/etc/group Liste des groupes
1.3- Sécurité des mots de passe
Sur une machine les mots de passe sont normalement stoker sous forme cryptée. Pour cracker un mot de
passe, la solution consiste à crypter un mot de passe clair et vérifier s’il correspond au mot de passe crypté.
# add user [--home /home/commun] [--in group eleves] nom_utilisateur Pour crée un utilisateur
/etc/passwd Liste des utilisateurs
/etc/shadow Liste des mots de passe
dell user [option] nom_utilisateur (ne supprime pas les fichiers) Pour supprimer un utilisateur
passwd nom_utilisateur Changer de mot de passe
FICHE COURS LINUX 27/43
Un bon mot de passe est un mélange d’au moins six caractère (majuscule, minuscule, chiffre, caractère
spéciaux). Mais il doit être facile à retenir.
1- La protection des ressources
2.1- Les informations de la commande ls –l
Ls –l permet d’avoir plus d’information sur les fichiers
Type Droit NB_inodes User Group Taille Date-heure Nom
- pour les fichiers, d pour les répertoires.
Nb_inode : indique le nombre d’inode alloué sur la file system (structure contenant les informations sur le
fichier). 1 = pour un fichier, 2 = répertoire et plus nombre de sous répertoire.
Rwx rwx rwx : 1er = droit de l’utilisateur propriétaire (u), 2eme = droit du groupe (g) ; 3eme = droit des
autres (o)
- Droit de lecture : r
- Droit d’écriture : w
- Droit d’exécution : x
Si la lettre est présente ça veut dire que le droit est accepter sinon elle est représentée par un – donc
refuser
2.2- La gestion de la propriété
Chown change l’utilisateur propriétaire. Chgrp change le groupe propriétaire
chown nom_propriétaire fichier Change la propriété d’un fichier
chown nom_propriétaire: nom_groupe Change en même temps le groupe propriétaire
chgr nom_groupe fichier Change le groupe propriété
chown nom_proprietiare –r rep Change la propriété d’un répertoire
2.3- La gestion des droit de fichier
Pour changer les droits sur un fichier, on utilise la commande chmod. Il faut préciser a qui/quel(s) droit(s)
et quel(s) fichier est (sont) concerné(s).
FICHE COURS LINUX 28/43
a- Avec UGO
Chmod [u / g / o / a] + / - [r / w / x] nom_fichier
U Pour l’utilisateur propriétaire
G Pour l’utilisateur du groupe propriétaire
O Pour les autres
A Pour tous
R Droit de lecture
W Droit d’écriture
x Droit d’exécution
b- Par adition
La gestion des droits de fichiers Unix s'effectue suivant 3 orientations : le droit de lecture (Read), le droit
d'écriture (Write) et le droit d'exécution (eXecute).
- Le droit de lecture permet de lire le contenu d'un fichier.
- Le droit d'écriture permet la modification et la suppression d'un fichier.
- Le droit d'exécution sur des fichiers binaires ou shells permet de lancer le programme.
En version numérique :
Read = 4
Write = 2
eXecute = 1
Appliquées à un répertoire, ces définitions sont sensiblement différentes.
Code
d'accès
Signification Fichier Répertoire
r Read Le fichier peut être lu Le répertoire peut être listé (exemple : obtenir
les fichiers contenus dans ce répertoire par la
commande ls)
w Write Le contenu du fichier peut
être modifié ou ses attributs
modifiés
Dans le répertoire, on peut supprimer, créer ou
modifier un fichier
x eXecute Le fichier peut être exécuté On peut entrer dans ce répertoire, qui devient
notre répertoire courant
FICHE COURS LINUX 29/43
Chacun de ces droits sont attribués à 3 types de personnes : le propriétaire (owner ou UID), le groupe
(group ou GID) et le reste du monde (other).
rwx : Les droits du owner : sl => L'utilisateur sl a les droits de lecture, d'écriture et exécution du fichier.
r-x : Les droits du group : amis => Toute personne du groupe ami a les droits de lecture et exécution.
r-- : Les droits du reste du monde => Les autres ont juste le droit de lecture.
Quand vous modifiez les droits d'un répertoire et que vous désirez que tous les fichiers contenus dans
celui-ci disposent des mêmes droits, utilisez l'option -R (pour récursive).
Où X, Y et Z sont respectivement les droits (en numérique) du propriétaire, du groupe et du reste.
Comment calculer X ? En sommant les droits que vous voulez accorder.
rwx = 4 + 2 + 1 = 7
rw- = 4 + 2 = 6
r-x = 4 + 1 = 5
--- = 0
Exemple pour obtenir : rwx rw- r-- : chmod 764 nom_fichier
c- Droit et propriété par défaut
Lorsqu’on crée un fichier, il appartient à l’utilisateur et au groupe qui l’a créé. Par ailleurs des droits sont
fixés par défaut. On peut les changer avec la commande umask :
Pour afficher les droit : umask nom_fichier
Changer les droits : umask xxx
Avec umask le principe est le même qu’avec chmod xxx nom_fichier, sauf que le x est la somme des droit
non accordé.
Exemple umask 023 = signifie que les droit seront rwx r-x r- -
2- Le partage de fichier
Un des principaux intérêts des réseaux est la possibilité de partage de fichier. Il existe des outils
permettent de transfert des fichiers à l’aide de commande à travers un réseau hétérogène. Toute fois ce
type de manipulation est assez fastidieux.
Dans un réseau ou les machines ont des SE homogènes ou compatible le partage des fichiers se fait de
manier transparente. Mais cela n’est pas prévue pour des SE différent. Sous Linux, ce partage est possible
entre machine de SE différent en utilisant Samba
FICHE COURS LINUX 30/43
NFS, le partage entre Unix/Linux
Samba : le partage entre Windows et Unix/Linux
Samba : contrôleur de domaine pour Windows
FICHE COURS LINUX 31/43
IX- DHCP
1- Introduction
Le DHCP est protocole qui permet de configurer automatiquement les paramètres réseaux d’une poste
connecté. Cela évite de mettre les paramètres en dur sur un poste. Ce protocole est défini dans le Request
fort Comment 2131.
C’est l’Internet Software Consortium qui développe le serveur DHCP du monde du logiciel libre. C’est le
serveur DHCP le plus rependu et celui qui suit au mieux le RFC.
2- Installation et Configuration du serveur DHCP
Il existe plusieurs DHCP sous Debian mais on utilise le dhcp3-server. Normalement il est installé par défaut.
# aptitude install dhcp3-server
Remarque : Par défaut le serveur DHCP écoutera sur eth0. Pour modifier cette interface, il est possible de
faire « dpkg-reconfigure dhcp3-server » ou de modifier le fichier « /etc/default/dhcp3-server »
3- Configuration du serveur
Le fichier de configuration du serveur DHCP est /etc/dhcp/dhcpd.conf (plage, paramètre distribué)
Le fichier /var/lib/dhcp/dhcp.leases sert à l’inscription du client. Claque client écrit dans ce fichier ce qui
permet d’avoir des statistiques l’activité é du serveur.
Je conseille pour commencer de faire une copie de sauvegarde de ce fichier. Ensuite, vous pouvez effacer
ou commenter les lignes existantes et ajouter les lignes suivantes :
option domain-name "mondomaine.com";
option domain-name-servers 192.0.0.1, 194.2.0.50;
option routers 192.0.0.151;
default-lease-time 3600;
subnet 192.0.0.0 netmask 255.255.255.0 {
range 192.0.0.200 192.0.0.254;
authoritative;
}
La première ligne permet de fournir aux clients le nom du domaine. La ligne suivante donne aux clients le
ou les serveurs DNS. La ligne suivante donne l’adresse de la passerelle par défaut. La ligne suivante donne
le délai du bail en secondes. Il est préférable d’augmenter la valeur par défaut pour limiter le trafic sur le
FICHE COURS LINUX 32/43
réseau. Les 4 dernières lignes permettent d’indiquer la plage d’adresses gérée par le serveur DHCP : La
ligne « authoritative » permet d’indiquer que le serveur DHCP sera responsable de la zone concernée
Une fois la configuration terminée, il faut démarrer ou redémarrer le démon pour prendre en compte les
modifications :
# /etc/init.d/dhcp3-server restart
Si le démarrage retourne une erreur, il faut penser à consulter les logs :
# tail -f /var/log/syslog
Le fichier suivant donne la liste des adresses IP délivrées par le serveur. Pour chaque adresse IP l’on
retrouve : son adresse mac, le nom de l’ordinateur, la date de début et de fin du bail :
/var/lib/dhcp3/dhclient.leases
Comment avoir des IP fixes avec un serveur DHCP
Pour cela, il faut ajouter dans le fichier « /etc/dhcp3/dhcpd.conf », de nouvelles lignes.
L’exemple suivant permet de fixer une adresse IP en fonction de son adresse MAC :
host INFO-TG {
hardware ethernet 00:05:5d:f5:08:02;
fixed-address 192.0.0.11;
}
Redémarrer le démon pour prendre en compte les modifications :
/etc/init.d/dhcp3-server restart
Configuration des postes clients
Pour configurer un poste client sous Linux, il faut modifier le fichier :
/etc/network/interfaces
Ce fichier doit contenir :
auto lo eth0
iface lo inet loopback
iface eth0 inet dhcp
Il ne faut pas oublier de redémarrer le démon après modification :
/etc/init.d/networking restart
FICHE COURS LINUX 33/43
Comment vérifier que le client est correctement configuré
Sur un poste client linux, la commande suivante, permet de connaître la configuration IP et également de
retrouver l’adresse MAC :
ifconfig
Sur un poste client Windows, la commande est la suivante :
ipconfig /all
La consultation des logs sur le serveur en temps réel (avec le paramètre -f), permet également de vérifier
que tout fonctionne correctement :
tail -f /var/log/messages
FICHE COURS LINUX 34/43
X- Le DNS
1- Théorie
1.1- Définition
DNS est un système de noms pour les ordinateurs et le service réseaux organisé selon une hiérarchie de
domaine. Le système DNS est utilisé dans les réseaux TCP/IP tel qu’Internet pour localiser des ordinateurs
et des services à l’aide de noms conviviaux.
Pour faciliter l’utilisation des ressources réseau, des services de nom comme DNS fournissent une méthode
qui établit la correspondance entre le nom convivial d’un ordinateur ou d’un service et son adresse IP.
1.2- Notion de domaine DNS
Il a étai définit par le RFC 1034 et 1035. Il spécifie les éléments communs pour les logiciels DNS, qui
comprennent :
- Un espace de noms de domaine DNS
- Des enregistrements de ressources
- Des serveurs DNS
- Des clients DNS
L’espace de nom de domaine DNS repose sur le concept d’arborescence des domaines nommés. Chaque
niveau représente une branche ou une feuille de cet arbre.
Les noms sont identifiés de cinq manières selon leur niveau et leur mode d’utilisation. Les noms est effet
formé de plusieurs niveau (appelé étiquète) qui indiquent a combien de niveau le domaine est situé en
dessous de la racine. Les point est utilisé pour séparer les étiqueté.
Les termes utilisé dans le DNS pour la fonction de nom est :
- La racine du domaine
- Domaine de premier niveau
- Domaine de second niveau
- Sous domaine
- Non d’hôte ou ressource
Un nom de domaine se présente sous la forme : www2.lyc-aubanel.ac-aix.marseille.fr
1.3- DNS et Internet
Le DNS a été développé pour répondre au besoin de fournir un service de mappage de nom d’adresse IP
pour les ordinateurs sur internet.
Avant le mappage des noms utilisé un fichier statique partager le host. Devenue trop volumineux et
difficile à configurer, la norme DNS a été développée pour répondre au besoin.
FICHE COURS LINUX 35/43
1.4- Fonctionnement de requête DNS
On ressoude la requête de différente manière
- Le client utilise sont cache
- Le serveur DNS utilise son propre cache
- Le serveur DNS interroge ou contacte d’autre serveur DNS au nom du client, puis renvoi une
réponse au client = méthode récursivité
- Le client lui-même contacte d’autre serveur DNS = méthode itération
2- Présentation des zone, du transfert de zone et délégation de zone
Le DNS permet de diviser un espace de noms DNS en zone. Ces zones stockent des informations relatives à
un ou plusieurs domaines DNS. Pour chaque nom de domaine DNS inclus dans une zone, la zone devient
les sources de référence d’information sur ce domaine.
Si d’autre domaine sont ajouter en dessous de ce domaine, ils peuvent faire partie de cette zone ou à une
autre zone. Un sous domaine ajouté à une zone peut-être :
- Gere et inclue dans la zone d’origine ou
- Déléguer a une autre zone crée pour prendre en charge ce sous domaine
Les zones doivent être disponibles sur plusieurs serveurs DNS pour garantir la disponibilité et la tolérance à
la panne.
Pour que d’autre serveur puissent héberger une zone, il faut transférer la zone de manière à répliquer et a
synchronisé toutes les copies de la zone utilisé sur chaque serveur configuré pour l’héberger
Les transfert de zone incrémentiels sont pris en charge à la fois par un serveur DNS, jouent le rôle de
source pour une zone et par tous les serveurs qui copie la zone à partir de ce serveur. Il permette au
serveur secondaire de recevoir uniquement les changements intervenus sur une zone. Fonctionnel grâce
au numéro de série dans l’enregistrement de ressource SOA de chaque zone.
3- Recherche indirecte
DNS propose un processus de recherche indirecte permettent aux clients d’utilisé une IP connue dans une
requête de nom et de rechercher un nom d’ordinateur a partie de son IP. Mais le DNS n’est pas conçue
pour prendre en charge ce type de recherche donc un domaine spécial, in-addr.arpa, a été conçue et
réservé dans les noms DNS Internet.
Pour créer l’espace de nom indirecte, des sous domaine sont formés dans le domaine in-addr.arpa (à la
racine) en utilisant l’ordre inverse des numéros indiqués dans la notation d’IP.
4- Installation et configuration du serveur DNS sous Debian avec bind9
# apt-get install bind9
FICHE COURS LINUX 36/43
4.1- Le fichier hosts.conf
Lorsque qu’une demande de résolution de nom est demandée, Linux commence par regarder le fichier
/etc/hosts.conf.
order hosts,bind
multi on
La première ligne de ce fichier indique qu’il faut commencer la recherche en regardant la table hosts locale
et ensuite il faut interroger le serveur DNS.
4.2- Le fichier hosts
La table hosts locale est enregistrée dans le fichier /etc/hosts elle contient une table de correspondance
entre des adresses IP et des noms, elle ressemble à :
127.0.0.1 localhost.localdomain localhost
192.168.0.6 debian1.mondomaine.com debian1
La première ligne est obligatoire pour que le système fonctionne même quand le réseau est désactivé.
L’adresse IP 127.0.0.1 est toujours associée au nom localhost. Les lignes suivantes peuvent être ajoutées
manuellement pour faire la correspondance entre des adresses IP et des noms. C’est ce qui est fait en
l’absence de serveur DNS.
4.3- Le fichier resolv.conf
Si le résultat n’est pas trouvé dans la table hosts, le système recherche le serveur DNS indiqué dans le
fichier /etc/resolv.conf :
search mondomaine.com
nameserver 192.168.0.1
nameserver 194.2.0.50
La première ligne indique quel domaine il faut ajouter au nom si celui-ci n’est pas indiqué lors d’une
demande de résolution de nom. La deuxième ligne indique le serveur DNS principal. Et c’est donc le
serveur DNS qui sera chargé de donner le résultat s’il connaît la réponse ou de transmettre la question à un
autre serveur DNS. Si le serveur principal n’est pas disponible, le serveur DNS indiqué sur la ligne suivante
sera utilisé.
4.4- Configuration du DNS avec Bind 9
Il y a trois fichier à configurer dans /etc/bind :
- named.conf
- named.conf.options
- named.conf.local
FICHE COURS LINUX 37/43
a- Le fichier named.conf.option
Mètre le DNS de notre FAI
forwarders {
8.8.8.8;
8.8.4.4;
};
b- Le fichier named.conf
Le fichier de configuration principal /etc/bind/named.conf contient la liste des zones (ou domaines) que le
serveur DNS doit prendre en charge. Voici un exemple de description de zone :
zone "mondomaine.com" {
type master;
file "/etc/bind/db.mondomaine.com";
forwarders{};
};
mondomaine.com : Nom du domaine à prendre en charge
type master : Cette ligne indique que le serveur est le serveur principal de ce domaine.
file "/etc/bind/db.mondomaine.com"; : Cette ligne donne le chemin du fichier qui contiendra la
correspondance entre les noms et les adresses IP pour ce domaine.
c- Le fichier db.local
Occupons-nous de la zone de recherche directe. Copiez le fichier de base « db.local » en le renommant
selon votre nom de domaine, dans notre exemple « db.mondomain.com » :
# cp db.local db.mondomain.com
Pour chaque domaine à gérer, il faut créer le fichier indiqué dans « named.conf ». Dans l’exemple
précédent, il faudra créer le fichier /etc/bind/db.mondomaine.com. Voici le contenu de ce fichier :
FICHE COURS LINUX 38/43
La première partie est utilisée pour la gestion maître-esclave des serveurs DNS. La deuxième partie permet
au serveur DNS de se retrouver lui-même. La troisième partie contient la table de correspondance entre les
noms et les adresses IP. La dernière partie donne les alias possibles pour un même nom de serveur.
Le symbole @ désigne la zone décrite par le fichier de configuration. A la place de @, vous auriez très bien
pu indiquez mondomaine.com. (n'oubliez pas le "." à la fin !!!).
Ensuite, on indique IN qui signifie que l'on a affaire à une zone Internet. Enfin, toujours sur la première
ligne, on indique le serveur DNS qui dispose du fichier zone de référence (important lorsque que l'on a des
DNS secondaires) et l'adresse email de la personne responsable de la zone (le premier "." dans le champ
d'email est considéré comme un "@").
Les valeurs qui suivent sont respectivement :
• le numéro de série (souvent on met la date courante suivie d'un numéro d'ordre); AAAAMMJJxx.
FICHE COURS LINUX 39/43
• le temps de rafraichissement (refresh; ici, 8 heures); la valeur recommandée est de 24 heures.
• le temps entre deux essais (retry; ici, 2 heures); la valeur recommandée est de 2 heures.
• le temps d'expiration (expire; ici, 1 semaine); la valeur recommandée est de 1000 heures.
• la valeur TTL minimum (minimum; ici, 1 jour); la valeur recommandée est de 2 jours.
Après le champ SOA, on indique le serveur de nom à consulter pour résoudre un nom d'hôte dans le
domaine bureau.lan. Nous faisons ça avec un champ NS de la manière suivante :
@ IN NS ns.bureau.lan.
Ensuite (ceci est facultatif), si vous avez un serveur de mail, vous pouvez indiquer au serveur DNS
que les adresses de la forme *@bureau.lan sont gérées par un serveur de mail prédéfini; nous le faisons
comme ceci :
@ IN MX 10 mail2.bureau.lan.
Remarque : La valeur 10 indique la priorité du serveur concerné. En indiquant plusieurs champs MX avec
des valeurs différentes, vous pouvez indiquer des serveurs de mail secondaires.
d- La résolution inverse
De nombreux services réseaux utilisent la résolution inverse (Trouver l’adresse IP à partir du nom) pour
vérifier que le nom est valide. Il est donc nécessaire de configurer le serveur pour qu’il prenne également
en charge la résolution inverse.
Le principe est quasiment le même que pour la résolution classique. Il faut déjà définir ajouter le domaine
inverse dans le fichier named.conf comme dans l’exemple suivant :
zone "0.168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.mondomaine.com.inv";
forwarders{};
};
Copiez le fichier de base db.127 en le renommant selon votre nom de domaine, dans notre exemple
db.mondomaine.com.inv
L’adresse IP doit être indiquée à l’envers et il faut ajouter .in-addr.arpa. Il faut également définir un
nouveau fichier qui ressemblera à ceci :
FICHE COURS LINUX 40/43
La première partie est utilisée pour la gestion maître-esclave des serveurs DNS. La deuxième partie donne
le nom du serveur DNS (NS = Name Server). La troisième partie contient la correspondance entre la fin de
l’adresse IP et le nom du serveur.
e- Configuration DNS secondaire
Dans cette section, nous allons envisager la configuration d'un serveur DNS secondaire qui se synchronise
avec le serveur DNS principal que nous avons défini ci-dessus.
Pour configurer le serveur secondaire, nous devons simplement indiquer à BIND les zones qu'il doit traiter
en mode esclave. Sur base de la configuration ci-dessus, nous configurons le fichier /etc/bind/named.conf
de serveur DNS secondaire de la manière suivante :
zone "bureau.lan" {
type slave;
masters {192.168.251.202;} ;
file "/etc/bind/db.bureau.lan";
};
zone "251.168.192.in-addr.arpa" {
type slave;
masters {192.168.251.202;} ;
file "/etc/bind/db.192.168.251";
};
En faisant cela, il est inutile d'indiquer les fichiers zones (fichier db.) sur le serveur DNS secondaire. Les
fichiers proviendront d'une synchronisation avec le DNS primaire.
Remarque : L'utilisateur faisant fonctionner le serveur DNS doit avoir les droits d'écriture sur les fichiers
zones renseignés dans la configuration ci-dessus.
Modification de la configuration du serveur DNS primaire
FICHE COURS LINUX 41/43
Nous devons renseigner dans les fichiers zones le deuxième serveur DNS, et pour se faire, on ajoute la ligne
suivante au fichier /etc/bind/db.bureau.lan :
@ IN NS ns2.bureau.lan.
et nous devons également renseigner l'adresse IP de ns2.bureau.lan (n'oubliez pas de mettre à jour le
fichier de zone pour le sous-réseau IP également avec le mot clé PTR !) :
ns2 IN A 192.168.251.250
250 IN PTR ns2.bureau.lan.
Après avoir modifié les zones et de ce fait, dévoilé ns2, nous pouvons maintenant indiquer au serveur DNS
maître que le serveur DNS secondaire peut accéder aux données de zones.
Pour ce faire, les informations concernant les zones qui nous intéressent (dans le fichier
/etc/bind/named.conf du serveur maître) deviennent ceci :
zone "bureau.lan" {
type master;
notify yes;
allow-transfer {192.168.251.250;} ;
file "/etc/bind/db.bureau.lan";
};
zone "251.168.192.in-addr.arpa" {
type master;
notify yes;
allow-transfer {192.168.251.250;} ;
file "/etc/bind/db.192.168.251";
};
Après toutes ces modifications, demandez au service BIND de recharger la configuration :
Et surtout, n'hésitez pas à re-tester votre configuration (sur les deux serveurs).
f- Delegation de domaien
Pour deleguer un sous domaine il ajouter les ligne suivante dasn le fichier
g- Test et mise en marche
Après chaque modification des fichiers de configuration, il faut redémarrer le démon :
/etc/init.d/bind9 restart
Vérifier dans les logs, que le démarrage du démon s’est correctement effectué :
tail -30 /var/log/syslog
Pour vérifier la syntaxe des fichiers de configuration :
named-checkzone mondomaine.com /etc/bind/db.mondomain.com
FICHE COURS LINUX 42/43
named-checkzone mondomaine.com /etc/bind/db.mondomain.com.inv
named-checkzone /etc/bind/named.conf
named-checkzone /etc/bind/named.conf.option
Tester que le nom est correctement reconnus :
ping mondomaine.com
pour teste le resolution de nom :
nslookup
h- Définition
Le serveur « maître » s’occupe des enregistrements DNS d’un domaine enregistré ou non (par exemple
pour le cas d’un réseau local fermé comme celui de notre tuto « webadonf.lan »).
Une zone est l’ensemble des enregistrements DNS pour un nom de domaine. Il existe une zone de
recherche directe (correspondance entre le nom d’hôte et l’adresse IP) et une zone de recherche inverse
(correspondance entre l’adresse IP et le nom d’hôte).
Le serveur « secondaire » assure la redondance du serveur « maître » et prend le relais de celui-ci en cas
de panne.
Le serveur « esclave » est une réplication du serveur « maître » utilisé comme sauvegarde.
Le serveur « cache » stocke les requêtes déjà résolues ce qui permet d’économiser la bande passante et de
réduire le temps de latence.
Les différents types d’enregistrement (record) spécifiés par l’IANA :
- ● : Le Point. Le nom de la zone est concaténé à la fin du nom et il faut impérativement ne pas
l’omettre. Par exemple « vtdebian03.webadonf.lan » devra être enregistré de la manière suivante :
« vtdebian03.webadonf.lan● ».
- @ : Si la zone a pour nom de domaine webadonf.lan alors @ prendra la valeur webadonf.lan. C’est
un alias pour le nom de la zone déclarée dans /etc/name.conf.
- A : Address record. Elle fait correspondre un nom d’hôte à une adresse IPv4 de type 192.168.1.1.
- CNAME : Canonical Name Record. Il permet de spécifier au serveur de noms qu’un nom de domaine
correspond à un alias vers un autre domaine en héritant de tous ses sous-domaines. Par exemple
www.webadonf.net peut être la même machine que web.webadonf.net.
- IN : the internet. Il spécifie que l’enregistrement par défaut correspond aux données internet (IPv4).
- MX : Mail eXchanger Record. Cet enregistrement permet de définir vers quel serveur de la zone les
courriels à destination du domaine doivent être envoyés.
- NS : Name Server Record. Il indique le serveur de noms qui fait autorité sur la zone et prend en
charge les enregistrements.
- PTR : Pointer Record. Il fait correspondre une IP à un nom d’hôte.
FICHE COURS LINUX 43/43
- RR : Resource Record. C’est le nom d’un enregistrement DNS codé sur 8 bits et qui peut être un
enregistrement de type A, NS, CNAME, etc..
- SOA : Star Of Authority Record. Il décrit une zone en spécifiant le serveur principal, le courriel de
contact, la durée de vie et le numéro de série de la zone.
- TTL : Time To Live. Il détermine la durée de vie des enregistrements de la zone dans un serveur
cache. La première info est un TTL (Time to Live). Quand quelqu'un va interroger votre serveur
DNS pour obtenir des informations, ces informations vont être stockées en cache chez cette
personne (dans la mémoire de son serveur DNS, pour éviter qu'il vienne nous réinterroger de
nombreuses fois s'il a de nouveau besoin d'une information). Ce TTL est la durée pendant laquelle
les informations sont conservées en cache. Ce délai passé, une nouvelle demande devra être faite
au serveur. Le TTL est défini ici sur 1 semaine. En fonction de la fréquence de vos mises à jour,
vous pouvez décider de baisser cette valeur pour que vos clients aient leurs informations à jour.
Les paramètres d’une zone sont les suivants :
201103161112 : Serial. Une fois décomposé ce numéro correspond à : année-mois-jour-heure-minute.
Dans notre cas ils sont simplement numérotés 1 et 2 parce que nous sommes dans un domaine fermé «
webadonf.lan ».
604800 : Refresh. C’est l’écart en secondes entre le serveur « esclave » et le serveur « maître ».
86400 : Retry. C’est le délai en secondes que le serveur « secondaire » ou « esclave » attend avant
d’effectuer une nouvelle demande au serveur « maître » en cas de non réponse.
2419200 : Expire. La zone sera considérée comme invalide arrivé au terme de ce délai en secondes en cas
de non réponse du serveur principal aux serveurs « secondaires » ou « esclaves ».
604800 : Negative Cache TTL. C’est la durée de vie en secondes des nouveaux enregistrements mis en
cache.
Comment se décompose la notion de temps ?
1M : une minute, soit 60 secondes. 1H : une heure, 3600 secondes.1D : un jour, 86400 secondes.1W : une
semaine, 604800 secondes. 365D : un an, 3153600 secondes.