44
BTS SIO 2014 Alexa Strozzi Fiche Cours Linux SISR4 Franck FALCHI

Fiche Cours Linux - franckfalchi.weebly.comfranckfalchi.weebly.com/.../0/1/25013616/fiche_cours_rseaux_linux.pdf · FICHE COURS LINUX 9/43 III- La manipulation des fichiers sous Linux

Embed Size (px)

Citation preview

BTS SIO 2014

Alexa Strozzi

Fiche Cours Linux SISR4

Franck FALCHI

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.