Vous êtes sur la page 1sur 39

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 description

Ifconfig -a Affiche la liste des interfaces réseau qui ont été détectées
rechercher les messages contenant "eth0" pour avoir plus
dmesg | grep eth0
d'informations sur la première carte réseau détectée

lspci | grep Ethernet permet d'afficher les cartes réseaux reliées au bus PCI

ifconfig <interface> <adresse ip> attribuer une adresse IP à une interface réseau

Le masque de sous-réseau est déterminé automatiquement


ifconfig eth0 192.168.1.12 netmask
en fonction de la classe de l'adresse IP. S'il est différent on
255.255.255.128
peut le spécifier avec l'option netmask :

ifconfig eth0 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 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.
/etc/init.d/hostname.sh 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é

hostname <nom d'hôte> On peut changer le nom d'hôte avec la commande suivante,
mais il ne sera pas conservé au prochain démarrage

auto lo Le fichier /etc/network/interfaces permet de configurer les


iface lo inet loopback 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
l'interface eth0 doit être configurée automatiquement par
iface eth0 inet dhcp un serveur DHCP

nameserver 208.164.186.1
nameserver 208.164.186.2 Le fichier /etc/resolv.conf contient les adresses IP des
search foo serveurs DNS.

Le fichier /etc/hosts contient une liste de résolutions de


192.168.105.2 serverRH 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: files ldap


group: files ldap
shadow: 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

Vous aimerez peut-être aussi