Quel que soit la distribution que vous utilisez, vous aurez besoin de
télécharger le démon client pour Linux. Le
paquetage dont vous avez besoin est appelé dhcpcd
et sa
version actuelle est 0.70. Le fichier de description du paquetage
écrit:
Title: dhcpcd Version: 0.70 Entered-date: 05MAY97 Description: dhcpcd is an RFC2131 compliant DHCP client daemon. It gets an IP address and other information from a corresponding DHCP server, configures the network interface automatically, and tries to renew the lease time according to RFC2131. It works in the RFC1541 compliant mode when the '-r' option is specified. So far it is found that dhcpcd 0.70 works fine with the following DHCP servers: 1. ISC's dhcpcd-BETA-5.15 2. DHCP server on Windows NT server 3.51 3. DHCP server version 1.3b by WIDE project. 4. DHCP server in the SolarNet PC-Admin 1.5 package 5. DHCP server used in Time Warner Cable's Internet Access Service 6. DHCP server used in Bell Atlantic ADSL See the "Changes" file if you want to know the difference from the previous version. Keywords: DHCP, client, Linux Author: [email protected] (Yoichi Hariguchi) Maintained-by: [email protected] (Yoichi Hariguchi) Primary-site: ftp.kobe-u.ac.jp:/pub/PC-UNIX/Linux/network/dhcp 33kB dhcpcd-0.70.tar.gz Alternate-site: sunsite.unc.edu:/pub/Linux/system/network/daemons 33kB dhcpcd-0.70.tar.gz Original-site: Platforms: Linux 1.2.xx, 1.3.xx, 2.0.x Copying-policy: GPL
Vous pouvez télécharger la dernière copie de
DHCPcd depuis n'importe quel mirroir de ftp://ftp.cdrom.com/pub/linux/sunsite/system/network/daemons/
ftp://ftp.sunsite.unc.edu/pub/Linux/system/network/daemons/
ftp://ftp.lip6.fr/pub/linux/sunsite/system/daemons/
(site de référence en France)
Téléchargez la dernière version de
dhcpcd.tar.gz
Décompressez-le: tar -zxvf dhcpcd-0.70.tar.gz
,
déplacez-vous dans le répertoire: cd dhcpcd-0.70
,
tapez: make
.
Vous aurez besoin d'être make install
.
Cela créera le répertoire /etc/dhcpcd
où
DHCPcd stockera les paramètres et dhcpcd
sera copié dans
le répertoire /usr/sbin/
.
Vous pouvez passer à la deuxième étape.
DHCPcd est inclu dans la distribution standard de RedHat sous forme
RPM et vous pouvez le trouver dans le répertoire RPMS
du
CD-ROM
contenant la distribution ou bien le télécharger depuis:
ftp://tsx-11.edu/pub/linux/distributions/redhat/redhat-4.2/i386/RedHat/RPMS/
le fichier dhcpcd-0.6-2.i386.rpm
et installez-le avec
rpm -i dhcpcd-0.6-2.i386.rpm
Vous pouvez aussi compiler votre propre version en suivant les étapes de la Slackware. Lorsque vous avez fini, passez à l'étape 2.
Il y a un package pour DHCPcd à:
ftp://ftp.debian.org/debian/stable/binary/net/
.
Vous pouvez aussi suivre les étapes de la Slackware.
Pour décompresser les paquetage tapez: dpkg -i
/ou/se/trouve/votre/paquetage/dhcpcd*deb
.
Après allez à l'étape 2.
L'(Les) instruction(s) suivante(s) dépend(ent) de vos besoins.
dhcpcd
depuis la ligne de
commande (vous avez besoin d'être root
pour
l'exécuter) en tapant:
/usr/sbin/dhcpcd
.
Lorsque vous avez besoin d'arréter le service, tapez:
/usr/sbin/dhcpcd -k
.
Il ne vous manque, maintenant, que la
configuration du serveur de noms (/etc/resolv.conf
). Pour
connaître les instructions afin de créer le fichier
/etc/resolv.conf
allez à l'étape 3.Pour que le système utilise DHCP au démarrage tapez:
cd /etc/rc.d
,
mv rc.inet1 rc.inet1.old
.
Cela renommera l'ancienne initilisation du réseau en
rc.inet1.old
. Vous avez maintenant besoin de créer le
nouveau fichier rc.inet1
. Il devrait ressembler à:
#!/bin/sh # # rc.inet1 This shell script boots up the base INET system. # # Version: @(#)/etc/rc.d/rc.inet1 1.01 05/27/93 # HOSTNAME=`cat /etc/HOSTNAME` #This is probably not necessary but I #will leave it in anyways # Attache le peripherique loopback. /sbin/ifconfig lo 127.0.0.1 /sbin/route add -net 127.0.0.0 netmask 255.0.0.0 lo # SI VOUS AVEZ UNE CONNEXION ETHERNET, utilisez les lignes suivantes # pour configurer votre interface eth0. Si vous utilisez uniquement # le loopback ou bien SLIP, il ne faut pas inclure les lignes # restantes. /usr/sbin/dhcpcd
Nommez le fichier précédant rc.inet1
et
sauvegardez-le. Rebootez votre machine et allez à
l'étape 3.
Cette information a été fournie par /etc/resolv.conf
. Toutefois,
j'ai laissé la ligne search ainsi que mes deux lignes
nameserver (pour une raison inconnue, mon dhcpcd
n'a jamais
créé de /etc/dhcpcd/resolv.conf
, je dois
donc utiliser un /etc/resolv.comf
statique).
Dans /etc/sysconfig/network
j'ai supprimé les
valeurs de HOSTNAME ainsi que de GATEWAY.
J'ai laissé les autres entrées comme telles
(NETWORKING, DOMAINNAME, GATEWAYDEV).
Dans /etc/sysconfig/network-scripts/ifcfg-eth0
j'ai
supprimé les entrées IPADDR, NETMASK, NETWORK, et
BROADCAST. J'ai laissé les entrées DEVICE et ONBOOT
telles quelles. J'ai modifié la valeur de BOOTPROTO à
BOOTPROTO=dhcp.''
Savegardez le fichier et rebootez la machine.
Il semblerait qu'il n'y ait pas besoin de configuration pour DHCPcd
car:
D'après /etc/init.d/
, ici
/etc/init.d/dhcpcd
, et le lie à différents
répertoire /etc/rc?.d
.
Le contenu des différents /etc/rc?.d/
sont alors
exécuté au démarrage.
Si vous ne rebootez pas votre machine après l'installation,
vous pouvez quand même démarrer le démon
manuellement: /etc/init.d/dhcpcd start
''
Allez à. l'étape 3.
Cette étape devrait être la même pour toutes les distributions.
Après que votre machine ait rebooté, votre interface
réseau devrait être configurée. Tapez ifconfig
:
et vous devriez avoir quelque chose du genre:
lo Link encap:Local Loopback inet addr:127.0.0.1 Bcast:127.255.255.255 Mask:255.0.0.0 UP BROADCAST LOOPBACK RUNNING MTU:3584 Metric:1 RX packets:302 errors:0 dropped:0 overruns:0 frame:0 TX packets:302 errors:0 dropped:0 overruns:0 carrier:0 coll:0 eth0 Link encap:Ethernet HWaddr 00:20:AF:EE:05:45 inet addr:24.128.53.102 Bcast:24.128.53.255 Mask:255.255.254.0 ^^^^^^^^^^^^^^^^^^^^^^^ UP BROADCAST NOTRAILERS RUNNING MULTICAST MTU:1500 Metric:1 RX packets:24783 errors:1 dropped:1 overruns:0 frame:1 TX packets:11598 errors:0 dropped:0 overruns:0 carrier:0 coll:96 Interrupt:10 Base address:0x300
Si vous avez un numéro normal après inet addr
, c'est bon.
DHCPcd est un démon et continuera de s'exécuter tant que votre
machine restera allumée. Toutes les trois heures il contactera le
serveur DHCP et essaiera de renouveler le bail de l'adresse IP. Il placera
tous les messages journaux dans le "journal système" (pour la
Slackware
/var/adm/syslog
) si vous avez besoin de le consulter.
Une dernière chose. Vous avez besoin de spécifier vos serveurs de noms. Il y a deux manières de le faire, vous pouvez demander à votre fournisseur d'accès de vos donner les adresses de vos serveurs de noms et de les placer dans le fichier /etc/resolv.conf
où bien, DHCPcd obtient la liste depuis le serveur DHCP et construira un fichier /etc/dhcpcd/resolv.conf
. J'ai décidé d'utiliser les resolv.conf
de DHCPcd en faisant les choses suivantes:
resolv.conf
: mv /etc/resolv.conf /etc/resolv.conf.old
,/etc/dhcpcd/
n'existe pas, créez le: mkdir /etc/dhcpcd/
,/etc/dhcpcd/resolv.conf
et /etc/resolv.conf
: ln -s /etc/dhcpcd/resolv.conf /etc/resolv.conf
Si cela ne marche pas, essayez cela (proposé par
Cette dernière étape doit être exécutée seulement si dhcpcd
ne crée pas le /etc/dhcpcd/resolv.conf
. Dans le fichier /etc/sysconfig/network-scripts/ifup
j'ai effectué les modifications suivantes (qui sont vraiment de petites bidouilles, mais qui marchent pour moi).
################################# elif [ "$BOOTPROTO" = dhcp -a "$ISALIAS" = no ]; then echo -n "Using DHCP for ${DEVICE}... " /sbin/dhcpcd -c /etc/sysconfig/network-scripts/ifdhcpc-done ${DEVICE} echo "echo \$$ > /var/run/dhcp-wait-${DEVICE}.pid; exec sleep 30" | sh if [ -f /var/run/dhcp-wait-${DEVICE}.pid ]; then ^^^^ echo "failed." exit 1 #################################Je l'ai changé en:
################################# elif [ "$BOOTPROTO" = dhcp -a "$ISALIAS" = no ]; then echo -n "Using DHCP for ${DEVICE}... " /sbin/dhcpcd echo "echo \$$ > /var/run/dhcp-wait-${DEVICE}.pid; exec sleep 30" | sh if [ ! -f /var/run/dhcp-wait-${DEVICE}.pid ]; then ^^^^^^ echo "failed." exit 1 #################################
Notez le ! (point d'interrogation) dans le if [ ! -f /var/run/dhcp-wait-$(DEVICE).pid ] ;
Maintenant asseyez vous et contemplez <:ˆ}
Chapitre suivant, Chapitre Précédent
Table des matières de ce chapitre, Table des matières générale
Début du document, Début de ce chapitre