s o l u t i o n s U n i x L i n u x C R A I G H U N T Serveurs réseau Linux
Introduction Linux est le système d exploitation idéal pour un serveur réseau. Son utilisation très répandue comme plate-forme sous-jacente aux serveurs Web Apache a largement contribué à sa renommée. Cependant, la puissance et la fiabilité de Linux lui permettent également de fournir tous les services réseau les plus importants, à un faible coût. Faible coût, fiabilité et puissance. Ces trois caractéristiques expliquent la croissance continue de Linux comme serveur, puisqu il constitue une alternative peu onéreuse par rapport aux gros serveurs Unix. Il a également prouvé qu il était plus puissant et plus fiable que les systèmes d exploitation propriétaires des ordinateurs de bureau, qui fonctionnent en tant que serveurs. Vous pouvez répondre à tous vos besoins réseau grâce à la large gamme des services que propose Linux. Dans cet ouvrage, nous avons classé les serveurs en deux catégories : les «serveurs Internet» et les «serveurs de secteur». Même si cette répartition peut sembler arbitraire, elle nous permet d organiser la description des différents services d une façon rationnelle. Nous définissons les services Internet comme les services offerts au monde entier ou comme ceux permettant de connecter une entreprise à Internet : DNS (Domain Name System) ; Sendmail ; Apache ; services d ouverture de session comme FTP, Telnet et SSH ; protocoles de routage comme Zebra et gated ; traduction d adresses réseau (que l on nomme souvent NAT, Network Address Translation). Les services de secteur se limitent en général au réseau interne de l entreprise. Nous plaçons dans cette catégorie : DHCP (Dynamic Host Configuration Protocol) ; RARP (Reverse Address Resolution Protocol) ;
XX Serveurs réseau Linux NFS (Network File System) ; partage de fichiers et d imprimantes via Samba ; partage d imprimantes LPR/LPD ; POP (Post Office Protocol) ; IMAP (Internet Message Access Protocol) ; filtrage de courrier électronique procmail. En outre, ce livre présente les informations nécessaires à la configuration des interfaces réseau ainsi que deux chapitres importants consacrés à la sécurité et à la maintenance. À qui s adresse ce livre? Serveurs réseau Linux s adresse à toute personne qui souhaite apprendre à installer un serveur de secteur ou un serveur Internet sous Linux. Nous supposons que vous possédez déjà les notions de base relatives aux ordinateurs et aux réseaux IP, et que vous maîtrisez les commandes Linux fondamentales. En effet, cet ouvrage illustre en détail la façon dont vous implémentez des services réseau. Si vous avez besoin d une mise à niveau sur ces thèmes, commencez par lire Guide de l administrateur système Linux (Eyrolles, 2003). Cet ouvrage constitue une excellente introduction à l administration système Linux. La croissance de Linux commence à modifier le paysage des parcs de serveurs Unix actuellement installés. Ainsi, si vous possédez l expérience Unix, mais que vous souhaitez parfaire vos connaissances Linux, vous constaterez, au cours de la lecture de cet ouvrage, la grande similitude qui existe entre ces deux systèmes. Si vous êtes administrateur système Linux, Serveurs réseau Linux est l ouvrage de référence en la matière ; vous y trouverez toutes les informations nécessaires à la configuration des serveurs en exploitation. Une fois ces connaissances assimilées, vous serez en mesure de prendre des décisions appropriées pour configurer vos serveurs en fonction de votre environnement. Bien que le contenu de cet ouvrage ne soit pas exhaustif, il vous livre les informations dont vous avez besoin, afin de développer votre propre solution. Organisation de l ouvrage Ce livre se divise en quatre grandes parties intitulées Notions fondamentales, Configurer un serveur Internet, Configurer un serveur de secteur et Annexes. Bien que certains chapitres puissent être lus indépendamment des autres (par exemple, vous pouvez vous rendre directement au chapitre 6 pour étudier les fichiers de configuration d un serveur Web), ce livre a été conçu comme un tout. De nombreux chapitres établissent des renvois vers des sujets traités dans d autres parties du livre. Si vous avez une tâche précise à réaliser, comme la configuration un serveur Samba, n hésitez pas à vous rendre directement
INTRODUCTION XXI aux pages traitant de ce sujet. En revanche, si vous devez gérer toute une panoplie de services réseaux Linux, comme c est le cas pour de nombreux administrateurs système, nous vous conseillons de lire l intégralité de l ouvrage. Partie I : Notions fondamentales Tous les services réseau dépendent étroitement du système d exploitation sous-jacent et du matériel. Cette partie est consacrée à la configuration du matériel réseau, ainsi qu au rôle joué par le processus de démarrage lors de l initialisation du matériel et de la mise en route des services réseau. Cette première partie se compose de deux chapitres. Chapitre 1. Processus de démarrage Ce chapitre décrit le processus de démarrage et les niveaux de fonctionnement de Linux. Il traite des deux chargeurs les plus connus, LILO et GRUB, ainsi que des fichiers de configuration correspondants, lilo.conf et grub.conf. Il illustre également le rôle joué par le noyau dans l initialisation des périphériques, ainsi que le rôle du programme init dans le démarrage des services. Les points clés des fichiers de démarrage sont soulignés lors de la description d init et de son fichier de configuration inittab. Chapitre 2. Interface réseau Une interface physique réseau est indispensable à un serveur. Ce chapitre couvre l installation et la configuration de l interface Ethernet. Puisque les systèmes Linux peuvent également fournir des services réseau via l interface série, cette dernière est décrite en détail, ainsi que les processus getty et login prenant en charge les communications série. De même, comme vous pouvez également implémenter la pile TCP/IP sur l interface série, via le logiciel PPP, nous étudions également les configurations du serveur et du client PPP. Partie II : Configurer un serveur Internet Dans cette partie, nous nous penchons sur la configuration d un serveur pour les services Internet traditionnels, comme Telnet, FTP, DNS, sendmail, Apache, gated, Zebra et la traduction d adresses (NAT). Elle se compose de cinq chapitres. Chapitre 3. Services d ouverture de session Linux fournit la gamme complète des services traditionnels permettant aux utilisateurs d ouvrir des sessions à distance sur le serveur. Un utilisateur qui possède un compte actif peut se connecter à distance via Telnet ou FTP, si ces services sont opérationnels. Sur le serveur, ces services sont démarrés sur demande via inetd ou xinetd. Ce chapitre décrit la création des comptes d utilisateurs, la configuration d inetd et de xinetd, ainsi que la configuration du serveur WU-FTPD. Chapitre 4. Services de noms Linux DNS (Domain Name System) est fondamental au fonctionnement du réseau. Afin de pouvoir jouer le rôle de serveur DNS, Linux fournit BIND (Berkeley Internet Name Domain), lequel est certainement le logiciel le plus répandu dans le monde et le plus testé. Ce chapitre décrit en détail la configuration de BIND version 9. Il
XXII Serveurs réseau Linux fournit également des explications sur la table hosts et montre la façon dont DNS et la table hosts peuvent fonctionnent de concert. Chapitre 5. Configurer un serveur de messagerie Le service le plus puissant, mais aussi le plus complexe, conçu pour gérer la messagerie Internet est sans aucun doute sendmail. La plupart des distributions Linux le fournissent en standard. Ce chapitre illustre la manière de mettre en place une configuration simplifiée de sendmail, en vous concentrant sur les points les plus importants. À la fin de ce chapitre, vous serez en mesure de créer votre configuration personnalisée. Chapitre 6. Serveur Web Apache De nos jours, le serveur Web Apache est le serveur Web le plus largement employé. Il fait partie de la distribution Linux. Ce chapitre décrit l installation et la configuration de ce serveur afin d obtenir un service Web robuste et sécurisé. Chapitre 7. Service de passerelle réseau Tous les grands réseaux requièrent des routeurs. À cette fin, Linux propose des services de routage statiques et dynamiques. Plusieurs distributions Linux proposent gated (gateway daemon) et la nouvelle suite Zebra de protocoles de routage. Nous décrivons en détail la configuration de gated et de Zebra, ainsi que les forces et les faiblesses des protocoles inclus dans ces paquetages comme RIP, RIPv2, OSPF et BGP. En outre, nous expliquons le mécanisme de la traduction d adresses (NAT), souvent appelé «mascarade», ainsi que le fichier iptables qui lui est associé. Partie III : Configurer un serveur de secteur Dans cette partie, nous étudions la configuration des services essentiels à un serveur de secteur : DHCP, Samba, NFS, LPR/LPD, POP, IMAP et procmail. Cette partie se compose de quatre chapitres. Chapitre 8. Serveurs de configuration des postes de travail Un serveur de configuration peut vous aider à configurer un client TCP/IP, car cette tâche peut se révéler très complexe. Linux propose des serveurs de configuration pour des clients Unix et Windows via DHCP (Dynamic Host Configuration Protocol). Un système Linux peut également se comporter comme client DHCP. Ce chapitre traite de la configuration des logiciels serveur et client DHCP Linux. Chapitre 9. Partage de fichiers Le rôle principal du serveur de fichiers de secteur consiste à permettre aux ordinateurs de bureau de partager leurs fichiers de façon transparente. Linux utilise, à cet effet, le serveur Samba pour partager des fichiers avec les plates-formes Windows ; il emploie un serveur NFS pour partager des fichiers avec les clients Unix. Ce chapitre fournit des informations détaillées sur ces deux services et sur le système de fichiers Linux. Chapitre 10. Services d impression Linux offre un service d impression aux clients via Samba et le démon LPD (Line Printer Daemon). Ce chapitre explique la façon dont les impri-
INTRODUCTION XXIII mantes sont partagées via ces services et illustre également la manière d installer et de configurer des imprimantes locales. Chapitre 11. Services de messagerie supplémentaires La plupart des postes de travail ne peuvent pas recevoir directement des messages en provenance d Internet. En conséquence, un serveur de messagerie les collecte et les stocke tant que le poste client ne les a pas lus. Linux propose deux techniques pour assurer ce type de service : POP (Post Office Protocol), protocole classique encore fréquemment employé, et IMAP (Internet Message Access Protocol), dont les caractéristiques avancées lui font prendre le pas sur POP. Ce chapitre couvre l installation, la configuration et l administration de ces deux services. Partie IV : Pour un serveur robuste et fiable La quatrième partie est dédiée aux tâches essentielles qui maintiennent le serveur dans un état stable et sécurisé. Bien que ces tâches ne soient pas directement liées aux services réseau, elles constituent un complément indispensable. Cette partie se compose de deux chapitres. Chapitre 12. Sécurité Internet est malheureusement source d attaques potentielles. Ainsi, pour assurer la fiabilité d un serveur face à celles-ci, vous devez le sécuriser. Ce chapitre vous donne les sources d informations qui vous permettront de rester informé sur les problèmes de sécurité. Vous y apprendrez également comment exploiter les excellentes fonctionnalités de sécurité incluses dans Linux, comment surveiller la sécurité de votre système et comment ajouter des fonctionnalités supplémentaires, le cas échéant. Chapitre 13 : Maintenance En cas d incident, vous devez savoir comment réagir pour localiser le problème et le résoudre. Ce chapitre vous guide dans les tests et le débogage de votre réseau, ainsi que dans l analyse et la résolution des problèmes. La mise à jour du noyau Linux ainsi que les outils servant à l analyse des problèmes réseau y sont également traités. Partie V : Annexes La cinquième partie termine ce livre avec trois annexes. Annexe A. Installer Linux Cette annexe décrit l installation de Linux en s appuyant sur la distribution Red Hat. Cette annexe est principalement destinée aux lecteurs issus des environnements Windows NT/2000 ou Unix. Annexe B. BIND Un résumé des commandes de configuration de BIND 9, pour le fichier de configuration named.conf, y est présenté. Cette annexe décrit également les commandes de BIND 8 à l intention des administrateurs qui emploient encore cette version et permet aux administrateurs système d effectuer en douceur la transition entre ces deux logiciels. Annexe C. Macros m4 pour sendmail Cette annexe résume les macros m4 qui permettent de créer une configuration sendmail personnalisée.
XXIV Serveurs réseau Linux Conventions Ce livre utilise différents styles typographiques afin de vous aider à identifier rapidement les informations importantes et à éviter certaines confusions dans la signification de certains mots. Voici l ensemble de ces conventions : La police Courier permet d identifier les noms des commandes et des fichiers, les syntaxes, les résultats à l écran. Le texte en police Courier et en italique sert à identifier, dans la syntaxe d une commande, une variable que vous devez remplacer par une valeur. Par exemple, si nous écrivons Help=chemin, cela signifie que chemin doit être remplacé par votre propre valeur de chemin lorsque vous utiliserez cette commande. Le texte en police Courier et en gras indique ce que vous devez saisir au clavier. Il peut s agir d une ligne de commande, d une réponse à une question ou de valeurs fixes dans la syntaxe d une commande. Par exemple, si nous écrivons ls [ l], cela signifie que vous devez saisir cette commande exactement de cette façon. Dans la syntaxe d une commande, les crochets entourent un élément facultatif. Par exemple, dans la syntaxe ls [-l], l option l est facultative. Dans la syntaxe d une commande, la barre verticale séparant des mots-clés signifie que vous devez choisir soit l un, soit l autre (symbole «ou»). Par exemple, true false signifie que vous devez saisir true ou false. En outre, nous utilisons trois conventions pour mettre certains paragraphes en exergue : INFO Nous attirons votre attention sur quelque chose d intéressant, toutefois un peu marginal par rapport au thème central des paragraphes qui précèdent. Il peut s agir d une information qui ne s applique que dans des cas assez particuliers ou qui fait référence à une fonctionnalité un peu obsolète. ASTUCE ATTENTION Une astuce vous livre des informations destinées à vous faire gagner du temps ou à éviter des maladresses. Elle peut également décrire la façon dont vous pouvez contourner une limitation ou employer une fonctionnalité pour effectuer une tâche inhabituelle. Ici, nous attirons votre attention sur un piège ou un danger potentiel. Si vous ne tenez pas compte de cet avertissement, vous risquez de perdre des données ou d endommager le système d exploitation. Vous perdrez beaucoup de temps à réinstaller et restaurer votre système.
INTRODUCTION XXV Encadré Un encadré joue le même rôle qu une Info, mais développe le point souligné sur plusieurs paragraphes. L encadré complète le texte, mais il n en fait pas directement partie.