Description du modèle client-
serveur
Plan du cours
Présentation des Processus Client-Serveur
Le démarrage des Processus Serveurs
Présentation des processus clients
Présentation des processus serveurs
Le démarrage des Processus Serveurs
Présentation du démon inetd Configuration du démon inetd Les étapes de fonctionnement Présentation des ports réseau Démarrage de services qui utilisent
un port bien connu Le Démarrage des Services RPC L’Utilisation des Commandes rpcinfo
Présentation du démon inetd (1/2)
S’exécute sur chaque système Démarre les processus serveurs qui ne
démarrent pas automatiquement. Démarré par /etc/rc2.d/S72inetsvc
Le démon (inetd) lance les processus lorsqu’il reçoit une requête. Ecoute le réseau à la place du
processus. Exécute la commande associée dans le
fichier inetd.conf.
Configuration du démon inetd (1/2)
Le démon inetd charge les processus spécifiés dans le fichier /etc/inet/inetd.conf
Services de base: Ftp, Telnet, Shell, Login, Exec, Tftp, Finger,
Printer
# cat /etc/inet/inetd.conf(contenu supprimé)# TELNETD - telnet semer daemontelnet stream tcp6 nowait root /usr/sbin/in.telnetd in.telnetd# smserverd to support removable media devices100155/1 tli rpc/ticotsord wait root
/usr/lib/smedia/rpc.smsemerd rpc.smserverd# REXD - rexd semer provides only minimal authentication#rexd/l tli rpc/tcp wait root /usr/sbin/rpc.rexd rpc.rexd# FTPD - FTP semer daemonftp stream tcp6 nowait root /usr/sbin/in.ftpd in.ftpd -a(contenu supprimé)
Configuration du démon inetd (2/2)
Champ Description
Nom de service Le nom d'un service valide présent dans le fichier /etc/services .
Type de connexion
Les valeurs possibles sont les suivantes :stream pour un support de flux dgram pour un support de datagram raw pour un support brut seqpacket pour un support de paquets séquencé tli pour tous les points d’arrivées TLI
Protocole Un protocole reconnu affiché dans le fichier /etc/inet/protocols.
Attente Les valeurs wait ou nowait indique si inetd doit écouter les requêtes si le service est occupé.
Uid Compte avec lequel le service se lance.
Programme serveur
Le chemin vers le programme que le démon inetd invoque.
Les arguments Arguments liés au serveur qui est lancé.
Les étapes de fonctionnement1. Un utilisateur sur la machine machineA tape la commande
suivante : telnet machineB2. Le service telnet est un service bien connu, le port pour ce
service est le port 233. Le paquet SYN qui part de machineA va aller sur le port 23
de la machineB4. A l’origine, inetd écoute sur le port 23 de la machineB.
Lorsqu’il reçoit le paquet de connexion, il regarde dans /etc/services pour voir à quel service il correspond… -> telnet
5. Le daemon inetd consulte son fichier de conf pour trouver une entrée correspondante au service demandé. Il trouve la ligne correspondant à la ligne de service de telnet
6. Le daemon inetd exécute le processus in.telnetd. Celui ci prend le contrôle de la communication
7. Le daemon in.telnetd reçoit le trafic et tourne jusqu’à la fin de la connexion
Présentation des ports réseau
Il existe deux approches de l’affectation des ports: Port fixe : La machine connaît à l’avance
le port qui va être utilisé par le programme (Serveur).
Port dynamique : La machine doit affecter un port dynamiquement (Client).
Les ports fixes sont identifiables via le fichier: /etc/inet/services
# grep telnet /etc/inet/servicestelnet 23/tcp
Démarrage de services qui utilisent un port bien connu Deux catégories existent:
Les services qui démarre avec le système Initialisé par un script spécifique. Chargé en mémoire en permanence. Le numéro de port se trouve dans /etc/inet/services. Ex : sendmail ( /etc/rc2.d/S88sendmail) – TCP/25.
Les services qui démarre sur demande Démarré à l’aide du démon inetd (inetd.conf). Chargé en mémoire à la demande. Le numéro de port se trouve dans /etc/inet/services. Ex: telnet – TCP/23
Démarrage des services RPC
Développé à l’aide d’utilitaires mis au point par Sun. Chacun a un numéro de programme (/etc/rpc) Chaque programme a un port (>32768) Ils sont gérés par le processus rpcbind (Port
111)
Cela inclus 2 catégories: Les services RPC qui démarrent avec le système
Il communique ces informations à rpcbind.
Les services RPC qui démarrent sur demande Sont lancés par rpcbind.
Utilisation des commandes rpcinfo
rpcinfo -p permet de recueillir des informations sur les services RPC
rpcinfo –d permet la suppression de l’enregistrement d’un service RPC
Pour recharger les services du inetd.conf
# rpcinfo –p localhostprogram vers proto port service 100000 4 tcp 111 rpcbind 100000 2 udp 111 rpcbind 100232 10 udp 32772 sadmind 100083 1 tcp 32771
# rpcinfo –d 100012 1
# pkill –HUD inetd
Module 2 - Atelier n°1