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
>this:
>
>shared-network TEST  {
>
>subnet 192.168.200.0 netmask 255.255.255.0 {
>option routers 192.168.200.1;
>  option subnet-mask 255.255.255.0;
>  option domain-name-servers 10.1.1.25,10.1.2.25,10.1.3.25;
>  option domain-name "mydomain.com";
>deny unknown-clients;
>}
>
>  host dev5c.mydomain.com                           {
>   hardware ethernet              0:3:ba:11:b1:75;
>   fixed-address                   192.168.200.165;
>   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
>entries?
>
>Suggestions?
>

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 10.1.1.26,10.1.2.26,10.1.3.26;
}

regards,
-glenn




More information about the dhcp-users mailing list