1*83ee113eSDavid van Moolenbroek# dhcpd.conf 2*83ee113eSDavid van Moolenbroek# 3*83ee113eSDavid van Moolenbroek# Sample configuration file for ISC dhcpd 4*83ee113eSDavid van Moolenbroek# 5*83ee113eSDavid van Moolenbroek 6*83ee113eSDavid van Moolenbroek# option definitions common to all supported networks... 7*83ee113eSDavid van Moolenbroekoption domain-name "example.org"; 8*83ee113eSDavid van Moolenbroekoption domain-name-servers ns1.example.org, ns2.example.org; 9*83ee113eSDavid van Moolenbroek 10*83ee113eSDavid van Moolenbroekdefault-lease-time 600; 11*83ee113eSDavid van Moolenbroekmax-lease-time 7200; 12*83ee113eSDavid van Moolenbroek 13*83ee113eSDavid van Moolenbroek# If this DHCP server is the official DHCP server for the local 14*83ee113eSDavid van Moolenbroek# network, the authoritative directive should be uncommented. 15*83ee113eSDavid van Moolenbroek#authoritative; 16*83ee113eSDavid van Moolenbroek 17*83ee113eSDavid van Moolenbroek# Dynamic DNS update scheme - must be set to "none", "interim" or "ad-hoc". 18*83ee113eSDavid van Moolenbroekddns-update-style none; 19*83ee113eSDavid van Moolenbroek 20*83ee113eSDavid van Moolenbroek# Use this to send dhcp log messages to a different log file (you also 21*83ee113eSDavid van Moolenbroek# have to hack syslog.conf to complete the redirection). 22*83ee113eSDavid van Moolenbroeklog-facility local7; 23*83ee113eSDavid van Moolenbroek 24*83ee113eSDavid van Moolenbroek# No service will be given on this subnet, but declaring it helps the 25*83ee113eSDavid van Moolenbroek# DHCP server to understand the network topology. 26*83ee113eSDavid van Moolenbroek 27*83ee113eSDavid van Moolenbroeksubnet 10.152.187.0 netmask 255.255.255.0 { 28*83ee113eSDavid van Moolenbroek} 29*83ee113eSDavid van Moolenbroek 30*83ee113eSDavid van Moolenbroek# This is a very basic subnet declaration. 31*83ee113eSDavid van Moolenbroek 32*83ee113eSDavid van Moolenbroeksubnet 10.254.239.0 netmask 255.255.255.224 { 33*83ee113eSDavid van Moolenbroek range 10.254.239.10 10.254.239.20; 34*83ee113eSDavid van Moolenbroek option routers rtr-239-0-1.example.org, rtr-239-0-2.example.org; 35*83ee113eSDavid van Moolenbroek} 36*83ee113eSDavid van Moolenbroek 37*83ee113eSDavid van Moolenbroek# This declaration allows BOOTP clients to get dynamic addresses, 38*83ee113eSDavid van Moolenbroek# which we don't really recommend. 39*83ee113eSDavid van Moolenbroek 40*83ee113eSDavid van Moolenbroeksubnet 10.254.239.32 netmask 255.255.255.224 { 41*83ee113eSDavid van Moolenbroek range dynamic-bootp 10.254.239.40 10.254.239.60; 42*83ee113eSDavid van Moolenbroek option broadcast-address 10.254.239.31; 43*83ee113eSDavid van Moolenbroek option routers rtr-239-32-1.example.org; 44*83ee113eSDavid van Moolenbroek} 45*83ee113eSDavid van Moolenbroek 46*83ee113eSDavid van Moolenbroek# A slightly different configuration for an internal subnet. 47*83ee113eSDavid van Moolenbroeksubnet 10.5.5.0 netmask 255.255.255.224 { 48*83ee113eSDavid van Moolenbroek range 10.5.5.26 10.5.5.30; 49*83ee113eSDavid van Moolenbroek option domain-name-servers ns1.internal.example.org; 50*83ee113eSDavid van Moolenbroek option domain-name "internal.example.org"; 51*83ee113eSDavid van Moolenbroek option routers 10.5.5.1; 52*83ee113eSDavid van Moolenbroek option broadcast-address 10.5.5.31; 53*83ee113eSDavid van Moolenbroek default-lease-time 600; 54*83ee113eSDavid van Moolenbroek max-lease-time 7200; 55*83ee113eSDavid van Moolenbroek} 56*83ee113eSDavid van Moolenbroek 57*83ee113eSDavid van Moolenbroek# Hosts which require special configuration options can be listed in 58*83ee113eSDavid van Moolenbroek# host statements. If no address is specified, the address will be 59*83ee113eSDavid van Moolenbroek# allocated dynamically (if possible), but the host-specific information 60*83ee113eSDavid van Moolenbroek# will still come from the host declaration. 61*83ee113eSDavid van Moolenbroek 62*83ee113eSDavid van Moolenbroekhost passacaglia { 63*83ee113eSDavid van Moolenbroek hardware ethernet 0:0:c0:5d:bd:95; 64*83ee113eSDavid van Moolenbroek filename "vmunix.passacaglia"; 65*83ee113eSDavid van Moolenbroek server-name "toccata.fugue.com"; 66*83ee113eSDavid van Moolenbroek} 67*83ee113eSDavid van Moolenbroek 68*83ee113eSDavid van Moolenbroek# Fixed IP addresses can also be specified for hosts. These addresses 69*83ee113eSDavid van Moolenbroek# should not also be listed as being available for dynamic assignment. 70*83ee113eSDavid van Moolenbroek# Hosts for which fixed IP addresses have been specified can boot using 71*83ee113eSDavid van Moolenbroek# BOOTP or DHCP. Hosts for which no fixed address is specified can only 72*83ee113eSDavid van Moolenbroek# be booted with DHCP, unless there is an address range on the subnet 73*83ee113eSDavid van Moolenbroek# to which a BOOTP client is connected which has the dynamic-bootp flag 74*83ee113eSDavid van Moolenbroek# set. 75*83ee113eSDavid van Moolenbroekhost fantasia { 76*83ee113eSDavid van Moolenbroek hardware ethernet 08:00:07:26:c0:a5; 77*83ee113eSDavid van Moolenbroek fixed-address fantasia.fugue.com; 78*83ee113eSDavid van Moolenbroek} 79*83ee113eSDavid van Moolenbroek 80*83ee113eSDavid van Moolenbroek# You can declare a class of clients and then do address allocation 81*83ee113eSDavid van Moolenbroek# based on that. The example below shows a case where all clients 82*83ee113eSDavid van Moolenbroek# in a certain class get addresses on the 10.17.224/24 subnet, and all 83*83ee113eSDavid van Moolenbroek# other clients get addresses on the 10.0.29/24 subnet. 84*83ee113eSDavid van Moolenbroek 85*83ee113eSDavid van Moolenbroekclass "foo" { 86*83ee113eSDavid van Moolenbroek match if substring (option vendor-class-identifier, 0, 4) = "SUNW"; 87*83ee113eSDavid van Moolenbroek} 88*83ee113eSDavid van Moolenbroek 89*83ee113eSDavid van Moolenbroekshared-network 224-29 { 90*83ee113eSDavid van Moolenbroek subnet 10.17.224.0 netmask 255.255.255.0 { 91*83ee113eSDavid van Moolenbroek option routers rtr-224.example.org; 92*83ee113eSDavid van Moolenbroek } 93*83ee113eSDavid van Moolenbroek subnet 10.0.29.0 netmask 255.255.255.0 { 94*83ee113eSDavid van Moolenbroek option routers rtr-29.example.org; 95*83ee113eSDavid van Moolenbroek } 96*83ee113eSDavid van Moolenbroek pool { 97*83ee113eSDavid van Moolenbroek allow members of "foo"; 98*83ee113eSDavid van Moolenbroek range 10.17.224.10 10.17.224.250; 99*83ee113eSDavid van Moolenbroek } 100*83ee113eSDavid van Moolenbroek pool { 101*83ee113eSDavid van Moolenbroek deny members of "foo"; 102*83ee113eSDavid van Moolenbroek range 10.0.29.10 10.0.29.230; 103*83ee113eSDavid van Moolenbroek } 104*83ee113eSDavid van Moolenbroek} 105