<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://plnx.nl/wiki/index.php?action=history&amp;feed=atom&amp;title=DNS-DHCP_configuration</id>
	<title>DNS-DHCP configuration - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://plnx.nl/wiki/index.php?action=history&amp;feed=atom&amp;title=DNS-DHCP_configuration"/>
	<link rel="alternate" type="text/html" href="https://plnx.nl/wiki/index.php?title=DNS-DHCP_configuration&amp;action=history"/>
	<updated>2026-05-03T12:50:45Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.42.6</generator>
	<entry>
		<id>https://plnx.nl/wiki/index.php?title=DNS-DHCP_configuration&amp;diff=8&amp;oldid=prev</id>
		<title>Pverha10: Created page with &quot;=IPv4= Configuration file for &quot;dhcpd -4 -cf dhcpd.conf.ipv4 eth0&quot; ==dhcpd.conf.ipv4== &lt;pre&gt; # dhcpd.conf.ipv4  ############################## # default options: authoritative; log-facility local7;  ddns-update-style interim; option domain-name &quot;local.lan&quot;;  lease-file-name &quot;/var/run/dhcpd/dhcpd.leases.ipv4&quot;; default-lease-time 7200; max-lease-time 28800;  update-conflict-detection false;  ############################## # dynamic dns updates  include &quot;/etc/dhcp-dns.key&quot;;...&quot;</title>
		<link rel="alternate" type="text/html" href="https://plnx.nl/wiki/index.php?title=DNS-DHCP_configuration&amp;diff=8&amp;oldid=prev"/>
		<updated>2025-05-17T07:39:31Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;=IPv4= Configuration file for &amp;quot;dhcpd -4 -cf dhcpd.conf.ipv4 eth0&amp;quot; ==dhcpd.conf.ipv4== &amp;lt;pre&amp;gt; # dhcpd.conf.ipv4  ############################## # default options: authoritative; log-facility local7;  ddns-update-style interim; option domain-name &amp;quot;local.lan&amp;quot;;  lease-file-name &amp;quot;/var/run/dhcpd/dhcpd.leases.ipv4&amp;quot;; default-lease-time 7200; max-lease-time 28800;  update-conflict-detection false;  ############################## # dynamic dns updates  include &amp;quot;/etc/dhcp-dns.key&amp;quot;;...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=IPv4=&lt;br /&gt;
Configuration file for &amp;quot;dhcpd -4 -cf dhcpd.conf.ipv4 eth0&amp;quot;&lt;br /&gt;
==dhcpd.conf.ipv4==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dhcpd.conf.ipv4&lt;br /&gt;
&lt;br /&gt;
##############################&lt;br /&gt;
# default options:&lt;br /&gt;
authoritative;&lt;br /&gt;
log-facility local7;&lt;br /&gt;
&lt;br /&gt;
ddns-update-style interim;&lt;br /&gt;
option domain-name &amp;quot;local.lan&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
lease-file-name &amp;quot;/var/run/dhcpd/dhcpd.leases.ipv4&amp;quot;;&lt;br /&gt;
default-lease-time 7200;&lt;br /&gt;
max-lease-time 28800;&lt;br /&gt;
&lt;br /&gt;
update-conflict-detection false;&lt;br /&gt;
&lt;br /&gt;
##############################&lt;br /&gt;
# dynamic dns updates&lt;br /&gt;
&lt;br /&gt;
include &amp;quot;/etc/dhcp-dns.key&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
zone local.lan. {&lt;br /&gt;
        primary 127.0.0.1;&lt;br /&gt;
        key updatekey;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
zone 0.0.10.in-addr.arpa. {&lt;br /&gt;
        primary 127.0.0.1;&lt;br /&gt;
        key updatekey;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
##############################&lt;br /&gt;
# subnet and host definitions&lt;br /&gt;
&lt;br /&gt;
subnet 10.0.0.0 netmask 255.255.255.0 {&lt;br /&gt;
  range 10.0.0.128 10.0.0.191;&lt;br /&gt;
  option routers 10.0.0.1;&lt;br /&gt;
  option domain-name-servers 10.0.0.1;&lt;br /&gt;
  option ntp-servers 10.0.0.1;&lt;br /&gt;
  option broadcast-address 10.0.0.255;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
group {&lt;br /&gt;
  host printer {&lt;br /&gt;
    hardware ethernet 00:de:ad:be:ef:01;&lt;br /&gt;
    fixed-address 10.0.0.10;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  host fridge {&lt;br /&gt;
    hardware ethernet 00:de:ad:be:ef:02;&lt;br /&gt;
    fixed-address 10.0.0.11;&lt;br /&gt;
  }&lt;br /&gt;
update-static-leases on;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==dhcp-dns.conf==&lt;br /&gt;
And the dhcp-dns.conf file is generated by the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dnssec-keygen -a HMAC-MD5 -b 128 -n USER DHCP_UPDATER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
It creates a file called Kdhcp_updater.+???+?????.key.&lt;br /&gt;
Get your hash from the key file and paste it in dhcp-dns-conf, which should look like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
key updatekey {&lt;br /&gt;
  algorithm hmac-md5;&lt;br /&gt;
  secret &amp;quot;abcdefghijklmnopqrstuv==&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==named.conf==&lt;br /&gt;
Then all we need is named.conf:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
options {&lt;br /&gt;
        pid-file &amp;quot;/var/run/named/named.pid&amp;quot;;&lt;br /&gt;
        directory &amp;quot;/var/named&amp;quot;;&lt;br /&gt;
        listen-on port 53 {127.0.0.1;10.0.0.1;};&lt;br /&gt;
        allow-query {127.0.0.0/8;10.0.0.0/24;};&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
////////////////////////////////////////////&lt;br /&gt;
// include key to receive updates from dhcpd&lt;br /&gt;
include &amp;quot;/etc/dhcp-dns.key&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;.&amp;quot; IN {&lt;br /&gt;
        type hint;&lt;br /&gt;
        file &amp;quot;named.root&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;local.lan&amp;quot; IN {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;local.lan.zone&amp;quot;;&lt;br /&gt;
        allow-update { key updatekey; };&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;0.0.10.in-addr.arpa&amp;quot; IN {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;0.0.10.in-addr.arpa.rev&amp;quot;;&lt;br /&gt;
        allow-update { key updatekey; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=IPv6=&lt;br /&gt;
Configuration file for &amp;quot;dhcpd -6 -cf dhcpd.conf.ipv6 eth0&amp;quot;&lt;br /&gt;
==dhcpd.conf.ipv6==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dhcpd.conf.ipv6&lt;br /&gt;
&lt;br /&gt;
##############################&lt;br /&gt;
# default options:&lt;br /&gt;
authoritative;&lt;br /&gt;
log-facility local7;&lt;br /&gt;
&lt;br /&gt;
ddns-update-style interim;&lt;br /&gt;
#ddns-updates on;&lt;br /&gt;
ddns-domainname &amp;quot;local.lan&amp;quot;;&lt;br /&gt;
option domain-name &amp;quot;local.lan&amp;quot;;&lt;br /&gt;
option domain-search &amp;quot;local.lan&amp;quot;;&lt;br /&gt;
option dhcp6.name-servers 2001:dead:beef::;&lt;br /&gt;
option dhcp6.sntp-servers 2001:dead:beef::;&lt;br /&gt;
dhcpv6-lease-file-name &amp;quot;/var/run/dhcpd/dhcpd.leases.ipv6&amp;quot;;&lt;br /&gt;
default-lease-time 7200;&lt;br /&gt;
max-lease-time 28800;&lt;br /&gt;
&lt;br /&gt;
update-conflict-detection false;&lt;br /&gt;
&lt;br /&gt;
##############################&lt;br /&gt;
# dynamic dns updates&lt;br /&gt;
&lt;br /&gt;
include &amp;quot;/etc/dhcp-dns.key&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
zone local.lan. {&lt;br /&gt;
        primary 127.0.0.1;&lt;br /&gt;
        key updatekey;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
zone f.e.e.b.d.a.e.d.1.0.0.2.ip6.arpa. {&lt;br /&gt;
        primary 127.0.0.1;&lt;br /&gt;
        key updatekey;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
subnet6 2001:dead:beef::/64 {&lt;br /&gt;
     range6 2001:dead:beef::80 2001:dead:beef::ff;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==named.conf==&lt;br /&gt;
Stuff that needs to be added to named.conf for IPv6:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
options {&lt;br /&gt;
        listen-on-v6 port 53 {2001:dead:beef::;::1;};&lt;br /&gt;
        query-source-v6 *;&lt;br /&gt;
        allow-query {2001:dead:beef::/48;::1;};&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;f.e.e.b.d.a.e.d.1.0.0.2.ip6.arpa&amp;quot; in {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;2001.dead.beef.ipv6.rev&amp;quot;;&lt;br /&gt;
//      notify yes;&lt;br /&gt;
        allow-update { key updatekey; };&lt;br /&gt;
        allow-transfer { none; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pverha10</name></author>
	</entry>
</feed>