Dual DNS server farms in dhcpd.conf

Glenn Satchell Glenn.Satchell at uniq.com.au
Tue Apr 28 04:20:36 UTC 2009

>Date: Mon, 27 Apr 2009 15:23:09 -0700
>From: "John Tabasz (jtabasz)" <jtabasz at cisco.com>
>Hi All,
>I have a situation where I want to use dhcpd.conf to serve up addresses
>that are statically assigned. I have previously used the following to do
>shared-network TEST  {
>subnet netmask {
>option routers;
>  option subnet-mask;
>  option domain-name-servers,,;
>  option domain-name "mydomain.com";
>deny unknown-clients;
>  host dev5c.mydomain.com                           {
>   hardware ethernet              0:3:ba:11:b1:75;
>   fixed-address         ;
>   option host-name                       "dev5c";
>  }
>This worked fine until a new requirement came up that the PCs on the
>network and the Unix workstations on the same subnet should receive a
>different set of DNS server IP addresses. 
>I wrote a couple of perl scripts that take the host info and massage it
>into the dhcpd.conf file. One way of getting what I want is to add logic
>into the scripts that examine the hostname and if the name indicates
>that the device is a PC, add the correct DNS server info into the host
>declaration. This rather than using the shared-network global command to
>set the DNS servers for the whole subnet. 
>Is there a DHCP option that returns the kernel that the client is
>running? If so, is there a way to use this info to manipulate the DNS

This will identify the Windows PCs and override their dns servers. The
subnet definition stays pretty much as it is, although you don't really
need the shared-network around the subnet and host definitions.

class "MSFT" {
  match if substring(option vendor-class-identifier, 0, 4) = "MSFT";
  option domain-name-servers,,;


More information about the dhcp-users mailing list