La configuration proposee par les cabloperateurs est la suivante:
Addresse IP dynamique (Obtenue a chaque nouvelle session).
Dans le cas d' une addresse IP statique la procedure de raccordement
est identique a tout raccordement de machine sur un reseau ethernet,
ce cas n' est pas detaille ici car il est de loin plus facile, et
largement detaille dans tout un tas de bouquins et de HOWTOS.
II) Preparation du kernel.
Il faut tout d' abord commencer par connaitre le type de carte ethernet installee dans le PC. Le mieux est de se poser la question lors de l'installation du materiel par les techniciens du reseau cable.
Lorsque la carte a ete identifiee, il faut recompiler le kernel, avec le support de la carte. (NE2000, 3COM .....). Toute cette phase est clairement detaillee dans le KERNEL-HOWTO, s' y referer si besoin est.
Dans mon cas (RED HAT 4.2), j' ai procede comme suit:
1) cd /usr/src/linux
2) make menuconfig puis choix de l' option carte ethernet NE2000.
3) make clean
4) make dep
5) make zImage
6) cp /usr/src/linux/arch/i386/boot/zImage /boot/vmlinuz
7) /sbin/lilo
puis dans le cas de modules inclus (a partir du kernel2.0.X.X)
8) rm -R /lib/modules/old
9) mv /lib/modules/2.0.xx /lib/modules/old
10) make modules
11) make modules_install
12) depmod -a
A partir de ce moment apres un reboot la carte ethernet doit etre vue lors de la phase d'initialisation. Rappel: les messages qui apparaissent durant cette phase peuvent etre vus a tout moment par la commande dmesg. Dans mon cas il y a:
.
.
.
ne.c: PCI BIOS reports ne2000 clone at i/o 0x6000, irq 11.
ne.c:v1.10 9/23/94 Donald Becker (becker@cesdis.gsfc.nasa.gov)
NE*000 ethercard probe at 0x6000: 00 20 18 2a 4b 3e
eth0: NE2000 found at 0x6000, using IRQ 11.
.
.
.
Noter que l' on peut ainsi connaitre l' adresse MAC de sa carte
(implantee par le constructeur) ici: 00 20 18 2a 4b 3e
III) Installation du demon DHCP.
Lors d' une connection dynamique le reseau utilise un protocole, qui permet de dire, d'une maniere imagee:
"HE HO, JE SUIS LA, DONNE MOI UNE ADDRESSE IP"
le reseau repond alors
"OK BIEN COMPRIS TON ADDRESSE EST LA SUIVANTE: xxx.xxx.xxx.xxx"
Ce protocole est le DHCP (dynamic host control protocol) toutes les infos relatives a ce protocole peuvent etre consultees a l' addresse suivante: http://www.isc.org/dhcp.html
Il existe un demon dhcp a l' addresse precitee, mais qui necessite pas mal de configuration, ainsi qu' un autre sur le sunsite: ( ftp://sunsite.unc.edu/pub/linux/system/network/daemon/dhcpcd-0.6 ) qui est autoconfigurable (ou presque). Je detaillerai donc ce dernier puisque c' est celui que j' utilise.
Apres l' avoir recupere par ftp, et placer sous sa home directory,
il suffit de le decompresser, et de le detarer:
gzip -d dhcpcd-0.6.tar.gz
suivi de tar -xvf dhcpcd-0.6.tar
Des lors il suffit de lancer le script d'auto config, puis la compile: configure, puis make.
Si tout s' est bien passe, on peut alors l' installer en passant root,
et en tapant make install. A partir de ce moment le demon est
installe et pret a etre utilise.
IV) Creation des scripts de lancement et d' arret.
Plutot que de tout lancer manuellement a chaque fois, il est plus cool de tout automatiser lors de l' initialisation du terminal, ainsi que d' arreter le daemon sur un shutdown.
J' ai donc ecrit deux petits shells scripts dhcp-on et dhcp-off que voici:
dhcp-on:
>------------------------------ COUPER ICI -----------------------------------------<
#!/bin/sh
# Demarrage du reseau en utilisant l' addresse IP # dynamique fournie par le serveur.
# Suppression de l' ancienne valeur IP
if [ -f /var/run/dhcpcd-cache.eth0 ]; then
rm -rf /var/run/dhcpcd-cache.eth0
fi
# Suppression de l' ancien fichier de config if [ -f /etc/dhcpc/hostinfo-eth0 ]; then
rm -rf /etc/dhcpc/hostinfo-eth0
fi
# Suppression de l' ancien fichier de PID if [ -f /var/run/dhcpcd-eth0.pid ]; then
rm -rf /var/run/dhcpcd-eth0.pid
fi
# Demarrage du demon
dhcpcd
echo 'Demarrage du reseau TV CABLE :)'
>------------------------------ COUPER ICI -----------------------------------------<
dhcp-off:
>------------------------------ COUPER ICI -----------------------------------------<
#!/bin/sh
PID=`cat /var/run/dhcpcd-eth0.pid`
kill $PID
echo "arret du reseau TV CABLE :("
>------------------------ COUPER ICI-----------------------------------------<
L' appel de ces deux scripts est ajoute dans mon fichier /etc/rc.d/init.d/inet:
.
.
.
.
case "$1" in
start)
echo -n "Starting INET services: "
daemon inetd
echo
touch /var/lock/subsys/inet
echo -n "Starting DHCP daemon: dhcpcd..."
dhcp-on
;;
stop)
# bringing down NFS filesystems isn't inet's problem I don't know
# why this script used to do that -- ewt
echo -n "Stopping INET services: "
killproc inetd
echo
rm -f /var/lock/subsys/inet
echo -n "Stopping DHCP daemon: dhcpcd..."
dhcp-off
;;
.
.
.
.
Des lors tout demarrage et arret de la machine doit automatiquement demarrer, ou arreter le demon.
Il ne faut pas non plus oublier de configurer les fichiers reseau:
V) Fichiers de configuration reseau.
Tout d' abord le fichier contenant les addresses de serveur de
resolution des noms DNS:
/etc/resolv.conf:
domain cybercable.tm.fr
nameserver 195.132.0.132
nameserver 195.132.0.193
puis /etc/host.conf:
order hosts,bind
multi on
puis le fichier /etc/hosts
127.0.0.1 localhost
VII) Test de la configuration.
Il ne reste plus qu' a rebooter la machine et a se logger. Si tout
s'est bien passe la commande netstat -r devrait afficher un message
identique a celui-ci:
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface 195.132.11.0 * 255.255.255.0 U 1500 0 0 eth0 127.0.0.0 * 255.0.0.0 U 3584 0 0 lo default gate-r11.cyberc 0.0.0.0 G 1500 0 0 eth0
Si c'est le cas c'est que ca marche, tout devrait alors fonctionner:
ftp, telnet, WEB .... :)
VII) Conclusion.
J'espere que ce document permet de repondre aux attentes des utilisateurs soucieux d'utiliser leur OS prefere. Ce document n' est qu' un debut, j' attend vos remarques et vos commentaires.
Ghislain BALLESTER
gba@cybercable.tm.fr