Linux.com

Applying DNS to different subnets

Link to this post 28 Dec 10

Dissecting dhcpd.conf. Censored where appropriate (hopefully). Color-coded questions at bottom of post.

*PrivatePaste w/ Indentations here*

[b][color=#FF0000]ddns-update-style interim;
ddns-domainname "dyn.company.com.";

key DHCP_COMPANY {
*omitted*
}

zone dyn.orderdis.com. {
primary XXX.XXX.0.50;
key DHCP_COMPANY;
}
zone XXX.XXX.in-addr.arpa. {
primary XXX.XXX.0.50;
key DHCP_COMPANY;
}[/color]

[color=#800080]authoritative;
ddns-update-style interim;
deny duplicates;
authoritative;[/color]
[color=#A7A7A7]default-lease-time 345600;
max-lease-time 691200;[/color]
[color=#0000FF]option domain-name-servers XXX.XXX.0.50,XXX.XXX.255.250;
option netbios-name-servers XXX.XXX.0.50;

subnet XXX.XXX.0.0 netmask 255.255.0.0 {[/color]
[color=#A7A7A7] one-lease-per-client on;
option broadcast-address XXX.XXX.255.255;
option domain-name "dyn.company.com";
option netbios-name-servers XXX.XXX.255.254;
option netbios-name-servers XXX.XXX.0.50;
option netbios-node-type 8;
option routers XXX.XXX.255.1;
option subnet-mask 255.0.0.0;
update-optimization on;
update-static-leases on;[/color]
[color=#008000] class "Sayson480i" {
match if (substring(hardware,1,3) = 00:08:5d);
}
class "etherboot-an983" {
match if (substring(hardware,1,3) = 00:04:e2);
next-server XXX.XXX.255.254;
filename "nbi-2.6.0-thin1";
option root-path "/nfs/thin3";
}
class "etherboot-3c59x" {
match if (substring(hardware,1,3) = 00:01:02);
if substring (option vendor-class-identifier, 0, 9) = "PXEClient" {
next-server XXX.XXX.255.254;
filename "eb-5.2.2-3c905c-tpo.zpxe";
} else if substring (option vendor-class-identifier, 0, 9) = "PXEclient" {
next-server XXX.XXX.255.254;
filename "eb-5.2.2-3c905c-tpo.zpxe";
} else if substring (option vendor-class-identifier, 0, 9) = "Etherboot" {
next-server XXX.XXX.255.254;
filename "nbi-2.6.0-thin1";
option vendor-encapsulated-options 3c:09:45:74:68:65:72:62:6f:6f:74:ff;
} else {
next-server XXX.XXX.255.254;
option root-path "/nfs/thin2";
}
}[/color]
[color=#825900]pool {
range XXX.XXX.2.0 XXX.XXX.2.254;
option domain-name-servers 208.67.222.123,208.67.220.123;
allow members of "etherboot-an983";
allow members of "etherboot-3c59x";
}
pool {
range XXX.XXX.3.0 XXX.XXX.3.254;
option domain-name-servers 208.67.222.123,208.67.220.123;
allow members of "Sayson480i";
}
pool {
range XXX.XXX.0.50 XXX.XXX.0.254;
option domain-name-servers 8.8.8.8,8.8.4.4;
deny unknown clients;
}
pool {
range XXX.XXX.1.50 XXX.XXX.1.112;
option domain-name-servers 208.67.222.123,208.67.220.123;
allow unknown clients;
}[/color]
[color=#A7A7A7]}[/color]
[color=#000080]subnet 127.0.0.0 netmask 255.255.255.0 {
}[/color]

[color=#A7A7A7]host XXXXX1 {
hardware ethernet XX:XX:XX:XX:XX:XX;
option domain-name "company.com";
fixed-address XXX.XXX.0.45;
}
host XXXXX2 {
hardware ethernet XX:XX:XX:XX:XX:XX;
option domain-name "company.com";
fixed-address XXX.XXX.1.45;
}
host XXXXX3 {
hardware ethernet XX:XX:XX:XX:XX:XX;
option domain-name "company.com";
fixed-address XXX.XXX.2.45;
}
host XXXXX4 {
hardware ethernet XX:XX:XX:XX:XX:XX;
option domain-name "company.com";
fixed-address XXX.XXX.255.45;
}[/color][/b]

1) What is this? What is it for and do?

2) What is this? What is it for and do?


3) Paying more attention to domain-name-servers, but what does this mean? Does it mean it applies to *EVERYTHING* -- literally all subnets and pools specified in this file?

4) And what is this? :?

5) I think here it gets specific about different subnets or ranges. Can I specify domain-name-servers for each range like I did here? Or would that be an invalid move?

If it is a valid move, then it should do something like this (as far as applying DNS to specified range):
* Apply DNS 208.67.222.123 and DNS 208.67.220.123 to XXX.XXX.2.0 through XXX.XXX.2.254, to XXX.XXX.3.0 through XXX.XXX.3.254, to XXX.XXX.1.50 through XXX.XXX.1.112
* Apply DNS 8.8.8.8 and DNS 8.8.4.4 to XXX.XXX.0.50 through XXX.XXX.0.254

Is this correct? :(

6) What is this little piece?

Link to this post 20 Feb 11

Read the man pages for dhcpd.conf

Who we are ?

The Linux Foundation is a non-profit consortium dedicated to the growth of Linux.

More About the foundation...

Frequent Questions

Join / Linux Training / Board