Upload
faysal-bensalah
View
214
Download
1
Embed Size (px)
DESCRIPTION
TP
Citation preview
MASTER TELECOM – Formation Linux
CNFIGURATION DU RESEAU SOUS DEBIAN
Introduction
Voici les étapes pour mettre un poste de travail en réseau 1. donner un nom de machine 2. installation de l'adaptateur réseau et de son pilote 3. spécifier une adresse IP pour cette interface réseau : Il est souvent nécessaire de bien indiquer le masque réseau. Le cas échéant, on peut paramétrer pour bénéficier de la configuration dynamique d'un serveur DHCP 4. configuration du routage : en pratique, spécifier l'adresse IP de la passerelle par défaut (le plus souvent pour attendre Internet) 5. indiquer l'adresse de serveurs DNS : Il s'agit d'interroger un serveur DNS pour connaitre l'adresse IP d'une machine à joindre, connaissant son nom. En réseau local, en l'absence de DNS local, il faut renseigner le fichier /etc/hosts en fournissant les associations (nom, adresse IP) des machine du réseau Configuration Les outils de configuration d'un réseau basé sur IP (notamment ifconfig, route, netstat) sont contenus dans le paquet net-‐tools. Fixer le nom de machine
La commande hostname donne le nom de machine, contenu dans le fichier /etc/hostname. Elle est exécutée au démarrage par : hostname --file /etc/hostname
Quel est le nom actuel de votre machine ? Que contient /etc/hostname ? Que donnent les commandes hostname avec les options -i, -d, -f ? Changer de nom directement dans le fichier /etc/hostname Puis prendre en compte le changement : # /etc/init.d/hostname.sh # /etc/init.d/rsysklog restart Se reloguer
Paramétrage carte réseau
L'installeur décèle tous les adaptateurs usuels et les lient directement au noyau. Ce qui suit n'est nécessaire qu'en cas d'échec • Pour connaitre le module chargé au démarrage de la machine, consulter la fin de l'affichage de la commande dmesg
• Pour connaitre les noms de modules des adaptateurs réseaux disponibles, lister /lib/modules/<version kernel>/kernel/net/
• Inscrire le nom du module de la carte réseau dans /etc/modules, pour qu'il soit chargé au prochain boot
# kernel modules to load at boot time via-rhine • Pour charger maintenant et dynamiquement le module de la carte
# modprobe via-rhine Un compte-‐rendu de cette tentative est affiché. Utilitaire modconf Cet utilitaire qui fait partie de l'installateur Debian, réalise ces 2 dernières étapes Pour choisir le driver de l'adaptateur réseau, aller dans /kernel/drivers/net(ou /etc/init.d/networking start) Paramétrage interface réseau
• Doc : man interfaces • Controler l'activité des interfaces réseaux Les 2 commandes ifup et ifdown se charge d'activer /désactiver le sous-‐service réseau, sans intervenir sur son paramétrage actuel
ifup et ifdown lisent les informations du fichier /etc/network/interfaces On peut utiliser en équivalence : /etc/init.d/networking start | stop ifdown -a ifconfig ifup lo ifconfig ifup eth0 ifconfig • Pour attribuer une adresse IP fixe au prochain reboot : Editer et compléter le fichier /etc/network/interfaces qui contient tous les paramètres usuels (y compris l'IP de la passerelle)
iface eth0 inet static address 172.16.0.x --> x=numéro du poste netmask 255.255.255.0 network 172.16.0.0 gateway 172.16.0.1
• Pour attribuer une adresse IP fixe "à la volée" Pourquoi attendre le prochain reboot ? pour attribuer cette adresse IP immédiatement :
ifconfig eth0 172.16.0.111 netmask 255.255.255.0 broadcast 172.16.0.255 ( à abréger en ifconfig eth0 172.16.0.111, si le masque réseau est standard) • Pour attribuer une adresse IP dynamique -‐ elle est délivrée par un serveur DHCP qui doit etre accessible sur le meme reseau -‐ vérifier que le "client" est bien installé : apt-‐get install dhcp3-‐client
éditer le fichier /etc/network/interfaces commenter avec # les lignes du paragraphe iface eth0 sauf gateway 172.16.0.1 placer la ligne iface eth0 inet dhcp puis ne pas rebooter ! arrêter et relancer le service réseau ifdown eth0 ifconfig ifup eth0 ifconfig • Routage des paquets IP La commande route affiche la table de routage qui contient l'information sur la façon d'envoyer les paquets IP vers leur destination.
route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface localnet * 255.255.255.0 U 0 0 2 lo default 172.16.0.1 0.0.0.0 UG 1 0 36 eth0 1ère ligne : le trafic destiné aux machines du réseau local sera routé par eth0. 2ème ligne : le trafic destiné à l'Internet routé par la passerelle 172.16.0.1 Pour supprimer la route par défaut actuelle route del default lynx www.ucd.ac.ma Pour fixer une (nouvelle) passerelle route add default gateway 172.16.0.1 accès de nouveau à internet • Accès à Internet Il faut indiquer l'adresse IP d'un serveur DNS à solliciter pour la conversion de nom de domaine en adresse IP
Editer le fichier /etc/resolv.conf et ajouter le DNS de Wanadoo nameserver 193.252.19.3 tests accès web en mode plein texte ;-) lynx www.ucd.ac.ma/reseaux/systemes/linux/ lynx www.google.fr (tentez une recherche : - saisie mots-clefs sur la ligne - valider sur "pages france" - activez le lien "Recherche Google"
Tests et installations
D'abord, actualiser la base de données des paquets : apt-‐get update • ping
Communiquez vous par ping à la machine voisine ? à la passerelle (Ctrl-‐C pour arrêter) ? au DNS de www.iam.ma (212.217.0.1)?
• ssh L'utilitaire indispensable ssh n'est pas installé ! vite : apt-‐get install ssh Connectez vous à une machine voisine : ssh nom-‐[email protected] Que constatez-‐vous ? A quoi sert ssh ?
• nslookup Cet utilitaire interroge les serveurs DNS pour obtenir la correspondance nom de domaine <-‐-‐> adresse IP
comment l'installer apt-get install nslookup --> échec recherche du paquet, 2 façons : - si apt-file est installé : apt-file search nslookup - pour l'installer : apt-get install apt-file, suivi de apt-file update - interrogation à http://www.debian.org/distrib/packages apt-get install dnsutils tests nslookup www.google.fr nslookup adresse-IP
• traceroute Test : traceroute www.ucd.ac.ma examen du cheminement jusqu'à Créteil ..
• nmap A installer si nécessaire : apt-‐get install nmap nmap 172.16.0.x permet de scanner les ports ouverts sur le poste voisin p0x, c'est-‐à-‐dire de connaitre ses services actifs. On peut obtenir par exemple :
Port State Service 22/tcp open ssh 80/tcp open http 111/tcp open sunrpc (portmap) 139/tcp open netbios-ssn (samba) 389/tcp open ldap 443/tcp open https 3306/tcp open mysql
ANNEXES
Les services réseaux
• Une machine (un hôte) peut héberger des services réseaux. Exécuter un service, c'est lancer un ou plusieurs "démons", processus exécutés en mémoire, en tâche de fond, et qui scrutent en permanence les demandes de connexion qui leur sont adressé, en provenance du réseau. (Pour plus de détail voir les tp "initialisation" et "gestions des processus") Donc en fonctionnement, ces processus serveurs attendent en quelque sorte "le client". Mais comment se distinguent-‐ils et écoutent-‐ils les demandes émanant de machines clientes ?
• Pour les distinguer, chacun de ces processus est doté d'un numéro de "port" (rien à voir avec les ports série et parallèles !). La liste des correspondances entre le nom du service, le protocole TCP (ou UDP) qui le contrôle et son numéro de port standard, se trouve dans le fichier
/etc/services Conventionnellement, les ports de numéros inférieurs à 1024 (dits privilégiés), sont écoutés par des services démarrés uniquement par root
• Par exemple, les serveurs httpd, sshd, proftpd écoutent habituellement sur les ports respectifs 80, 22, 21. Les exemples qui précèdent donnent d'autres exemples De son coté, un programme client, pour s'adresser convenablement à un serveur doit préciser -‐ son adresse ip (ou un nom de domaine qui sera résolu en adresse ip par un serveur DNS accessible) -‐ ET le numéro du port sur lequel ce serveur "écoute" Ensuite s'engage un dialogue d'identification mutuelle, qui aboutit à une connexion de durée variable. Exemples : -‐ lorsqu'on paramètre un client de messagerie et de ftp, on laisse les valeurs des ports par défaut, en général les ports 110 (serveur POP3) et 21 (serveur ftp). -‐ inversement, il peut s'avérer nécessaire de s'adresser à un serveur WEB sur un autre port que les ports 80 (ou 443 pour https) traditionnels. Exemples : -‐ https://192.168.0.209:10000 : connexion au serveur WEBMIN -‐ http://se3:909 : accès au serveur WEB d'administration se SE3
• Les services réseaux "démons" Certains services beaucoup sollicités sont exécutés en permanence, comme les serveurs web ou de messagerie, Mais si tous les serveurs étaient lancés en même temps pour écouter sur leur port respectif, et éventuellement établir une connexion, quel encombrement de la mémoire et quelle charge CPU inutile il en résulterait !
• Les services réseaux "inetd" Une méthode bien plus efficace a été mise au point : elle consiste à séparer les tâches d'écoutes et de services proprement dit. Ainsi, les serveurs a priori moins sollicités (telnet, ftp, pop ...) ne sont démarrés qu'en cas de besoin, en présence d'une requête émanant d'un client ayant-‐droit. Ceci a été réalisé par un système de sous-‐traitance qui permet la séparation des taches : -‐ un superviseur, le serveur spécialisé inetd ou xinetd, écoute l'ensemble des ports d'entrée -‐ vérifie si nécessaire le droit du client (selon sa provenance ) -‐ démarre une instance du serveur particulier auquel s'adresse la requête Pour controler le super-‐serveur inetd : /etc/init.d/inetd start | stop Quel est le mécanisme ? -‐ La nature de la requête incidente est identifiée selon le protocole qu'elle utilise et le port serveur auquel elle s'adresse -‐ Le service demandé est connu en regardant dans la base de données stockée dans les fichiers /etc/protocols et /etc/services. -‐ inetd utilise /etc/inetd.conf, pour savoir si le service demandé est un de ces "clients" inscrits. Il est donc recommandé pour la sécurité du système de désactiver les services non utilisés dans /etc/inetd.conf.
L'utilitaire netstat
Il affiche des informations détaillées sur le sous-‐système réseau Quelques options : • netstat -‐r, (ou netstat -‐nr) pour afficher la table de routage • netstat -‐t donnent toutes les connexions tcp actives (sockets) • netstat -‐c affiche en continu (mise à jour toutes les s)
Pour les autres options et usages de netstat, voir le "man"
Quelques exemples : • netstat -‐nt permet de connaitre les connexions actives sur le serveur, à quels
services et provoquées par quel client. La liste des services avec les ports d'accès correspondants prévus est consultable dans le fichier /etc/services Par exemple, ce qui suit montre que mon serveur est en connexion samba (service netbios, sur le port 139) avec un client sous windows.
# netstat -t Connexions Internet actives (sans serveurs) Proto Recv-Q Send-Q Adresse locale Adresse distante Etat tcp 0 0 dell.maison:netbios-ssn pc2.maison.fr:1065 ESTABLISHED
• netstat -‐lt permet de connaitre les serveurs en attente (l=listen), c'est-‐à-‐dire
les ports TCP ouverts netstat -‐nlt idem avec les numéros de ports (n=numérique)
• netstat -‐at, pour lister les toutes les connexions serveurs et clientes. Commentez les infos suivantes provenant de mon réseau "maison", en particulier découvrir ce que je venais de faire comme "client" :