Advanced Networking ** Traduction en Cours ** Synopsis Ce chapitre abordera certains des services réseaux les plus fréquemment utilisés sur les systèmes &unix;. Nous verrons comment définir, mettre en place, tester et maintenir tous les services réseaux qu'utilise &os;. De plus, des exemples de fichier de configuration ont été inclus tout au long de ce chapitre pour que vous puissiez en bénéficier. Après la lecture de ce chapitre, vous connaîtrez: Les bases sur les passerelles et les routes. Comment utiliser &os; en tant que pont (“bridge”). Comment configurer le système de fichiers réseau. Comment configurer le démarrage via le réseau pour une machine sans disque dur. Comment mettre en place un serveur d'information sur le réseau pour partager les comptes utilisateurs. Comment configurer le paramétrage réseau automatique en utilisant DHCP. Comment configurer un serveur de noms de domaine. Comment synchroniser l'heure et la date, et mettre en place en serveur de temps, avec le protocole NTP. Comment configurer la translation d'adresse réseau. Comment gérer le “daemon” inetd. Comment connecter deux ordinateurs via PLIP. Comment configurer l'IPv6 sur une machine &os;. Avant de lire ce chapitre, vous devrez: Comprendre les bases des procédures /etc/rc. Etre familier avec la terminologie réseau de base. Gateways and Routes Wireless Networking Bluetooth Bridging NFS Diskless Operation ISDN NIS/YP DHCP DNS NTP Chern Lee Contribution de Translation d'adresses Généralités natd Le “daemon” de translation d'adresses (“Network Address Translation”—NAT) de &os;, généralement connu sous le nom de &man.natd.8; est un “daemon” qui accepte les paquets IP entrants, change l'adresse de la source par celle de la machine locale et ré-injecte les paquets dans le flux sortant des paquets IP. Le programme &man.natd.8; effectue cela en changeant l'adresse IP et le port source de sorte quand les données réponse arrivent il soit en mesure de déterminer la provenance des données d'origine et les transférer à l'émetteur original. Partage de connexion Internet IP masquerading L'utilisation classique de NAT est le partage de connexion Internet. Architecture du réseau En raison de la diminution du nombre d'adresses IP libres sous IPv4, et de l'augmentation du nombre d'utilisateurs de lignes haut-débit comme le câble ou l'ADSL, le besoin d'utiliser une solution de partage de connexion est donc en constante augmentation. La possibilité de connecter plusieurs ordinateurs par l'intermédiaire d'une connexion et d'une adresse IP fait de &man.natd.8; une solution de choix. Plus généralement, un utilisateur dispose d'une machine connecté sur la câble ou une ligne ADSL avec une adresse IP et désire utiliser cet ordinateur connecté pour fournir un accès Internet à d'autres machines du réseau local. Pour cela, la machine &os; sur Internet doit jouer le rôle de passerelle. Cette machine passerelle doit avoir deux cartes réseaux—l'une pour se connecter au routeur Internet, l'autre est connectée au réseau local. Toutes les machines du réseau local sont connectées par l'intermédiaire d'un hub ou d'un switch. _______ __________ _________ | | | | | | | Hub |-----| Client B |-----| Routeur |----- Internet |_______| |__________| |_________| | ____|_____ | | | Client A | |__________| Organisation du réseau Une telle configuration est communément utilisée pour partager une connexion Internet. Une des machines du réseau local est connectée à Internet. Le reste des machines accède à Internet par l'intermédiaire de cette machine “passerelle”. noyau configuration Configuration Les options suivantes doivent être présentes dans le fichier de configuration du noyau: options IPFIREWALL options IPDIVERT De plus, les options suivantes peuvent également être utiles: options IPFIREWALL_DEFAULT_TO_ACCEPT options IPFIREWALL_VERBOSE Ce qui suit doit figurer dans le fichier /etc/rc.conf: gateway_enable="YES" firewall_enable="YES" firewall_type="OPEN" natd_enable="YES" natd_interface="fxp0" natd_flags="" gateway_enable="YES" Configure la machine comme passerelle. Exécuter sysctl net.inet.ip.forwarding=1 aurait le même effet. firewall_enable="YES" Active les règles du coupe-feu se trouvant dans le fichier /etc/rc.firewall au démarrage. firewall_type="OPEN" Cela spécifie un ensemble de règles prédéfinies pour le coupe-feu qui autorise tous les paquets entrant. Consultez le fichier /etc/rc.firewall pour d'autres ensembles de régles. natd_interface="fxp0" Indique à travers quelle interface transférer les paquets (l'interface connectée à l'Internet). natd_flags="" Toutes options de configuration supplémentaires passées à &man.natd.8; au démarrage. Le fait d'avoir les options précédentes définies dans le fichier /etc/rc.conf lancera la commande /etc/rc.conf au démarrage. Cette commande peut être également exécutée à la main. A chaque machine et interface derrière le réseau local doit être assigné une adresse IP de l'espace d'adresses privées comme défini par la RFC 1918 et doit disposer d'une passerelle par défaut qui est l'adresse IP interne de la machine &man.natd.8;. Par exemple, les clients A et B du réseau local ont les adresses IP 192.168.0.2 et 192.168.0.3, tandis que l'interface sur le réseau local de la machine natd a pour adresse IP 192.168.0.1. La passerelle par défaut des clients A et B doit être l'adresse 192.168.0.1 de la machine natd. L'interface externe ou Internet de cette dernière ne demande aucune modification spécifique pour que &man.natd.8; puisse fonctionner. Redirection de ports L'inconvénient avec &man.natd.8; est que les clients du réseau local ne sont pas accessibles depuis l'Internet. Les clients sur le réseau local peuvent établir des connexions sortantes vers le monde extérieur mais ne peuvent recevoir de connexions entrantes. Cela présente un problème si l'on tente de faire tourner des services Internet sur une des machines du réseau local. Une solution simple à ce problème est de rediriger les ports Internet sélectionnés de la machine natd vers le client sur le réseau local. Par exemple, un serveur IRC tourne sur le client A, et un serveur web sur le client B. Pour que cela fonctionne correctement, les connections reçues sur les ports 6667 (IRC) et 80 (web) doivent être redirigées vers les machines correspondantes. L'option doit être passée à &man.natd.8; avec les autres options adéquates. La syntaxe est la suivante: -redirect_port proto targetIP:targetPORT[-targetPORT] [aliasIP:]aliasPORT[-aliasPORT] [remoteIP[:remotePORT[-remotePORT]]] Dans l'exemple précédent, l'argument passé à la commande devrait être: -redirect_port tcp 192.168.0.2:6667 6667 -redirect_port tcp 192.168.0.3:80 80 Cela va rediriger les ports tcp voulus vers les machines du réseau local. L'option peut être utilisée pour indiquer une plage de ports plutôt que des ports individuels. Par exemple tcp 192.168.0.2:2000-3000 2000-3000 redirigerait toutes les connexions reçues sur les ports 2000 à 3000 vers les ports 2000 à 3000 du client A. Ces options peuvent être utilisées quand on exécute directement &man.natd.8; ou placées dans l'option natd_flags="" du fichier /etc/rc.conf. Pour plus d'éléments et d'options de configuration consultez la page de manuel &man.natd.8; Redirection d'adresses redirection d'adresses La redirection d'adresses est utile si plusieurs adresses IP sont disponibles mais doivent se trouver sur une seule machine. Avec cela, &man.natd.8; peut assigner à chaque client du réseau local sa propre adresse IP externe. Le programme &man.natd.8; récrit alors les paquets sortant des clients du réseau local avec l'adresse IP externe correcte et redirige tout le trafic entrant sur une adresse IP particulière vers la machine du réseau local correspondante. Ce principe est également connu sous le nom de translation d'adresses statique. Par exemple, les adresses IP 128.1.1.1, 128.1.1.2, et 128.1.1.3 appartiennent à la passerelle natd. L'adresse 128.1.1.1 peut être utilisée comme adresse IP externe de la passerelle natd, tandis que 128.1.1.2 et 128.1.1.3 sont redirigées vers les machines A et B du réseau local. La syntaxe de l'option est la suivante: -redirect_address localIP publicIP localIP L'adresse IP interne du client sur le réseau local. publicIP L'adresse IP externe correspondant au client sur le réseau local. Dans l'exemple, les arguments passés à la commande seraient: -redirect_address 192.168.0.2 128.1.1.2 -redirect_address 192.168.0.3 128.1.1.3 Comme pour l'option , ces options peuvent être placées dans l'option natd_flags="" du fichier /etc/rc.conf. Avec la redirection d'adresse, il n'y a pas besoin de redirection de ports puisque toutes les données reçues sur une IP particulière sont redirigées. Les adresses IP sur la machine natd doivent être active et pointer sur l'interface externe. Consultez la page de manuel &man.rc.conf.5; pour cela. inetd <quote>Super-Server</quote> Overview Settings Command-Line Options <filename>inetd.conf</filename> Security Miscellaneous IP sur liaison parallèle (PLIP) PLIP IP sur liaison parallèle PLIP nous permet d'utiliser le protocole TCP/IP entre ports parallèles. C'est utile sur des machines sans cartes réseaux, ou pour effectuer une installation sur ordinateur portable. Dans cette section nous aborderons: La fabrication d'un câble parallèle (“laplink”). La connexion de deux ordinateurs via PLIP. Fabriquer un câble parallèle Vous pouvez acheter un câble parallèle auprès de la plupart des vendeurs de matériel informatique. Si ce n'est pas le cas, ou désirez savoir comment est fait un tel câble, le tableau suivant montre comment en faire un à partir d'un câble parallèle d'imprimante. Câblage d'un câble parallèle pour réseau A-name A-End B-End Descr. Post/Bit DATA0 -ERROR 2 15 15 2 Data 0/0x01 1/0x08 DATA1 +SLCT 3 13 13 3 Data 0/0x02 1/0x10 DATA2 +PE 4 12 12 4 Data 0/0x04 1/0x20 DATA3 -ACK 5 10 10 5 Strobe 0/0x08 1/0x40 DATA4 BUSY 6 11 11 6 Data 0/0x10 1/0x80 GND 18-25 18-25 GND -
Configurer PLIP Tout d'abord procurez-vous un câble “laplink”. Vérifiez ensuite que les deux ordinateurs disposent d'un noyau avec le support pour le pilote de périphérique &man.lpt.4;. &prompt.root; grep lp /var/run/dmesg.boot lpt0: <Printer> on ppbus0 lpt0: Interrupt-driven port Le port parallèle doit fonctionner sous interruption, sous &os; 4.X vous devriez avoir une ligne semblable à la ligne suivante dans le fichier de configuration du noyau: device ppc0 at isa? irq 7 Sous &os; 5.X, le fichier /boot/device.hints devrait contenir les lignes suivantes: hint.ppc.0.at="isa" hint.ppc.0.irq="7" Ensuite vérifiez si le fichier de configuration du noyau contient une ligne device plip ou si le module plip.ko est chargé. Dans les deux cas l'interface réseau parallèle devrait apparaître quand vous utilisez directement la commande &man.ifconfig.8;. Sous &os; 4.X de cette manière: &prompt.root; ifconfig lp0 lp0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500 et sous &os; 5.X: &prompt.root; ifconfig plip0 plip0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500 Le nom de périphérique utilisé pour l'interface parallèle est différent entre &os; 4.X (lpX) et &os; 5.X (plipX). Branchez le câble “laplink” sur les interfaces parallèles des deux ordinateurs. Configurez les paramètres de l'interface réseau des deux côtés en tant que root. Par exemple, si vous voulez connecter la machine host1 fonctionnant sous &os; 4.X avec la machine host2 tournant sous &os; 5.X: host1 <-----> host2 IP Address 10.0.0.1 10.0.0.2 Configurez l'interface sur host1 en tapant: &prompt.root; ifconfig lp0 10.0.0.1 10.0.0.2 Configurez l'interface sur host2 en tapant: &prompt.root; ifconfig plip0 10.0.0.2 10.0.0.1 Vous devriez avoir maintenant une connexion qui fonctionne. Veuillez consulter les pages de manuel &man.lp.4; et &man.lpt.4; pour plus de détails. Vous devriez également ajouter les deux noms de machines dans le fichier /etc/hosts: 127.0.0.1 localhost.my.domain localhost 10.0.0.1 host1.my.domain host1 10.0.0.2 host2.my.domain Pour vérifier le bon fonctionnement de la connexion, aller sur les deux machines et effectuez un “ping” vers l'autre machine. Par exemple, sur host1: &prompt.root; ifconfig lp0 lp0: flags=8851<UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet 10.0.0.1 --> 10.0.0.2 netmask 0xff000000 &prompt.root; netstat -r Routing tables Internet: Destination Gateway Flags Refs Use Netif Expire host2 host1 UH 0 0 lp0 &prompt.root; ping -c 4 host2 PING host2 (10.0.0.2): 56 data bytes 64 bytes from 10.0.0.2: icmp_seq=0 ttl=255 time=2.774 ms 64 bytes from 10.0.0.2: icmp_seq=1 ttl=255 time=2.530 ms 64 bytes from 10.0.0.2: icmp_seq=2 ttl=255 time=2.556 ms 64 bytes from 10.0.0.2: icmp_seq=3 ttl=255 time=2.714 ms --- host2 ping statistics --- 4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max/stddev = 2.530/2.643/2.774/0.103 ms
IPv6