Advanced Networking ** Traduction en Cours **SynopsisCe 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 RoutesWireless NetworkingBluetoothBridgingNFSDiskless OperationISDNNIS/YPDHCPDNSNTPChernLeeContribution de Translation d'adressesGénéralitésnatdLe “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 InternetIP masqueradingL'utilisation classique de NAT est le partage de connexion
Internet.Architecture du réseauEn 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éseauUne 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”.noyauconfigurationConfigurationLes options suivantes doivent être présentes
dans le fichier de configuration du noyau:options IPFIREWALL
options IPDIVERTDe plus, les options suivantes peuvent également
être utiles:options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPFIREWALL_VERBOSECe 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 portsL'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 80Cela 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'adressesredirection d'adressesLa 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 publicIPlocalIPL'adresse IP interne du client sur le
réseau local.publicIPL'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.3Comme 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 Super-ServerOverviewSettingsCommand-Line Optionsinetd.confSecurityMiscellaneousIP sur liaison parallèle (PLIP)PLIPIP sur liaison parallèlePLIP 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èleVous 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.
Configurer PLIPTout 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 portLe 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 7Sous &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 1500et sous &os; 5.X:&prompt.root; ifconfig plip0
plip0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500Le 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.2Configurez l'interface sur host1 en tapant:&prompt.root; ifconfig lp0 10.0.0.1 10.0.0.2Configurez l'interface sur host2 en tapant:&prompt.root; ifconfig plip0 10.0.0.2 10.0.0.1Vous 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.domainPour 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 msIPv6