Nous allons configurer notre routeur en serveur DHCP pour le LAN.

Un serveur DHCP distribue des adresses IP aux machines qui en font la demande sur le LAN. Le serveur distribue les adresses à partir d’un pool d’adresses; à 2 demandes consécutives à partir d’une même machine, on n’obtient pas obligatoirement la même adresse. Et si on souhaite avoir des machines de notre LAN avec des adresses fixes, par exemple parce qu’il s’agit d’un serveur accessible grace à une redirection de port sur le routeur? 2 solutions:
- Exclure l’adresse du pool dhcp, et configurer l’adresse choisie sur la machine elle même… bof…
- Configurer un pool statique pour chaque machine ayant une adresse fixe. Yes ! sur un IOS… bof…. Nous allons voir ça…
Voyons comment configurer un pool dynamique, et 2 pools statiques pour notre réseau…
La documentation est sur le site de Cisco à cette adresse: http://www.cisco.com/en/US/docs/ios/ipaddr/configuration/guide/iad_dhcp_svr_cfg_ps6350_TSD_Products_Configuration_Guide_Chapter.html
Passage en mode configuration
router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. router(config)#
Configuration d’un pool dynamique
router(dhcp-config)#ip dhcp pool int_philbnet_dyn router(dhcp-config)#network 192.168.100.48 255.255.255.240 router(dhcp-config)#default-router 192.168.100.62 router(dhcp-config)#dns-server 192.168.100.62 router(dhcp-config)#domain-name philb.local router(dhcp-config)#netbios-name-server 192.168.100.49 router(dhcp-config)#lease infinite router(dhcp-config)#class dyn_range router(config-dhcp-pool-class)#address range 192.168.100.57 192.168.100.61 router(config-dhcp-pool-class)#exit router(dhcp-config)#bootfile /archlinux/pxelinux.0 router(dhcp-config)#next-server 192.168.100.49
Remarque: les 2 dernieres lignes permettent de configurer un boot reseau…
Sortons du mode dhcp-config
router(dhcp-config)#exit
Fin de la configuration
router(config)#^Z router#
Voila, nous avons un serveur DHCP fonctionnel…
Pour configurer les pools manuels, avec des adresses IP stratique, il est imperatif de savoir quels sont les Client-ID / Hardward address des machines clientes. Même si la doc de Cisco n’est pas très claire, les 2 options, hardware-address et client-identifier sont exclusives!!! Il faut donc savoir a l’avance si un client-id (cas d’un client Windows Vista par exemple) sera presenté au serveur DHCP, ou non (cas de la configuration par défaut du client dhcp de Slackware Linux par exemple)…
La commande show ip dhcp binding nous permet de voir quels sont les Client-ID / Hardware address:
router#show ip dhcp binding
Bindings from all pools not associated with VRF:
IP address Client-ID/ Lease expiration Type
Hardware address/
User name
192.168.100.57 001a.4d58.4474 Infinite Automatic
192.168.100.60 0100.1d09.5944.7c Infinite Automatic
192.168.100.58 0008.02f2.e695 Infinite Automatic
192.168.100.61 0800.2775.51b6 Infinite Automatic
router#
Configuration d’une premiere adresse statique, avec hardware-address
router(config)#ip dhcp pool int_philbnet_core2 router(dhcp-config)#host 192.168.100.49 255.255.255.240 router(dhcp-config)#hardware-address 001a.4d58.4474 router(dhcp-config)#default-router 192.168.100.62 router(dhcp-config)#dns-server 192.168.100.62 router(dhcp-config)#domain-name philb.local router(dhcp-config)#netbios-name-server 192.168.100.49 router(dhcp-config)#client-name core2 router(dhcp-config)#lease infinite
Configuration d’une deuxième adresse statique, avec client-identifier
router(dhcp-config)#ip dhcp pool int_philbnet_yao router(dhcp-config)#host 192.168.100.55 255.255.255.240 router(dhcp-config)#client-identifier 0100.1d09.5944.7c router(dhcp-config)#default-router 192.168.100.62 router(dhcp-config)#dns-server 192.168.100.62 router(dhcp-config)#domain-name philb.local router(dhcp-config)#netbios-name-server 192.168.100.49 router(dhcp-config)#client-name yao router(dhcp-config)#lease infinite
Et voila !
Testons un coup à partir de d’une carte réseau du pool statique int_philbnet_core2:
root@core2:~# /etc/rc.d/rc.inet1 restart Polling for DHCP server on interface eth0: dhcpcd: version 5.1.4 starting dhcpcd: eth0: broadcasting for a lease dhcpcd: eth0: offered 192.168.100.49 from 192.168.100.62 dhcpcd: eth0: acknowledged 192.168.100.49 from 192.168.100.62 dhcpcd: eth0: checking for 192.168.100.49 dhcpcd: eth0: leased 192.168.100.49 for infinity dhcpcd: forking to background root@core2:~#
Tout est OK !
Vérification des bindings:
router#show ip dhcp binding
Bindings from all pools not associated with VRF:
IP address Client-ID/ Lease expiration Type
Hardware address/
User name
192.168.100.49 001a.4d58.4474 Infinite Manual
192.168.100.55 0100.1d09.5944.7c Infinite Manual
192.168.100.58 0008.02f2.e695 Infinite Automatic
192.168.100.61 0800.2775.51b6 Infinite Automatic
router#
Remarque: Pour exclure une adresse d’être distribuee, il est possible d’utiliser la directive de configuation suivante:
router(config)#ip dhcp excluded-address 192.168.100.62
Commentaires