Applications Réseau Objectif: Comprendre et utiliser les applications réseau Contenu: principes des applications réseau diagnostic et dépannage exemples: telnet, FTP, NTP, commandes remote, affichage déporté X- Window et VNC les principaux serveurs unix Durée: ½ journée
Principes d'une application réseau une application réseau est une application serveur démarré par un script de démarrage (dans /etc/init.d) instance exécutée en permanence attend les connexions des clients sur un port défini permet l'authentification et la connexion des clients répond aux requêtes des clients peut loguer les événements dans les journaux appelé «daemon» ou «démon» sous unix exemple: netstat -l liste les ports sur écoute /etc/services contient une table des ports ps ax liste les processus, dont les instances des applications
Résolution de noms Retenir les adresses IP: Argh ;-( Principe des Annuaires: faire correspondre des noms aux adresses Deux solutions : Fichier /etc/hosts Comment synchroniser tout ça? Protocole DNS Système hiérarchisé de stockage de correspondances noms/adresses IP Interrogé automatiquement par les applications Configuration client dans /etc/resolv.conf Serveur DNS : Bind Client DNS : host
dépannage d'une application réseau tester la présence du serveur ps ax grep exim netstat -an grep -w 25 nmap localhost grep 25 tester la connectivité du système distant: ping @IP tester l'existence d'échange réseau tcpdump tcp port 25 visualiser les journaux tail -f /var/log/messages tail -f /var/log/mail.log
Telnet fournit la connexion à distance à un shell sur un serveur pour y exécuter des commandes port TCP 23 un des plus vieux protocoles Internet avec FTP le logiciel client existe sur tous les systèmes TCP/IP non actif par défaut sur Linux car non sécurisé (trafic en clair) utiliser ssh à la place géré par (x)inetd: telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd affiche le fichier /etc/issue.net avant le login
FTP sert à transférer des fichiers. Souvent utilisé pour serveurs publics. le logiciel client existe sur tous les systèmes TCP/IP non sécurisé (trafic en clair), utiliser ftps (ftp+ssl) ou sftp (ftp+ssh) à la place pour les serveurs privés il existe plusieurs logiciels serveurs de FTP sous linux ftpd, wu-ftpd, proftpd, vsftpd, pure-ftpd, etc. utilise 2 sockets TCP: une pour les commandes, port 21 une pour les données, port 20 en mode actif (ouvert par le server) ou port dynamique en mode passif (ouvert par le client)
wu-ftp serveur FTP de l'université de Washington, le plus utilisé sur Linux géré par (x)inetd: telnet stream tcp nowait root /usr/sbin/tcpd wu.ftpd -a fichiers de configuration: /etc/ftpusers: utilisateurs interdits de ftp /etc/ftphosts: utilisateurs et hôtes autorisés /etc/ftpaccess: configuration du service (utilisé si option -a spécifiée)
NTP, Network Time Protocol protocole NTP normalisé par l'ietf permet la synchronisation des horloges de systèmes hétérogènes port UDP 123 synchronisation ponctuelle des clients par ntpdate synchronisation continue par le serveur ntpd, soit à partir d'un serveur sur internet, soir à partir d'une source fiable (radio, horloge atomique) fichier de configuration /etc/ntp.conf liste des serveurs de temps de référence sur www.ntp.org serveurs organisés en strates de façon pyramidale serveur stand-alone pour permettre la synchronisation continue
commandes remote d'origine BSD, permettent d'exécuter une action sur une machine distante sans activer un service spécifique rcp: réalise des copies de fichiers entre ordinateurs. S'adresse au serveur in.rshd sur le port tcp 514. rlogin: réalise une connexion à une machine distante (comme telnet). S'adresse à in.rlogind sur le port tcp 513 rsh: exécute une commande sur la machine distante. S'adresse au serveur in.rshd sur le port tcp 514. peuvent éviter de s'authentifier explicitement: mécanismes d'équivalence: /etc/hosts.equiv: [+ -] [hôte] [utilisateur] ~/.rhosts: hôte [utilisateur] peu sûr, non crypté, à éviter, sauf si le système Kerberos est installé
rsync maintient à jour une copie de fichiers ou d'arborescence avantage sur rcp: ne transfère que les différences utilise rsh par défaut mais on peut spécifier ssh avec l'option -e options: -c vérifie sommes de contrôle -a mode archive (conserve attributs, droits, liens) -z compresse les données exemple: rsync *.txt cassiopee:brouillons/ rsync acvz e ssh Documents/ cassiopee:documents/
VNC, Virtual Network Console donne accès à un système graphique distant multi-plateforme et inter-plateforme: windows, Mac, Unix Système client/serveur: serveur VNC offre accès au système graphique et client VNC s'y connecte un serveur VNC est à l'écoute du port tcp 5900 + numéro du terminal sécurité: utiliser un tunnel SSH ou le protocole SSL paquets sous Unix/linux: vncviewer: client VNC qui donne accès au système graphique distant vncserver: script qui active le serveur X VNC Xvnc: serveur graphique VNC exemple: vncviewer cassiopee:1et vncserver :1
les principaux serveurs unix DHCP, protocole de serveur d'adresses DNS, protocole de serveur de noms Apache, serveur web NFS, protocole unix de serveurs de fichiers Samba, serveur de fichiers windows LDAP, protocole de serveur d'annuaires MySQL/POSTGRESQL, serveurs de base de données SSH, protocole de serveur de shell sécurisé SMTP/POP/IMAP, protocoles de serveurs de courriels (X)INETD, le «super serveur»