Administration-Reseau-Linux(1).pdf

(390 KB) Pobierz
Administration réseau sous Linux
1
Administration réseau sous Linux
Ce livre est la transcription des notes de TP réseau donnés à l'IUT Informatique de
Clermont-Ferrand. Ces notes ont été réalisées par Sébastien Salva et adaptées par Remy
Malgouyres et Michael Witrant.
Leur diffusion sur Wiki Books a été autorisée par les auteurs originaux.
• → Configuration réseau
• → NFS
• → Samba
• → Apache
• → FTP
• → DHCP
• → Netfilter
• → TCP Wrapper
• → Tcpdump
• → SSH
Les TP associés :
• → TP Apache
TP
TP
TP
TP
TP
TP
TP
FTP
DHCP
Netfilter
TCP Wrapper
Tcpdump
SSH
Global
Administration réseau sous Linux/ Configuration réseau
2
Administration réseau sous Linux/
Configuration réseau
Installation de la carte réseau
Les cartes réseau sont souvent détectées au démarrage. Si ce n'est pas le cas il faudra
charger les modules correspondants.
Pour obtenir la liste des interfaces réseau qui ont été détectées, on peut utiliser la
commande
ifconfig -a
Les sections qui commencent par ethX correspondent aux cartes ethernet, où X est le
numéro de la carte.
Si la carte n'est pas détectée, il faudra charger le module avec la commande
modprobe <nom du module>
Parmi les modules courants on peut noter : ne2k-pci pour les cartes NE2000, via-rhine,
rtl8139...
Les modules disponibles pour votre noyau se trouvent dans
/lib/modules/<nom du
noyau>/kernel/drivers/net/.
La commande suivante affiche les modules réseau
disponibles pour le noyau en cours d'utilisation :
ls /lib/modules/`uname -r`/kernel/drivers/net/
Pour connaître le nom du module en fonction du nom commercial d'une carte, une
recherche sur internet est souvent la meilleure solution.
Le noyau donne parfois des informations utiles sur les cartes réseau. On peut rechercher
les messages contenant "eth0" pour avoir plus d'informations sur la première carte réseau
détectée :
dmesg | grep eth0
La commande suivante permet d'afficher les cartes réseaux reliées au bus PCI :
lspci | grep Ethernet
Configuration de la carte réseau
Une fois votre carte reconnue par le noyau, vous devez au moins préciser l'adresse IP et le
masque de sous-réseau de la carte. Dans le cas d'un réseau local connecté à Internet, vous
devez aussi ajouter l'adresse IP de la passerelle et l'adresse IP d'un ou plusieurs serveurs
DNS.
Adresse IP
Pour attribuer une adresse IP à une interface réseau, on peut utiliser la commande
ifconfig
:
ifconfig <interface> <adresse ip>
Administration réseau sous Linux/ Configuration réseau
Par exemple :
ifconfig eth0 192.168.1.12
Le masque de sous-réseau est déterminé automatiquement en fonction de la classe de
l'adresse IP. S'il est différent on peut le spécifier avec l'option
netmask
:
ifconfig eth0 192.168.1.12 netmask 255.255.255.128
Pour voir si la carte réseau est bien configurée, on peut utiliser la commande :
ifconfig eth0
3
Passerelle et routage
Pour ajouter une passerelle, on peut utiliser la commande
route
:
route add default gw <adresse ip>
Pour afficher les routes vers les différents réseaux :
route -n
Tester le réseau
Pour tester si la carte réseau fonctionne, on peut essayer de communiquer avec une autre
machine avec la commande
ping <adresse ip>
La commande
ping
envoi un paquet à l'adresse IP puis attend que la machine réponde. Elle
affiche ensuite le temps qu'a pris toute l'opération, en millisecondes.
Informations sur les interfaces
Pour vérifier le statuts de toutes les interfaces on peut utiliser la commande
netstat -i
Nom d'hôte (hostname)
Le fichier
/etc/hostname
contient le nom de la machine et du domaine. Il est lu au
démarrage du système ou lorsqu'on lance :
/etc/init.d/hostname.sh
Configuration automatique au démarrage
Le fichier
/etc/network/interfaces
permet de configurer les cartes réseau. Ce fichier est
lu au démarrage du système et lorsqu'on utilise les commandes
ifup
et
ifdown.
Par
exemple :
auto eth0
iface eth0 inet static
address 192.168.1.2
netmask 255.255.255.0
gateway 192.168.1.1
Administration réseau sous Linux/ Configuration réseau
Et si l'interface eth0 doit être configurée automatique grâce à un serveur DHCP :
iface eth0 inet dhcp
4
Résolution de noms
Le fichier
/etc/host.conf
indique comment les noms doivent être résolus (c'est à dire
comment passer d'une adresse IP à un nom, et inversement). Par exemple :
# D'abord traduire avec les serveurs DNS et ensuite avec /etc/hosts.
order bind,hosts
# Il existe des machines avec plusieurs adresses
multi on
# Vérifie l'usurpation d'adresse IP
nospoof on
Serveurs DNS
Le fichier
/etc/resolv.conf
contient les adresses IP des serveurs DNS. Par exemple :
nameserver 208.164.186.1
nameserver 208.164.186.2
search foo
La commande
search
indique que si un nom de domaine n'est pas trouvé, il faudra essayer
en lui ajoutant
.foo.
Fichier
hosts
Le fichier
/etc/hosts
contient une liste de résolutions de noms (adresses IP et noms de
machine). Par exemple:
192.168.105.2 sasa
Ce fichier indique que
sasa
correspond à l'adresse IP
192.168.105.2,
qui sera accessible
par cet alias.
Administration réseau sous Linux/ NFS
5
Administration réseau sous Linux/
NFS
Le protocole NFS (Network file system) permet de partager des fichiers entre des machines
Unix, et donc Linux. C'est un modèle client-serveur : une machine met à disposition
(exporte) des répertoires de son système de fichier local sur le réseau. Suivant les droits
d'accès, les autres stations du réseau peuvent monter ces répertoires, qui seront alors vus
comme des répertoires locaux. Un ordinateur peut être à la fois client et serveur NFS.
Installation coté serveur
Commencer par vérifier que les demons NFS (nfsd) ne sont pas déjà lancés avec, par
exemple, la commande
ps ax | grep nfsd
Pour lancer les démons manuellement sous Debian :
/etc/init.d/nfs-kernel-server start
ou, si c'est le serveur NFS en espace utilisateur qui est installé :
/etc/init.d/nfs-user-server start
On peut remplacer
start
par
restart
pour redémarrer le serveur.
Configuration
Pour partager (ou
exporter)
des répertoires, il faut renseigner le fichier
/etc/exports.
Il
indique la liste des répertoires partagés et le nom des machines qui y ont accès.
Chaque ligne correspond à un répertoire et a la forme :
<répertoire local> <nom ou IP des machines autorisées à se
connecter>(<options>) <autres
machines>(<options>)...
Par exemple :
/home
ollinux(rw) station1(ro)
/projet
station1(rw) (ro)
/brouillon
Le serveur exporte son répertoire
/home.
La machine
ollinux
pourra le monter en
lecture/écriture (rw),
station1
en lecture seule (ro), et les autres machines ne pourront
pas se connecter.
De même,
station1
pourra accéder en lecture/écriture au répertoire
projet
et toutes les
autres stations en lecture seule.
Enfin, tout le monde pourra accéder en lecture/écriture au répertoire
brouillon
(l'option
rw
est celle par défaut).
Notez bien que les droits en écriture via le réseau seront toujours inhibés par les droits sur
le système de fichier. Prenons par exemple un fichier
test
appartenant à
root,
situé dans
Zgłoś jeśli naruszono regulamin