Configurer un serveur DHCP

Auteur : Olivier BOYER - oboyer () ajoute ! org

Mots clés

NetBSD, dhcp, network boot

Introduction

Ce document décrit comment configurer un serveur DHCP sur un NetBSD 1.6.x et 2.x. Le daemon dhcpd(8) est livré dans les sets de base du système, il n'y a donc pas d'installation supplémentaire à effectuer.

Le daemon dhcpd(8) livré est celui de l'ISC (Internet Software Consortium), disponible à l'URL : http://www.isc.org/sw/dhcp/

Le serveur DHCP écoute sur le port udp/67.

Présentation de la maquette

Via le service DHCP les clients doivent recevoir leurs parametres IP, mais aussi la configuration DNS, NTP, et NIS.

Sur le reseau, il existe deux sortes de clients :

  • ceux avec une adresse IP fixe,
  • ceux avec une adresse IP dynamique (cas des clients de passage)

Cette adresse est comprise dans le poll : 150→159

Note

Toutes les commandes présentées ici, sont à executer, sauf mention contraire, en tant qu'administrateur de la machine.

Pré-requis

Le noyau du système NetBSD doit avoir le Berkeley Packet Filter (bpf)de configuré. Pour chaque interface réseau où le broadcast est possible (par exemple Ethernet), il faut qu'il y ait au moins un fichier /dev/bpf*

Le support bpf est inclus dans le noyau GENERIC pour les NetBSD 1.6.x et 2.x.

Configuration du serveur DHCP

Modifier le fichier /etc/rc.conf

Pour activer le serveur DHCP au démarrage de la machine, ajouter les lignes suivantes au fichier /etc/rc.conf :

# Daemons used to boot other hosts over a network. 
#
rarpd=NO                rarpd_flags="-a"
bootparamd=NO           bootparamd_flags=""
dhcpd=YES               dhcpd_flags="-q"
dhcrelay=NO             dhcrelay_flags=""

Créer le fichier /etc/dhcpd.conf

La configuration du daemon dhcpd s'effectue via le fichier /etc/dhcpd.conf. Ce dernier n'exsite pas par défaut dans le système. Pour le créer, inspirons-nous d'un exemple livré :

# cp /usr/share/examples/dhcp/dhcpd.conf /etc/dhcpd.conf

Une fois modifié le fichier doit ressembler à celui ci-dessous :

# /etc/dhcpd.conf
#
# configuration file for ISC dhcpd
#

##
## dhcpd options
##

# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
authoritative;

# Dynamic DNS update scheme - must be set to "none", "interim" or "ad-hoc".
ddns-update-style none;

# Use this to send dhcp log messages to a different log file (you also
# have to hack syslog.conf to complete the redirection).
# dhcpd(8) will log all  output  using the  syslog(3)  function  
# with  the  log  facility  set to LOG_DAEMON.
#log-facility local7;

# Lease informations
default-lease-time 3600;
max-lease-time 86400;

#whether or not the client  should
#perform  subnet  mask discovery using ICMP
option perform-mask-discovery false;

##
## option definitions common to all supported networks...
##
# IP informations
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option routers 192.168.0.254;

# DNS informations
option domain-name "leaves.org";
option domain-name-servers 192.168.0.1, 192.168.0.2;

# NIS informations
option nis-domain leaves;
option nis-servers 192.168.0.1, 192.168.0.2;

# NTP informations
option ntp-servers 192.168.0.1, 192.168.0.2;

# Mail informations
option smtp-server 192.168.0.25;

# LPR informations
option lpr-servers 192.168.0.1;

##
## Clients settings
##
# This is a very basic subnet declaration.
# Allow unknown clients to get an Ip address between 192.168.0.150 and 192.168.0.159
# Local Network
subnet 192.168.0.0 netmask 255.255.255.0 {
  range 192.168.0.150 192.168.0.159;
}


# Fixed IP addresses can also be specified for hosts.   These addresses
# should not also be listed as being available for dynamic assignment.
# Hosts for which fixed IP addresses have been specified can boot using
# BOOTP or DHCP.   Hosts for which no fixed address is specified can only
# be booted with DHCP, unless there is an address range on the subnet
# to which a BOOTP client is connected which has the dynamic-bootp flag
# set.
host ocb {
  hardware ethernet 00:A1:52:74:66:56;
  fixed-address ocb.leaves.org;
}

host job {
  hardware ethernet 01:10:67:AE:36:1B;
  fixed-address job.leaves.org;
}


# This declaration allows BOOTP clients to get dynamic addresses,
# which we don't really recommend.

#subnet 192.168.1.0 netmask 255.255.255.0 {
#  range dynamic-bootp 192.168.1.150 192.168.1.159;
#  option broadcast-address 192.168.1.255;
#  option routers 192.168.1.254;
#}

#EOF

Fichier de lease

Pour créer le fichier de lease, procédez comme suit :

# touch /var/db/dhcpd.leases
# ls -l /var/db/dhcpd.leases
-rw-r--r--  1 root  wheel  0 Dec  8 22:01 /var/db/dhcpd.leases

Modifier le fichier /etc/syslog.conf

Par défaut dhcpd utilise syslog(3) pour tracer son activité. Il utilise la facilité : LOG_DAEMON

Il est possible de modifier cette facilité en precisant le paramètre : log-facility dans les options communes du fichier /etc/dhcpd.conf.

Par exemple :

log-facility local7;

Il est ainsi possible d'isoler tous les messages de dhcpd dans un fichier spécifique.

Liens

 
doc/netbsd/dhcpd.txt · Dernière modification: 2009/12/23 22:36 (édition externe)     Haut de page