ISTA HAY RIAD FORMATRICE BENSAJJAY FATIHA



Documents pareils
RTN / EC2LT Réseaux et Techniques Numériques. Ecole Centrale des Logiciels Libres et de Télécommunications

DHCPD v3 Installation et configuration

INSTALLATION ET CONFIGURATION DE OPENLDAP

Administration UNIX. Le réseau

I. Présentation du serveur Samba

Ce TP consiste à installer, configurer et tester un serveur DNS sous Linux. Serveur open source : bind9 Distribution : Mandriva

TP DHCP et DNS. Université Pierre Mendès France U.F.R. Sciences de l Homme et de la Société Master IC²A

TP2 - Conguration réseau et commandes utiles. 1 Généralités. 2 Conguration de la machine. 2.1 Commande hostname

Dynamic Host Configuration Protocol

But de cette présentation. Contrôleur de domaine avec Samba (rédigé pour Ubuntu Server) Introduction. Samba: principes

Serveur Linux : FTP. Mise en place d un service FTP sous Linux. Bouron Dimitri 20/04/2014

I. Adresse IP et nom DNS

Projet Semestre2-1SISR

OpenLDAP, un outil d administration Réseau. Une implémentation d OpenLDAP

machine.domaine

Installation et configuration d un serveur SAMBA sous linux Red Hat

Imprimantes et partage réseau sous Samba avec authentification Active Directory

ASR4 Réseaux Département Informatique, IUT Bordeaux 1. DHCP Prénom : Nom : Groupe :

Configuration d'un annuaire LDAP

Serveur DHCP et Relais DHCP (sous Linux)

Installer un domaine DNS

LINUX REMPLAÇANT WINDOWS NT

Département R&T, GRENOBLE TCP / IP

FreeNAS Shere. Par THOREZ Nicolas

WINDOWS NT 2000: Travaux Pratiques. -Boîtier partage d'imprimante- Michel Cabaré Janvier 2002 ver 1.0

Table des matières Hakim Benameurlaine 1

Administration Réseau sous Ubuntu SERVER Serveur DHCP

Domain Name System. F. Nolot

Classe et groupe : 1P 3 SEN TRI. Ubuntu : serveur Contrôleur de Domaine (PDC) avec SAMBA

L annuaire et le Service DNS

Jeudis du libre, Samba ou comment donner le rythme aux stations Windows

Journée Josy/PLUME. Outils logiciels libres utiles à tout ASR SAMBA. Maurice Libes. Centre d'océanologie de Marseille UMS 2196 CNRS

FTP-SSH-RSYNC-SCREEN au plus simple

Mise en œuvre de Rembo Toolkit

DHCP Dynamic Host Configuration Protocol (Protocole de Configuration d'hôte Dynamique)

Formateurs : Jackie DAÖN Franck DUBOIS Médiapôle de Guyancourt

1 Configuration réseau des PC de la salle TP

TP 1 : LES COMMANDES RESEAUX Matière: RESEAUX LOCAUX

COMMANDES RÉSEAUX TCP/IP WINDOWS.

Installation d un serveur DHCP sous Gnu/Linux

TP LINUX : LINUX-SAMBA SERVEUR DE FICHIERS POUR UTILISATEURS WINDOWS

Attribution dynamique des adresses IP

titre : CENTOS_BIND_install&config Système : CentOS 5.7 Technologie : Bind 9.3 Auteur : Charles-Alban BENEZECH

Couche application. La couche application est la plus élevée du modèle de référence.

But de cette présentation

Installation d'un serveur DHCP sous Windows 2000 Serveur

LINUX Préparation à la certification LPIC-3 (examen LPI 300) - 2ième édition

Réseaux Active Directory

Administration Système & Réseau. Domain Name System Historique & Concepts Fonctionnalités & Hiérarchie Requêtes & Base de donnée DNS

Ajout et Configuration d'un nouveau poste pour BackupPC

Configuration réseau Basique

PARAMETRER SAMBA 2.2

UE5A Administration Réseaux LP SIRI

MI03 TP. Objectifs du TP 1ère séance. 2ème séance. Construction d'un système linux embarqué complet

BIND : installer un serveur DNS

Module 1 : Introduction à TCP/IP

SSH, le shell sécurisé

Étude de l application DNS (Domain Name System)

Mise en place Active Directory / DHCP / DNS

Installation et configuration d un serveur DHCP (Windows server 2008 R2)

Couplage openldap-samba

DNS ( DOMAIN NAME SYSTEM)

Installation de Windows 2003 Serveur

TR2 : Technologies de l'internet. Chapitre VII. Serveur DHCP Bootp Protocole, Bail Relais DHCP

Faites danser votre serveur avec Samba. Association LOLITA

Installation de Windows 2000 Serveur

Microsoft Windows NT Server

TP de réseaux : Domain Name Server.

1. Présentation du TP

Administration réseau Résolution de noms et attribution d adresses IP

WEBMESTRE : CONCEPTION DE SITES ET ADMINISTRATION DE SERVEURS WEB

Aubert Coralie, Ruzand Brice GTR 2002 Bonvarlet Manuel, Desroches Alexandre, Magnin Cyril DRT Notice technique 1

TP : Introduction à TCP/IP sous UNIX

Devoir Surveillé de Sécurité des Réseaux

Ubuntu Linux Création, configuration et gestion d'un réseau local d'entreprise (3ième édition)

TP DNS Utilisation de BIND sous LINUX

Préparation à l installation d Active Directory

Projet Administration Réseaux

L3 informatique Réseaux : Configuration d une interface réseau

Les commandes relatives aux réseaux

OpenMediaVault installation

Administration de Parc Informatique TP03 : Résolution de noms

Serveur de messagerie sous Debian 5.0

Sur un ordinateur exécutant Windows 2000 Server Ayant une adresse IP statique

1 DHCP sur Windows 2008 Server Introduction Installation du composant DHCP Autorisation d'un serveur DHCP...

Domain Name System ot ol F. N 1

TP n 2 : Installation et administration du serveur ProFTP. Partie 1 : Fonctionnement du protocole FTP (pas plus de 15min)

Institut Universitaire de Technologie

Introduction...3. Objectif...3. Manipulations...3. Gestion des utilisateurs et des groupes...4. Introduction...4. Les fichiers de base...

Le protocole ARP (Address Resolution Protocol) Résolution d adresses et autoconfiguration. Les protocoles ARP, RARP, TFTP, BOOTP, DHCP

Protocoles DHCP et DNS

La sécurité avec SSH. Atelier cctld Dakar, Sénégal. Hervey Allen

Service Informatique et Télématique (SITEL), Emile-Argand 11, 2009 Neuchâtel, Tél ,

TP 1 et 2 de Réseaux en Master 1 Informatique : Assemblage d un réseau, configuration d adresses IP sous Linux et Windows

Résolution de nom avec Bind

Installation de la messagerie EMWAC IMS Sur Windows NT4 serveur ou Windows 2000 serveur

IP & Co. 1. Service DHCP. L'objectif de ce TP est de voir l'ensemble des services élémentaires mis en oeuvre dans les réseaux IP.

SECURITE DES SYSTEMES DʼINFORMATION FREEIPA Projet de semestre ITI 3eme année Etudiant RAZAFIMAHATRATRA LAURE Professeur : Gérald LITZISTORF

Transcription:

Administration sous Linux ISTA HAY RIAD FORMATRICE BENSAJJAY FATIHA ANNEE 2014

Table des matières I. Service de résolution de noms de domaine... 4 1. Présentation des concepts... 4 2. Installation de BIND... 6 3. Configuration de BIND... 6 4. b. Description des différents fichiers de zone... 8 II. Présentation de LDAP... 12 1. Le langage de commande... 14 2. Créer une base de données... 15 3. Installer, configurer et Administrer LDAP... 15 4. Authentification système LDAP sur un système GNU/Linux... 17 III. Serveur DHCP... 19 1. Présentation du protocole DHCP... 19 2. Principales fonctions DHCP... 20 3. Fonctionnement du protocole DHCP... 20 4. Installation du serveur DHCP... 21 IV. TCP/IP LINUX Les outils de base... 23 1. ping... 23 2. ifconfig... 24 3. arp... 24 4. route... 24 5. netstat... 25 6. traceroute... 25 7. telnet... 25 8. ftp... 26 9. nslookup... 27 V. Configurer l accès réseau distant... 28 1. Utilisation de Telnet... 28 2. Utilisation de rlogin, rsh et rcp... 28 3. Configuration de ssh... 29 4. Configuration d une connexion VPN sous Linux... 31 VI. Serveur SAMBA... 32 Services réseau sous Linux Page 2

1. Rôle et fonctionnement... 32 2. Configuration de SAMBA... 33 VII. Le système d'impression... 38 Services réseau sous Linux Page 3

I. Service de résolution de noms de domaine Le service de résolution de noms d'hôtes DNS (Domain Name Services), permet d'adresser un hôte par un nom, plutôt que de l'adresser par une adresse IP. Quelle est la structure d'un nom d'hôte? Nom_d_hôte ou bien Nom_d_hôte.NomDomaine Exemple : ns1 ou bien ns1.foo.org Le nom de domaine identifie une organisation dans l'internet, comme, par exemple, yahoo.com, wanadoo.fr, eu.org. Dans les exemples, nous utiliserons un domaine que l'on considère fictif : «foo.org». Chaque organisation dispose d'un ou plusieurs réseaux. Ces réseaux sont composés de noeuds, ces noeuds (postes, serveurs, routeurs, imprimantes) pouvant être adressés. 1. Présentation des concepts Services réseau sous Linux Page 4

Services réseau sous Linux Page 5

2. Installation de BIND Tout d abord il faut installer bind sur la machine car c est le logiciel utilisé pour le serveur DNS. Le fichier téléchargé était une archive (exemple : bind-9.2.2.tar.gz). On le copie dans un fichier appelé temp par exemple que l on a crée dans /etc Pour le décompresser : tar xvzf bind-9.2.2.tar.gz On rentre ensuite dans la racine du fichier ainsi crée : cd /temp/bind-9.2.2 afin de pouvoir compiler en utilisant la commande./configure suivi de make pour la compilation en elle-même et pour finir make install afin d installer les différents fichiers compilés. Pour configurer Bind, il faut éditer les différents fichiers de configuration. 3. Configuration de BIND Fichier de configuration principal Le fichier de configuration principal named.conf permet de configurer les options de fonctionnement, autorisations, redirections et les différentes zones utilisées par le serveur DNS. Services réseau sous Linux Page 6

Exemple de fichier /etc/named.conf Services réseau sous Linux Page 7

Signification des différents champs - Le bloc "options" contient les options qui affectent le fonctionnement général du logiciel. - L'option "directory" indique à named où il doit trouver tous ses fichiers de configurations (ici dans le dossier /var/named). Tous les autres fichiers auront donc un chemin relatif à celui-ci. - Chaque bloc zone"..." contient la description d'une zone. - La directive " type master" signifie que le serveur est maître pour cette zone et qu il contient tous les renseignements utiles. - Le bloc zone"." permet à BIND d'interroger les domaines racines (com, fr, org, etc.) sur les serveurs racines Internet. Le fichier named.ca contient les adresses de ces serveurs racines. - La zone"clad.org" contient la description du domaine clad.org. Il contient la liste des adresses IP et des machines du serveur, ainsi que la correspondance machine-adresse IP. On peut aussi y préciser les serveurs de courriers, serveurs d'impression ou d'autres informations du même genre. - La zone "1.168.192.IN-ADDR.ARPA" est la zone de recherche inverse pour notre réseau interne. A partir de l'adresse IP, une résolution inverse est effectuée afin de trouver le nom de machine. - La zone "0.0.127.IN-ADDR.ARPA" est une zone de recherche inverse pour les adresses de type 127.0.0. Ces adresses sont utilisées en interne et correspondent à l'hôte "localhost". Elle est donc utile pour la résolution locale de la machine en elle-même. 4. b. Description des différents fichiers de zone Signification des différents mots-clé - IN signifie qu'il s'agit s'une zone Internet. - @ signifie qu'il fait référence au serveur lui-même. - La directive SOA signifie "Start of Authority" et sert à donner des informations sur la gestion de la zone. C est le premier enregistrement du fichier de configuration Suivent ensuite le numéro de série et 4 lignes indiquant respectivement le temps de rafraîchissement, nouvel essai, expiration, et temps de vie minimum (H=Hour, D=Day, W=Week) - Le champ NS fait référence à la machine servant de serveur de noms, il faut lui attribuer une adresse IP grâce au champ A, il faut aussi attribuer les adresses IP aux autres machines. - La ligne localhost permet de déclarer le serveur de nom Services réseau sous Linux Page 8

Exemple de fichiers de zone a- Le fichier named.ca est présent par défaut et contient les adresses des serveurs racine Internet. b- Fichier clad.org Le serveur de noms dans cet exemple est testdns c- Le fichier 1.168.192.in-addr.arpa : Le champ PTR sert pour l enregistrement de résolution inverse. On déclare les machines utilisant le serveur DNS. Le champ NS est présent pour la machine servant de serveur. Services réseau sous Linux Page 9

- Le fichier named.local correspondant à la zone "0.0.127.IN-ADDR.ARPA" pour la résolution locale de la machine. - Le fichier resolv.conf présent dans /etc La ligne search précise dans quel domaine effectuer les requêtes DNS. La ligne nameserver précise l adresse IP du serveur DNS. - Le fichier host.conf qu il faut éditer pour qu il soit comme suit. Cela précise au résolveur de regarder d abord les entrées du fichier /etc/hosts et ensuite d utiliser le serveur précisé dans resolv.conf. Pour tester que tout est bien configuré. Dans l invite de commande cmd je tape nslookup. Les lignes retournées sont le nom du serveur DNS ainsi que son adresse IP. Le serveur est opérationnel et prêt à répondre aux requêtes DNS. Services réseau sous Linux Page 10

Commandes utiles commande Ifconfig -a dmesg grep eth0 lspci grep Ethernet description Affiche la liste des interfaces réseau qui ont été détectées rechercher les messages contenant "eth0" pour avoir plus d'informations sur la première carte réseau détectée permet d'afficher les cartes réseaux reliées au bus PCI ifconfig <interface> <adresse ip> ifconfig eth0 192.168.1.12 netmask 255.255.255.128 ifconfig eth0 attribuer une adresse IP à une interface réseau 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 : Pour voir si la carte réseau est bien configurée route add default gw <adresse ip> Pour ajouter une passerelle route -n afficher les routes vers les différents réseaux netstat -a /etc/init.d/hostname.sh hostname <nom d'hôte> vérifier le statuts de toutes les interfaces Le fichier /etc/hostname contient le nom de la machine. Il suffit de l'éditer pour changer le nom d'hôte de la machine. Cette modification n'est pas prise en compte immédiatement par le système. Elle le sera au prochain démarrage de la machine ou après avoir lancé On peut changer le nom d'hôte avec la commande suivante, mais il ne sera pas conservé au prochain démarrage auto lo iface lo inet loopback Le fichier /etc/network/interfaces permet de configurer les cartes réseau de manière permanente. Services réseau sous Linux Page 11

auto eth0 iface eth0 inet static address 192.168.1.2 netmask 255.255.255.0 gateway 192.168.1.1 auto eth0 iface eth0 inet dhcp l'interface eth0 doit être configurée automatiquement par un serveur DHCP nameserver 208.164.186.1 nameserver 208.164.186.2 search foo Le fichier /etc/resolv.conf contient les adresses IP des serveurs DNS. 192.168.105.2 serverrh Le fichier /etc/hosts contient une liste de résolutions de noms (adresses IP et noms de machine). II. Présentation de LDAP LDAP (Light Directory Access Protocol) est un service d'annuaire dérivé de la norme X.500. Un serveur LDAP permet de centraliser des informations très diverses. Il offre de nombreux avantages : un serveur d'annuaire (recensement de tous les objets d'un système) ; Information sur les utilisateurs (nom, prénom...), et données d'authentification pour les utilisateurs ; Information pour les applications clientes et fonctions de serveur d'accès itinérant; bien d'autres choses... LDAP supporte le chiffrement SSL et cohabite parfaitement avec les applications Samba, DNS, NFS... LDAP fournit un ensemble d'outils. un protocole permettant d'accéder à l'information contenue dans l'annuaire, un modèle d'information définissant l'organisation et le type des données contenues dans l'annuaire, un modèle de nommage définissant comment l'information est organisée et référencée un modèle fonctionnel qui définit comment accéder à l'information, un modèle de sécurité qui définit comment accéder aux données et comment celles-ci sont protégées. OpenLDAP est souvent configuré avec SASL (Simple Authentication and Security Layer), qui permet les transactions cryptées avec les protocoles fonctionnant en mode connecté. un modèle de duplication qui définit comment la base est répartie entre serveurs, Services réseau sous Linux Page 12

des APIs pour développer des applications clientes, LDIF, (Ldap Data Interchange Format) un format d'échange de données. Un protocole d'accès aux données, qui décrit comment ajouter, modifier, supprimer des données dans la base de donnée, quels protocoles de chiffrement (kerberos, ssl...), et quels mécanismes d'authentification sont utilisés. Ce protocole est utilisé dans la relation client/serveur, mais également entre serveurs (serveur/serveur) car une base de données LDAP peut être répartie. LDAP fournit un modèle d'organisation des données. Ces données sont organisées sous forme hiérarchique. L'arbre est nommé Directory Information Tree (DIT). Le sommet (racine), contient le "suffixe". Chaque noeud représente une "entrée" ou "Directory Entry Service" (DSE). Les données sont stockées sur un format de base de données hiérarchique de type "dbm". Ce format est différent des bases de données relationnelles. DBM est conçu pour supporter peu de mises à jour, mais de nombreuses consultations. Services réseau sous Linux Page 13

Le scope (Profondeur de recherche) Le scope définit la profondeur de la recherche dans l'arbre des données. La figure montre la portée d'une recherche ou d'une comparaison en fonction du paramètre scope. 1. Le langage de commande - slapadd, slapcat, slapindex, slappasswd, fournis avec les serveurs LDAP (utilisables sous le compte root). - ldapadd, ldapdelete, ldapmodify, ldapmodrdn, ldappasswd, ldapsearch, fournis avec les utilitaires ldap (utilisable par les utilisateurs et les applications). Ils sont fournis par le paquet (ldap-utils) Exemple : ldapsearch -x -h localhost -b "dc=mydomain,dc=fr" "objectclass=*" Recherche de tous les objets sur l'annuaire de la machine locale, à partir de la racine. (-b indique à partir de quel niveau la recherche doit être exécutée). L'option «-x» indique de ne pas utiliser la méthode d'authentification SASL si elle n'est pas activée. ldapdelete 'cn=jean Colombani,cn=mydomain,cn=fr' Suppression d'une entrée dans l'annuaire ldapadd -f /tmp/unfichierauformatldif Ajout dans l'annuaire à partir d'un fichier contenant des données au format LDIF. Services réseau sous Linux Page 14

Note: Pour éviter d'avoir à préciser à chaque fois certains paramètres (machine, port, annuaire...) il est possible de configurer le fichier de configuration «ldap.conf» qui sera utilisé par les applications clientes 2. Créer une base de données Créer une base de données LDAP, va consister donc d'abord à créer une country (c) une ou plusieurs organisations (o) à 1 ou plusieurs niveaux définir les objets (feuilles de l'arbre) Il est possible d'importer les informations à partir d'un fichier texte dans la base de données grâce à un format d'échange de données, le format LDIF (Lightweight Data Interchange Format). 3. Installer, configurer et Administrer LDAP 1. Installer les packages nécessaires 2. configurer les fichiers de configuration 3. initialiser la base de données 4. configurer un client et tester le ou les services à partir d'un client 5. passer à l'administration Installer les packages sur le serveur tar xzvf openldap-x.y.z.tgz cd openldap.x.y.z./configure make make depend make test make install Installez également les packages perl, php et "dévelop" pour l'administration. ii slapd 2.1.30-2 OpenLDAP server (slapd) ii ldap-utils 2.1.30-2 OpenLDAP utilities ii libldap2 2.1.30-2 OpenLDAP libraries ii php4-ldap 4.3.8-1 LDAP module for php4 Les fichiers de configuration du serveur Il faut identifier les objets à référencer et les objectifs de l'annuaire. Les fichiers sont dans "/etc/openldap". Le premier fichier est "sldapd.conf" qui décrit les principaux paramètres de votre annuaire : Services réseau sous Linux Page 15

# $OpenLDAP: pkg/ldap/servers/slapd/slapd.conf,v 1.8.8.6 2001/04/20 23:32:43 kurt Exp $ # # See slapd.conf(5) for details on configuration options. # This file should NOT be world readable. # # Inclusion des schémas nécessaires include /etc/openldap/schema/core.schema include /etc/openldap/schema/cosine.schema include /etc/openldap/schema/inetorgperson.schema include /etc/openldap/schema/nis.schema # Options que vous pouvez modifier #pidfile //var/run/slapd.pid #argsfile //var/run/slapd.args ####################################################################### # ldbm database definitions ####################################################################### # Choix du format de base de données pour le stockage des informations. database ldbm # Configurer le suffixe (racine) de l'annuaire # en fonction du domaine DNS suffix "dc=my-domain,dc=com" # ou d'une autre organisation #suffix "o=my Organization Name,c=US" # L'administrateur de l'annuaire rootdn "cn=manager,dc=my-domain,dc=com" # Le mot de passe de l'administrateur, préférer une option cryptée # La commande htpasswd peut très bien faire l'affaire pour encrypter # rootpw secret # rootpw {crypt}ijfyncsnctbyg # Emplacement de la base de données directory /var/lib/ldap # Création des index. # Comme pour une base de données, indexer les rubriques # les plus utilisées. index objectclass,uid,uidnumber,gidnumber,memberuid eq index cn,mail,surname,givenname eq,subinitial # La réplication ne sera pas utilisée ici # Vous pouvez répliquer tout ou partie d'un arbre Services réseau sous Linux Page 16

# activée par le daemon slurpd # Directives de replication # sinon les mettre dans un fichier à part et utiliser # replogfile /chemincomplet/du/fichier # Indiquer quels sont les serveurs réplicats # et la méthode d'authentification # Ici le serveur local, se répliquera sur ldap1 #replica host:ldap-1.example.com:389 # bindmethod=simple # binddn="cn=replicat_slave1, dc=mydomain, dc=fr" # credential=unmotdepasse # Accés par défaut sur la base defaultaccess read Protéger ensuite le fichier avec un "chmod 600 /etc/openldap/slapd.conf". Les autorisations d'accès nécessitent une remarque. Ici l'accès par défaut est "read", mais il est possible d'affiner. Par exemple avec des règles d'écriture comme: access to <what> [ by <who> <none compare search read write>] # Donne un accés en écriture pour le manager du domaine access to * by dn="cn=manager,dc=mydomain,dc=fr" write # Donne un accés en lecture à tout le monde sur la base access to * by * read # Donne un accés en écriture sur un attribut pour le manager # en lecture pour les autres. access to attr=uid by dn="manager,dc=mydomain,dc=fr" write by * none Le nombre d'options est très important, utilisez la commande "man slapd.conf". 4. Authentification système LDAP sur un système GNU/Linux Faites une sauvegarde de vos fichiers de configuration. root@uranus:/etc/ldap# cp ldap.conf ldap.conf.orig root@uranus:/etc/ldap# cp slapd.conf slapd.conf.orig root@uranus:/etc# cp nsswitch.conf nsswitch.conf.orig root@uranus:/etc# cp libnss-ldap.conf libnss-ldap.conf.orig Services réseau sous Linux Page 17

Vérifier que votre serveur LDAP fonctionne. Vérifier que votre serveur Annuaire est opérationnel. 4.1 Configuration de l'environnement pour l'authentification système Les fichiers /etc/libnss-ldap.conf et /etc/pam_ldap.conf sont normalement configurés. Sinon vous pouvez utiliser les commandes : dpkg-reconfigure libnss-ldap dpkg-reconfigure libpam-ldap Prenez les options par défaut en prenant soin de tenir compte de la structure de votre annuaire. Pour nous : dc=point-libre,dc=org Vous devez également modifier le fichier /etc/nssiwtch.conf afin que les applications utilisent aussi bien les fichiers standards (passwd, shadow) que l'annuaire ldap. : passwd: group: shadow: files ldap files ldap files ldap 4.2 Premiers tests de l'annuaire La commande getent passwd doit vous permettre de récupérer à la fois les comptes du fichier /etc/passwd, mais également les compte de l'annuaire ldap qui n'existent pas dans la base passwd. # getent passwd [...] mlx:2/yajbmqc3tyw:1005:1005:bourg Jean:/home/mlx:/bin/bash mly:2/yajbmqc3tyw:1006:1006:bourg Marine:/home/mly:/bin/bash Ces deux comptes proviennent bien de l'annuaire ldap. Vérification du fonctionnement de l'annuaire. L'utilisateur mly n'a pas de compte système. Il n'existe que dans l'annuaire ldap. Créez un répertoire et affectez-le au compte. # mkdir /home/mly # chown 1006:100 /home/mly # ls -al /home/mly drwxr-sr-x 2 mly users 4096 2003-06-09 13:50. # Ici le serveur fonctionne car il substitue bien l'uid à l'uidnumber # ls -al /home/mly Services réseau sous Linux Page 18

# Ici le serveur LDAP n'a pas été trouvé ou il ne fonctionne pas. drwxr-sr-x 2 1006 users 4096 2003-06-09 13:50. 4.3 Mise en place de l'authentification Mmodifier les fichiers de configuration afin d assurer l'authentification. Mettez en début de fichier : #/etc/pam.d/login auth sufficient pam_ldap.so account sufficient pam_ldap.so password required pam_ldap.so #/etc/pam.d/passwd auth sufficient pam_ldap.so account sufficient pam_ldap.so password sufficient pam_ldap.so Vérification de l'authentification : mlx@uranus:~$ su mly Password: #ici taper toto mly@uranus:~$ cd mly@uranus:~$ pwd /home/mly III. Serveur DHCP 1. Présentation du protocole DHCP Le protocole DHCP permet aux clients DHCP d un réseau IP d obtenir leurs configurations à partir d un serveur DHCP. Le protocole DHCP est décrit dans la RFC 2131. Un client DHCP est fourni avec la plupart des systèmes d exploitation récents, notamment les divers systèmes Windows, Novell Netware, Sun Solaris, Linux et MAC OS. Le protocole DHCP n est pas destiné à configurer les routeurs, les commutateurs et les serveurs. Ces types d hôtes nécessitent des adresses IP statiques. Le protocole DHCP s appuie sur le protocole de transport UDP (User Datagram Protocol). Le client envoie des messages au serveur sur le port 67. Le serveur envoie des messages au client sur le port 68. Différences entre les protocoles BOOTP et DHCP Services réseau sous Linux Page 19

La communauté Internet a tout d abord développé le protocole BOOTP pour assurer la configuration des stations de travail sans disque. Le protocole BOOTP a été défini à l origine dans la RFC 951 de 1985. Les deux protocoles sont de type client/serveur et utilisent les ports UDP 67 et 68. Ces ports continuent à s appeler les ports BOOTP. Les quatre paramètres IP de base sont: - L adresse IP - L adresse de passerelle - Le masque de sous-réseau - L adresse du serveur DNS 2. Principales fonctions DHCP Trois mécanismes permettent d attribuer une adresse IP au client : - L allocation automatique : DHCP attribue une adresse IP permanente à un client. - L allocation manuelle : C est l administrateur qui attribue l adresse IP au client. DHCP transfère l adresse au client. - L allocation dynamique : DHCP attribue une adresse IP au client pendant une durée limitée. Certains des paramètres de configuration disponibles sont énumérés dans l IETF RFC 1533: - Le masque de sous-réseau - Le routeur (la passerelle par défaut) - Le nom de domaine - Le(s) serveur(s) de noms de domaine - Le(s) serveur(s) WINS 3. Fonctionnement du protocole DHCP Le processus de configuration du client DHCP se déroule comme suit : Services réseau sous Linux Page 20

1. Lorsque le client DHCP démarre, il n'a aucune connaissance du réseau, du moins, en principe. Il envoie donc une trame "DHCPDISCOVER", destinée à trouver un serveur DHCP. Cette trame est un "broadcast", donc envoyé à l'adresse 255.255.255.255. N'ayant pas encore d'adresse IP, il adopte provisoirement l'adresse 0.0.0.0. Comme ce n'est pas avec cette adresse que le DHCP va l'identifier, il fournit aussi sa "MAC Address". 2. Le, ou les serveurs DHCP du réseau qui vont recevoir cette trame vont se sentir concernés et répondre par un "DHCPOFFER". Cette trame contient une proposition de bail et la "MAC Address" du client, avec également l'adresse IP du serveur. Tous les DHCP répondent et le client normalement accepte la première réponse venue. Le "DHCPOFFER" sera un broadcast (Ethernet) ou non, suivant le serveur DHCP utilisé. 3. Le client répond alors par un DHCPREQUEST à tous les serveurs (donc toujours en "Broadcast") pour indiquer quelle offre il accepte. 4. Le serveur DHCP Concerné répond définitivement par un DHCPACK qui constitue une confirmation du bail. L'adresse du client est alors marquée comme utilisée et ne sera plus proposée à un autre client pour toute la durée du bail. 4. Installation du serveur DHCP Au cours de ce TP on va installer et configurer un serveur DHCP sur une machine Linux fedora et en réalisant la configuration suivante : L'adresse IP du serveur DHCP : 192.168.12.1 Plage d'adresses à offrir : 192.168.12.10 192.168.12.150 Passerelle par défaut: 192.168.12.2 Nom de domaine DNS: ofppt.ma Adresse du serveur de noms DNS: 192.168.12.5 Préparation du serveur: Configurer l'interface réseau du serveur pour avoir l'adresse IP 192.168.12.1 ifconfig eth0 192.168.12.1 netmask 255.255.255.0 Installation du service DHCP Vérifiez si le 'daemon' dhcp-server est installé sur le serveur en tapant la commande: /etc/rc.d/init.d/dhcpd status Sinon pour installer le service dhcp-server, on utilise la commande suivante : rpm -ivh /mnt/cdrom/fedora/rpms/dhcp-server Services réseau sous Linux Page 21

Interfaces d'écoute du serveur dhcp Le serveur DHCP ne peut démarrer que s'il est configurer pour être lancer sur une ou plusieurs interfaces, le fichier /etc/default/dhcp sert pour indiquer la ou les interfaces d'écoute. INTERFACES="eth0 eth1" Lancement du serveur dhcp On lance le serveur DHCP avec la commande suivante : /etc/rc.d/init.d/dhcp-server start Configuration du Serveur DHCP La configuration consiste à créer deux fichiers : - /etc/dhcpd.conf : ce fichier sert à la configuration même du serveur (plages d'adresses, options) - /var/lib/dhcp/dhcpd.leases : ce fichier va servir à l'inscription des clients. Remarque : Tous les paramètres du fichier dhcpd.conf sont expliqués dans la page : man dhcpd.conf Le fichier /etc/dhcp/dhcpd.conf sert pour la configuration du serveur DHCP (plages d'adresses, options), si le fichier n'est pas créé, faites-le et y mettes les instructions suivantes : # Fichier créé par NomEtudiant le jj/mm/aa un petit commentaire ddns-update-style none; ne met pas en place le DNS dynamique max-lease-time 3600; durée du bail default-lease-time 3600; pour découvrir la différence entre les deux subnet 192.168.12.0 netmask 255.255.255.0 { définition de l'étendue range 192.168.12.10 192.168.12.150; plage d'adresse option routers 192.168.12.2; passerelle par défaut option domain-name "ofppt.ma"; nom du domaine DNS option domain-name-servers 192.168.12.5; serveur de nom DNS } Enregistrer /etc/dhcpd.conf Remarque : Les options entre { } sont spécifiques à l'étendue, pour être globale, elles doivent être définies en dehors. A chaque modification du fichier de configuration, on doit relancer le serveur DHCP : /etc/rc.d/init.d/dhcpd restart Vérifier la présence du fichier /var/lib/dhcp/dhcpd.leases, sinon, avec vi, créer ce fichier vide. Les clients qui obtiennent des adresses IP automatiquement via le serveur dhcp vont être enregistrés dans le fichier /var/lib/dhcp/dhcpd.leases Configuration d'une station cliente pour l'utilisation de DHCP Sur une station client (windows,..) et les paramètres du carte réseau, configurer la machine pour obtenir une adresse IP automatiquement. Services réseau sous Linux Page 22

Lancer la commande Ipconfig/renew et vérifier le résultat avec la commande Ipconfig/all Sur le serveur DHCP, regarder le contenu du fichier /var/lib/dhcp/dhcpd.leases - Quelles sont les informations qui permettent d'identifier le poste client? - Quelle est l'adresse MAC du poste client? Durée du bail Modifier le fichier /etc/dhcpd.conf pour que la durée du bail passe à 24h : max-lease-time 86400 Relancer le serveur DHCP avec la commande suivante : /etc/rc.d/init.d/dhcpd restart Tester le résultat sur le client avec la commande Ipconfig /renew Réservation d'une adresse spécifique à un client Il est possible d'attribuer toujours la même adresse particulière à un client (serveur web, etc..), modifier le fichier /etc/dhcpd.conf pour attribuer une adresse ip fixe au poste client en utilisant son adresse MAC. subnet 192.168.12.0 netmask 255.255.255.0 {... host NomPoste { hardware ethernet xx:xx:xx:xx:xx:xx; # @ mac du poste client fixed-address 192.168.12.112; # @ ip du poste client } } Relancer le serveur dhcp et tester le résultat sur le client avec ipconfig/renew Remarque: Il est possible de spécifier des options spéciales pour le poste client on les indiquant entre les accolades { } dans la zone : Host NomPoste {... option... }. IV. TCP/IP LINUX Les outils de base 1. ping Cette commande existe dans tous les systèmes. Elle permet de vérifier si une machine distante répond. La syntaxe ping -c 5 192.168.0.1 permet d envoyer 5 pings à la machine dont l'adresse IP est 192.168.0.1. On peut aussi utiliser le nom de la machine, si celle-ci est renseignée dans votre fichier Hosts ou dans un serveur DNS. On peut par exemple utiliser ping pour vérifier si la connexion est toujours active ou pour la monter. Si vous ne placez pas l'option -c 5 pour n'envoyer que 5 pings, la commande ne s'arrête pas. Utilisez alors Ctrl C. Services réseau sous Linux Page 23

2. ifconfig ifconfig permet de connaître la configuration de vos cartes réseau, mais aussi de changer celle-ci. Pour changer la configuration de votre carte réseau, vous devez taper : ifconfig eth0 192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255 Ou alors taper : ifconfig ETH0 192.168.0.2 (le netmask et broadcast proposés sont ceux correspondant à une adresse de classe C). Attention au redémarrage de la machine ce changement sera perdu. Il vous faut donc modifier en même temps le fichier /etc/sysconfig/network-script/ifcfg-eth0. Vous pouvez utiliser linuxconf pour faire plus simplement le même travail. On peut aussi désactiver une carte réseau ifconfig eth0 down et la réactiver ifconfig eth0 up 3. arp La commande arp permet de mettre en correspondance des adresses IP et les adresses MAC. Les options possibles importantes sont arp -a pour avoir toutes les entrées ARP de la table arp -d nom_de_la_machine pour supprimer une entrée de la table arp -s nom_de_la_machine adresses_mac pour ajouter une nouvelle entrée dans la table. 4. route Cette commande permet de voir, d'ajouter ou d'enlever les routes se trouvant déclarées sur votre machine. Ainsi pour indiquer à votre machine où aller trouver les adresses qui ne sont pas les adresses de votre réseau local, vous devez lui indiquer la passerelle (ou gateway) vers laquelle elle doit envoyer tous les paquets. Pour voir les routes indiquer route -n (on peut aussi utiliser netstat -nr) L'option -n permet de ne pas avoir la résolution des noms. Pour ajouter une route par défaut : route add default gateway 192.168.0.1 (La passerelle vers qui j'envoie tous les paquets qui ne sont pas pour le réseau local). Pour détruire cette route route del default Pour ajouter une route vers une machine indiquée : route add -host 195.98.246.28 gateway 192.168.0.1 (Indiquer le netmask si celui-ci n'est pas un mask correspondant à la classe de votre adresse). Pour ajouter une route vers un réseau indiqué : route add -net 195.98.246.0 netmask 255.255.0.0 gateway 192.168.0.1 Enfin pour supprimer une de ces routes remplacer add par del. Services réseau sous Linux Page 24

La gateway ou passerelle correspond la plupart du temps à votre routeur. Pour avoir la route que vous venez d'ajouter à chaque démarrage placer la commande dans le fichier /etc/rc.d/rc.local par exemple. On peut aussi utiliser linuxconf pour faire la même chose. 5. netstat Cette commande permet en effet de connaître les ports en écoute sur votre machine, sur quelles interfaces, avec quels protocoles de transport (TCP ou UDP), les connexions actives et de connaître les routes. Pour voir les connexions actives netstat -nt, pour les ports ouverts netstat -ntl. On peut aussi vérifier s'il existe une route par défaut, par exemple existe-t-il une route par défaut vers la machine 195.98.246.28 utilisez alors netstat -nr grep 195.98.246.28. L'option -a énumère les ports en cours d'utilisation ou ceux qui sont écoutés par le serveur. L'option -i donne des informations sur les interfaces réseau. 6. traceroute Traceroute permet de déterminer la route prise par un paquet pour atteindre la cible sur internet. On peut utiliser soit l'adresse IP, soit le nom d'hôte. Attention certains FireWall ou routeurs ne se laissent pas voir avec la commande traceroute. La commande traceroute est très utile pour savoir ou peut se trouver un blocage (plutôt ralentissement). Il existe un grand nombre d'options, entre autre il est possible de choisir les gateway (jusqu'à 8) pour atteindre une machine. Je vous conseille donc encore une fois de lire le man traceroute. 7. telnet Telnet est l'outil indispensable à connaître. Il existe en tant que client sur tous les systèmes. Par contre Linux dispose en plus d'un serveur telnet permettant d'administrer à distance une machine (quoiqu'il existe maintenant un serveur telnet sur windows 2000). On peut ainsi administrer une machine linux depuis un Microsoft quelconque et, mais cela va de soi, depuis une autre machine linux. En tant que client, Telnet vous permet d'envoyer et de lire vos messages. Pour pouvoir administrer à distance, il faut que le serveur telnet soit installé sur la machine que vous souhaitez administrer. Pensez aussi à vérifier que cela est autorisé dans le fichier Services réseau sous Linux Page 25

etc/inetd.conf et dans /etc/hosts.allow et /etc/hosts.deny (voir tcp wrappers). Si vous devez vous en servir sur un réseau local ou sur internet, préférez lui SSH (ou la version autorisée en France SSF), car alors les mots de passe ne se promènent pas en clair sur le réseau. Par défaut il n'est pas possible de se connecter en root avec une connexion telnet. Vous devez utiliser un autre compte et utiliser la commande su. 8. ftp ftp est un outil qui permet de télécharger des fichiers entre machines. Vous connaissez les clients ftp comme ws_ftp. Sous Linux il existe un serveur ftp, que vous activez dans /etc/inetd.conf. Il est installé par défaut dans toutes les distributions. Ce serveur ftp n'est pas lié à l'installation d'apache, comme pour les systèmes Microsoft où vous devez installer IIS pour bénéficier de ce service. Attention toutefois le serveur ftp pose un problème de sécurité important, utilisez plutôt SFTP, qui est disponible avec SSH. Vous disposez aussi d'un client ftp en ligne de commande sous Linux comme sous Microsoft. La syntaxe étant pratiquement la même. [philippe@lycee1 /]$ ftp localhost Connected to localhost. 220 lycee1.ac-creteil.fr FTP server (Version wu-2.6.0(1) Mon Feb 28 10:30:36 EST 2000) ready. Name (localhost:philippe): philippe 331 Password required for philippe. Password: 230 User philippe logged in. Remote system type is UNIX. Using binary mode to transfer files. ftp> binary 200 Type set to I. ftp> mget * Voici les commandes que vous allez utiliser le plus : Services réseau sous Linux Page 26

Il existe un grand nombre d'autres commandes. Mais vous avez là les principales, pour copier des fichiers entre machines. La commande ftp vous rendra un grand nombre de services, car elle permet assez simplement d'échanger des fichiers entre linux et windows, sans avoir à installer un client ftp ou à configurer samba. 9. nslookup L'utilitaire nslookup permet d'interroger un serveur de nom (serveur dns) afin d'avoir des informations sur un domaine ou sur une machine. Par défaut nslookup utilise le serveur de nom configuré sur votre machine, vous pouvez toutefois interroger un autre serveur de nom. [root@aleu /]#nslookup Default Serveur: localhost Car j'ai un serveur dns sur ma machine Address: 127.0.0.1 >help Pour avoir de l'aide >set type = MX Pour lister les entrées de type MX (à savoir les serveurs SMTP du domaine). >ac-creteil.fr Le nom du domaine dont vous voulez avoir des MX Remplacer MX par le type d'enregistrement que vous souhaitez avoir. Par exemple NS pour les serveurs de nom d'un domaine, SOA pour start of authority, PTR pour le reverse, A pour une machine. Pour avoir toutes les informations : set type=any puis le nom du domaine. On peut aussi utiliser la commande ls -t CNAME nom_du_domaine pour avoir tous les enregistrements de type cname (les alias). Pour interroger un autre serveur DNS que votre serveur par défaut server NAME 195.98.246.50. who Cette commande permet de connaître les personnes qui sont loguées sur votre machine. Services réseau sous Linux Page 27

V. Configurer l accès réseau distant 1. Utilisation de Telnet Vérifier la présence du paquetage «telnet-server» sur votre machine : # rpm qa grep telnet Au cas où il n est pas installé, procéder à son installation : # rpm ivh telnet-server Tester votre serveur Telnet en essayant de réaliser une connexion sur la boucle locale de la machine : # telnet localhost Pourquoi votre connexion est refusée? Vérifiez si votre service Telnet est activé : # chkconfig list grep telnet Activer le service Telnet : # chkconfig telnet on Depuis une autre machine sur le réseau effectuez une connexion Telnet sur votre poste «Poste1» et connectez-vous en tant qu un utilisateur de la machine «Poste1» # telnet Poste1 2. Utilisation de rlogin, rsh et rcp - Vérifier l existence du paquetage «rsh-server» sur votre poste «Poste1e» : $ rpm qa grep rsh - Une fois votre paquetage installé, activer le service rsh et rlogin : $ chkconfig rsh on - Depuis une autre machine «Poste2» connectez vous en rlogin à votre serveur «Poste1» en étant l utilisateur «Stagiaire1» $ rlogin l Stagiaire1 Poste1 - Après saisie du mot de passe de «Stagiaire1» sur Poste1 vous pouvez maintenant travailler à distance sur la machine Poste1. - Devenez «root» sur Poste1 à distance : Stagiaire1@Poste1> su Services réseau sous Linux Page 28

- Depuis la machine «Poste2» consulter le contenu du répertoire «/data» du serveur «Poste1» en utilisant une connexion rsh sur le compte «Stagiaire1» du serveur root@poste2> rsh l Stagiaire1 Poste1 ls /data - Pour permettre au «root» de la machine cliente «Poste2» de se connecter au compte «Stagiaire1» du serveur «Poste1» sans demande de mot de passe. Sur le serveur «Poste1», l utilisateur «Stagiaire1» crée un fichier «/home/stagiaire1/.rhosts» dans lequel il rajoute la ligne suivante : Poste2 root - Ressaisir la même commande de la question 6, quelle est votre remarque? - Depuis le compte «root» de la machine «Poste2» copier le Fichier «/etc/passwd» du serveur «Poste1» en utilisant le compte «Stagiaire1» du serveur root@poste2> rcp bengali@poste2:/etc/passwd. 3. Configuration de ssh - Vérifier l existence du paquetage «openssh-server» sur votre poste «Poste1» $ rpm qa grep openssh - Une fois votre paquetage installé, éditez le fichier /etc/ssh/sshd_config pour configurer votre serveur sur l un des deux modes disponibles : a) Authentification par mot de passe b) Authentification par clé publique Pour le cas a) : Ajuster votre fichier de configuration de façon à contenir les lignes suivantes : Port 22 Protocol 2 ListenAddress votre_ip ServerKeyBits 1024 PermitRootLogin no PubkeyAuthentication no IgnoreRhosts yes PasswordAuthentication yes UsePAM yes Compression yes Pour le cas b) ajuster votre fichier de façon à contenir les lignes suivantes : Port 22 Protocol 2 ListenAddress votre_ip ServerKeyBits 1024 PermitRootLogin no Services réseau sous Linux Page 29

PubkeyAuthentication yes AuthorizedKeysFile.ssh/authorized_keys IgnoreRhosts yes - Lancer votre serveur ssh $ /etc/init.d/ssh start Configuration du client Deux cas de figure se présentent dépendamment de la configuration du serveur. a) Authentification par mot de passe. 1) Créer la paire de clé publique/privée abdi@client > ssh-keygen t rsa 2) Connectez vous sur le compte Stagiaire1 du serveur ssh abdi@client > ssh Stagiaire1@serveur The authenticity of host 'serveur (192.168.0.112)' can't be established. RSA key fingerprint is 33:93:84:34:59:8f:2a:d6:4a:fb:51:27:12:36:53:ac. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'serveur,192.168.0.112' (RSA) to the list of known hosts. Stagiaire1@serveur's password: votre mot de passe Last login: Thu May 6 15:41:29 2004 from 192.168.0.42 Linux serveur 2.4.24 #1 Wed Feb 11 01:01:56 CET 2004 i686 GNU/Linux Remarque: C'est seulement lors de la première connexion que l'on nous demande de répondre par yes ou par no de façon à ajouter la clé publique du serveur dans notre fichier ~/.ssh/known_hosts. b) Authentification par clé publique Générer la paire de clé publique/privée abdi@client > ssh-keygen t rsa Votre paire de clé sur le serveur Sur la machine cliente rajoutez votre clé publique au fichier «authorized_keys» abdi@client > cat id_rsa.pub >> authorized_keys Exécutez la commande hostname sur le serveur abdi@client > ssh serveur hostname Vous remarquez que le système ne vous demande pas votre mot de passe. Services réseau sous Linux Page 30

4. Configuration d une connexion VPN sous Linux Configuration IPSec LAN-to-LAN - Munissez-vous de 2 machines Linux qui vont jouer le rôle de passerelle IPSec entre 2 LAN Machine1 : Poste2.ofppt.ma avec IP 192.0.0.2 protégeant le réseau 172.16.0.0/24 Machine 2 : Poste3.ofppt.ma avec IP 192.0.0.9 protégeant le réseau 10.0.0.0/24 - Télécharger le paquetage «openswan» - Installer le paquetage «openswan» sur les 2 passerelles - Sur la machine «Poste2» récupérer la clé rsa root@poste2> ipsec showhostkey --left - Connectez-vous en ssh sur «Poste3» root@poste2> ssh Poste3.ofppt.ma - Récupérer la clé rsa de Poste3 root@poste3 > ipsec showhostkey right - Sur la machine «Poste2» éditer le fichier «/etc/ipsec.conf» et remplissez tel ci-dessous conn net-to-net left=192.0.2.2 # Local vitals leftsubnet=172.16.0.0/24 # leftid=@poste2.ofppt.ma # leftrsasigkey=0s1lgr7/oum... # leftnexthop=%defaultroute # correct in many situations right=192.0.2.9 # Remote vitals rightsubnet=10.0.0.0/24 # rightid=@poste3.ofppt.ma # rightrsasigkey=0saqoqh55o... # rightnexthop=%defaultroute # correct in many situations auto=add # authorizes but doesn't start this # connection at startup - Copier le bloc «conn net-to-net» sur le fichier «/etc/ipsec.conf» de la machine Poste3 - Initier la connection VPN sur la machine «Poste2» root@poste2> ipsec auto - - up net-to-net Vous verrez sur votre écran 104 "net-net" #223: STATE_MAIN_I1: initiate 106 "net-net" #223: STATE_MAIN_I2: sent MI2, expecting MR2 Services réseau sous Linux Page 31

108 "net-net" #223: STATE_MAIN_I3: sent MI3, expecting MR3 004 "net-net" #223: STATE_MAIN_I4: ISAKMP SA established 112 "net-net" #224: STATE_QUICK_I1: initiate 004 "net-net" #224: STATE_QUICK_I2: sent QI2, IPsec SA established Vous remarquez l établissement de la connexion IPSec - Testez votre connexion VPN en réalisant un ping entre 2 machines des reseaux protégés par les passerelles - Lancez «tcpdump» depuis la machine «Poste2» pour voir les packets encapsulés VI. Serveur SAMBA 1. Rôle et fonctionnement Samba est un ensemble de programmes qui permettent de connecter à un serveur LINUX, des stations fonctionnant sous des systèmes divers : Windows, Mac... Le serveur Linux est en mesure de se conduire comme un serveur de fichiers capables d'offrir les services habituels sur un réseau : l partage de fichiers et de répertoires, l partage d'imprimantes, l respect des comptes utilisateurs l gestion des permissions d'accès l exécution de scripts de connexion personnalisés Le protocole de communication sous-jacent qui permet cette communication Linux-Dos/Win s'appuie sur NetBios et s'appelle smb (Server Message Block). Son fonctionnement est conforme au schéma client-serveur Du côté client, le protocole SMB fonctionne au-dessus de plusieurs protocoles. Il nécessite NetBIOS au dessus de TCP/IP (par contre NetBEUI n'est pas utile) Chaque demande de connexion par Samba, d'une station au serveur Linux, laisse une trace stockée dans un fichier log.%m situé dans le répertoire /var/log/samba (%m désigne le nom de la station). Services réseau sous Linux Page 32

Toute connexion pourra donc être identifiée de manière précise puis examinée sur une ligne de ce fichier : nom d'utilisateur, nom de la machine, date, heure de début, heure de fin, services utilisés... Samba peut implémenter la sécurité au niveau de l'utilisateur, (ce qui est recommandé) et non au niveau des ressources comme c'est le cas dans les réseaux de type WorkGroup. 2. Configuration de SAMBA Sur les stations Windows Il faut affecter une adresse IP à chaque station dans le même sous-réseau que le serveur Samba- Linux. Après redémarrage et si l'utilisateur stagiaire s'est connecté sur le réseau Windows sous un compte (login: stagiaire/ password: stg) créé sur le serveur Linux, alors il pourra immédiatement avoir accès à son répertoire personnel /home/stagiaire, qui apparait sous l'aspect d'un dossier qui porte son nom de connexion. Si le mot de passe du compte Linux n'a pas été donné à la connexion proposée par le client réseau Microsoft, il sera alors exigé, comme le montre l'écran ci-dessous : Installer l'imprimante Linux sur les stations On suppose l'imprimante déjà installé sur le serveur Linux et déclarée sur le serveur Samba (voir configuration dans /etc/smb.conf). Lancer l'assistant d'ajout d'imprimante (Paramètres /imprimantes) Choisir imprimante réseau Parcourir le voisinage réseau pour détecter l'imprimante : par exemple, choix de lp sur p00, le serveur Linux Le nom de la file d'attente serait alors \\p00\lp Choisir le modèle d'imprimante et le nom sous lequel elle apparaîtra sur la station cliente (par ex Olivetti sur PC1-Linux). Pour vérifier faire imprimer une page de test. Désormais, l'imprimante partagée sera visible dans le voisinage réseau au même titre que le répertoire personnel de l'utilisateur connecté et des divers dossiers et périphériques partagés. Remarque : ainsi, une même station peut imprimer sur une imprimante Linux, et une imprimante Windows. Services réseau sous Linux Page 33

Sur le serveur Linux Installation Il est recommandé de demander sa mise en place lors de l'installation. Sinon il faut monter le cdrom : mount /dev/cdrom, chercher le package samba et l'installer par : rpm -ivh samba-* Tous les paramétrages sont ensuite effectués dans un seul fichier : /etc/smb.conf Paramétrage de smb.conf Faire une sauvegarde de ce fichier par prudence (cp smb.conf smb.old) puis l'éditer Les 2 principales sections, prédéfinies sont [global] et [homes]. L'administrateur root peut éditer, modifier et ajouter des sections, pour définir de nouvelles ressources à partager (imprimante, etc) De façon générale les permissions de partage définies dans ces sections ne peuvent pas outrepasser les permissions des fichiers du serveur hôte. La documentation la plus complète se trouve dans le manuel man smb.conf Vérifier et activer les changements Important : lancer l'utilitaire testparm permet de tester la syntaxe du fichier de configuration et de déceler les erreurs. Il est recommandé de le lancer systématiquement lors de la mise au point de smb.conf. Il diagnostique des erreurs de syntaxe et des incohérences dans les choix des clauses. Ne pas oublier à chaque changement effectué dans smb.conf à relancer les processus! Si les processus "démons" sont actifs, il faut les arrêter puis les relancer par : conseillé plutôt que la commande globale smb restart /etc/rc.d/init.d/smb stop /etc/rc.d/init.d/smb start Vous pouvez écrire un petit script shell et le placer dans un répertoire inclus dans le PATH. Par exemple : Services réseau sous Linux Page 34

La section globale [global] # donner le même nom de groupe de travail que celui des stations Windows (Voisinage réseau/identification) workgroup = FCTICE77 # compte à utiliser pour les accès invités aux partages guest account = nobody ; # accès multi utilisateur share modes = yes ; # restreindre par sécurité les sous-réseaux autorisés à se connecter au serveur # ici on se limite aux adresses réseau privé 10.194.2.0 et à l'interface "loopback" hosts allow = 10.177.200. 127. # on peut exclure des machines de l'accès au réseau hosts allow = 10.177.200. EXCEPT 10.177.200.125 # d'autres possibilités existent : voir le manuel man smb # indique l'adresse IP de l'adaptateur du serveur et le masque de sous réseau interfaces = 10.177.200.110/255.255.255.0 # indique l'emplacement du fichier printcap, récapitulant toutes les imprimantes installées sur le serveur Linux printcap = /etc/printcap # partage toutes les imprimantes définies dans le fichier printcap load printers = yes # utiliser un fichier de trace pour chaque machine qui se connecte log file = /var/log/samba/log.%m # choisir le mode de sécurité : user ou share security = user Le répertoire personnel [homes] # accès au rép. personnel de chaque utilisateur. # la valeur du champ comment apparaitra dans le voisinage réseau # inutile pour cette section de préciser le path, c'est celui de l'utilisateur, en fait /home/%u comment =Répertoire personnel browsable = no writable = yes create mode = 0700 Rendre un répertoire public L'objectif est de rendre un répertoire partagé totalement (lecture/écriture) à tous les users D'abord, le créer ou vérifier qu'il existe. En règle générale, le gestionnaire le crée dans le répertoire /home/, lieu de regroupement des répertoires personnels: mkdir /home/tmp ls -l renvoie les droits par défaut drwxr-xr-x chmod 777 public pour y ajouter les permissions d'accès et d'écriture pour tous Services réseau sous Linux Page 35

Pour permettre le partage de ce répertoire commun /home/tmp, il suffit de modifier la section [public] déjà présente et d'enlever les symboles ; pour dé-commenter les lignes en ajoutant des commentaires. [public] # Ce répertoire aura donc pour nom de partage " public "([public]), # la valeur du champ comment apparaitra dans le voisinage réseau # Le répertoire à partager est /home/samba comment =Répertoire public path = /home/tmp # il pourra être accessible par tous les utilisateurs public = yes # il est accessible en écriture writeable = yes # les fichiers créés sont en lecture seule, sauf pour le propriétaire create mode = 0755 Partager un répertoire pour un groupe Il s'agit ici de configurer un partage de répertoire pour un groupe. Dans la section [HOMES] sont définis l'accès au rép. personnel de chaque utilisateur. Pour permettre le partage d'un rép commun /home/rep-stagiaire, les lignes suivantes doivent être rajoutées : [stagiaire] # Ce répertoire aura donc pour nom de partage stagiaire comment =Partage pour le groupe stagiaire exclusivement # Le répertoire à partager est /home/partage path = /home/rep-stagiaire # il ne pourra pas être accessible par tous les utilisateurs public = no # liste des utilisateurs autorisés (avec ou sans virgule) valid users = stage1 stage2 stage3... # ou mieux, indication du groupe autorisé valid users = @stagiaire jean # on pourra y écrire (bien sûr par ceux qui peuvent y accéder..) writeable = yes # les permissions par défaut des fichiers créés (le mot mode peut être remplacé par mask create mode = 0640 Partager des applications [logiciels] comment = Applications partagées sur le serveur # root doit créer ce répertoire et déléguer sa gestion à un groupe d'utilisateurs. # Dans la suite, ce groupe sera appelé admin (contenant au moins l'utilisateur admin/admin) des droits de propriété et permissions path = /appli public = yes # le rép. ne doit pas être en lecture seule pour tous writeable =no # le groupe admin peut seul installer les applications Services réseau sous Linux Page 36

write list = @admin Partager le lecteur de cd-rom On crée dans le fichier smb.conf une section cdrom et on indique le chemin d'accès path = /mnt/cdrom. Bien sûr la présence d'un Cd n'est pas suffisante, il doit être monté sur le serveur! [cdrom] # chemin d'accès au pseudo-répertoire de montage du CD path = /mnt/cdrom # accessible à tous les utilisateurs public = yes # l'écriture sera interdite writeable = no 1. Problèmes rencontrés Pas de visibilité du serveur dans le "voisinage réseau" de la station Windows : - Sur le serveur, vérifier les 2 démons smbd et nmbd avec la commande /etc/rc.d/init.d/smb status ---> Si cela n'est pas encore fait, activer le service smb au démarrage avec l'utilitaire ntsysv - Sur la station cliente,vérifier si TCP/IP fonctionne correctement Visibilité du serveur SMB, mais erreur à la connexion Windows envoie les mots de passe cryptés alors que par défaut le serveur Samba les attend en clair ---> Il faut donc instaurer une cohérence, soit activer ce cryptage (recommandé), soit intervenir sur la base de registres des stations pour inhiber le cryptage. Difficulté de résolution des noms Netbios Le serveur Samba doit pouvoir "résoudre", c'est-à-dire trouver l @ IP correspondant à un nom NetBios envoyé par une station, en quête d'un serveur... ---> Il est préférable d'indiquer au serveur, dans /etc/smb.conf, une méthode explicite de résolution. - La méthode "host" Le serveur utilise le nom NetBios comme nom Linux, et fait appel à un serveur DNS. Par défaut, il s'agit du fichier /etc/hosts. En cas de problème de connexion d'une station, aller voir et si nécessaire compléter ce fichier. - La méthode "wins" C'est celle qui semble recommandée... Le serveur Samba est configuré pour être aussi serveur wins. Il enregistre alors les correspondances : nom netbios <--> adresse IP Sur chaque station de travail, dans voisinage réseau renseigner l'onglet Configuration Wins en indiquant Services réseau sous Linux Page 37

l'adresse IP du serveur. Dans smb.conf, section [global], décommenter la ligne wins support = yes sans modifier la ligne wins server = w.x.y.z VII. Le système d'impression Il est assuré par le "démon" lpd (=line printer deamon), lancé au démarrage. Comme beaucoup de démons, il est géré par un script situé dans /etc/rc.d/init.d/lpd Le script lpd attend un des arguments start, stop ou status, selon que l'on veut commander le démarrage du démon, son arrêt ou de l'info par le script Lorsqu'il est rendu actif, ce démon lpd lit le fichier de configuration /etc/printcap, imprime les fichiers d'impression éventuellement en attente et se met à l'écoute de nouvelles tâches d'impression. lpd active 2 autres démons listen et accept, qui sous-traitent les tâches d'impression. Manipulations - arrêter le démon lpd - demander le status - redémarrer ce démon Configuration du service d'impression La configuration lors de l'installation est recommandée. Le fichier de config /etc/printcap contient des informations sur les imprimantes rattachées localement ou lointaine avec lesquelles le démon doit communiquer. Le fichier depériphérique /dev/lp0 correspond au port parallèle LPT1 Pour tous les détails voir le manuel : man printcap Exemples # nom court de l'imprimante locale lp:\ # nom du répertoire de la file d'attente (sd=spool directory) :sd=/var/spool/lpd/lp:\ # la taille maximum du fichier est illimitée (car 0) :mx#0:\ # pas de page de séparation :sh:\ # nom du fichier spécial pour printer locale :lp=/dev/lp0:\ # nom du fichier de traitement du fichier Services réseau sous Linux Page 38

:if=/var/spool/lpd/lp/filter: l # nom court de l'imprimante REMOTE lp:\ # nom du répertoire de la file d'attente :sd=/var/spool/lpd/lp:\... # nom du serveur d'impression distant (rm=remote machine) :rm=pc1.cfipen.fr:\ # nom de l'imprimante distante (rp=remote printer) &nbmodifications, ajout d'une imprimantesp; :rp=lp:\ Commandes générales d'impression Requête d'impression : lpr <liste fichiers> Sur la station Linux cliente du service (pour une imprimante distante ou locale) la commande lpr /etc/smb.conf demande l'impression du fichier spécifié en argument, dans la file d'attente. Par défaut, il s'agit de la file lp, c'est-à-dire le fichier situé à /var/spool/lpd/lp:\. Remarques complémentaires Pour imprimer sur une autre imprimante : lpr -P<nom printer> Si un utilisateur envoie régulièrement ses fichiers à une imprimante particulière, on peut affecter la variable d'environnement PRINTER dans son profil personnel, le fichier $HOME/bash_profile Syntaxe générale : lpr -P<nom-printer> -#<nb copies> <liste fichiers> lpr seul, attend en scutant l'entrée standard; donc si on saisit du texte, terminé par le caractère de fin de fichier ^D, on l'imprime directement! Suivi des travaux d'impression lpq affiche les travaux de la file d'attente de l'imprimante lp lprm permet de supprimer un travail d'impression en attente.. Naturellement, seul root peut supprimer des travaux dont il n'est pas le demandeur. Cette gestion est plus facile avec un outil fonctionnant sous X. Sur le serveur, en session X-KDE, on peut lancer l'utilitaire KLpq par la commande : K / Utilitaires / File d'impression Il permet de lister, supprimer des travaux en attente ou d'en modifier les priorités. Services réseau sous Linux Page 39