Installation serveur DHCP sous FreeBSD

Date: 13/05/2008 | Catégories: Open-source,Reseau,Systeme | Tags: ,,

procedure.jpgNous allons nous attaquer à la configuration d'un serveur DHCP (ISC DHCP Server) sous FreeBSD. Vous pouvez également utiliser en grande partie cette procédure sous GNU/Linux.

Rappel: le protocole DHCP permet la configuration automatique des paramètres IP des machines d'un réseau (plus de littérature sur le Wiki).

Introduction

ISC DHCP est un projet open-source disponible dans une suite qui comprend les éléments suivants:

  • le fameux serveur DHCPd
  • le client DHCPclient
  • un serveur de relais DHCPrelay

Cette suite est disponible sur la plupart des OS: Linux, BSD, Mac OS X et Windows.

La dernière version stable à la date de l'éecriture de ce billet est la 3.0.6

Installation du serveur DHCPd

Sous FreeBSD la procédure est la suivante:

# pkg_add -r isc-dhcp3-server

Pour les puristes, il est également de compiler le serveur à partir des sources.

Quelques trucs utiles à savoir avant la configuration

DHCP est un protocole servant à distribuer des configurations réseaux (c'est à dire adresse IP, masque, routes, serveurs DNS...) sur un réseau local. Il faut donc que le serveur et les clients se trouvent sur un même réseau de niveau 2. En clair, il ne doit pas y avoir de routeur IP entre le serveur et les clients. Si vous ne pouvez pas faire autrement, le serveur relais pourra vous être utile...

Si vous avez un Firewall entre votre serveur et vos clients, il faut veillez à ajouter les règles suivantes:

Autoriser les paquets UDP/67 (source UDP/68) entre l'adresse 0.0.0.0 et l'adresse 255.255.255.255

Autoriser les paquets UDP/68 (source UDP/67) entre le serveur et les clients

C'est à dire autoriser vos clients qui n'ont pas encore d'adresse IP (0.0.0.0) à envoyer sur le réseau une requête DHCP (UDP/67) vers toutes les machines du réseau (255.255.255.255) afin de chercher le serveur DHCP. Le serveur DHCP répond (UDP/68) en offrant un bail DHCP (c'est à dire une configuration IP valable un certain temps).

Sous FreeBSD, la règle IPFW correspondante est:

# ipfw add allow udp from 0.0.0.0 68 to 255.255.255.255 67 keep-state

# ipfw add allow udp from @SERVEUR 67 to any 68 keep-state

Configuration du serveur DHCP

Toute la configuration est centralisée dans le fichier dhcpd.conf. Nous allons donc commencer par archiver la configuration par défaut.

# mv /usr/local/etc/dhcpd.conf.sample /usr/local/etc/dhcpd.conf

Puis éditer notre fichier dhcpd.conf:

# vi /usr/local/etc/dhcpd.conf

# C'est bien le serveur DHCP principal

authoritative;

# Nom de domaine de votre réseau

option domain-name "monboreseau.com";

# Adresses des serveurs DNS

option domain-name-servers ns1.monboreseau.com, ns2.monboreseau.com;

# Définition de la durée du bail

default-lease-time 600;

max-lease-time 7200;

# On logue les messages dans le syslog

log-facility local7;

# Définition des plages d'adresses dynamiques du LAN

subnet 192.168.1.0 netmask 255.255.255.0 {

range 192.168.1.100 192.168.1.200 ;

option routers 192.168.1.1 ;

option broadcast-address 192.168.1.255 ;

}

# Définition des machines statiques (les entrées doivent exister dans le serveur DNS)

# Attention, elles doivent être en dehors du range dynamique définie ci-dessus.

host mamachine {

hardware ethernet 00:11:09:1A:-:- ;

fixed-address mamachine.alcasat.net ;

}

Les opérations de base sur votre serveur DHCP

Démarrage du serveur (sous FreeBSD):

# /usr/local/etc/rc.d/isc-dhcpd start

Arrêter le serveur DHCP (sous FreeBSD):

# /usr/local/etc/rc.d/isc-dhcpd stop

Pour connaître la liste des baux (leases) en cours:

# cat /var/db/dhcpd.leases

Exemple:

lease 192.168.1.112 {

starts 2 2008/05/13 10:22:43;

ends 2 2008/05/13 10:32:43;

binding state active;

next binding state free;

hardware ethernet 00:08:02:f4:-:-;

uid "\001\000\010\002\364o\310";

client-hostname "port2";

}

Et la redondance ?

Si vous souhaitez avoir deux serveurs DHCP en redondance sur votre réseau, vous pouvez suivre cette procédure.

Partager ce billet