7
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 nettools. 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

TPN2

Embed Size (px)

DESCRIPTION

TP

Citation preview

Page 1: TPN2

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    

Page 2: TPN2

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)      

 

Page 3: TPN2

 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.  

   

Page 4: TPN2

 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  

Page 5: TPN2

 

 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  

Page 6: TPN2

/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)  

Page 7: TPN2

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"  :