Linux/DDNS
< Linux
DDNS
BigDinosaur Blog - https://blog.bigdinosaur.org/running-bind9-and-isc-dhcp/
Dependencies
# centos 6.5 yum install bind dhcp
# generate /etc/rndc.key /usr/sbin/rndc-confgen -a
# sample /etc/rndc.key key "rndc-key" { algorithm hmac-md5; secret "xxxxxxxxxxzk9EdYZ9SP8Q=="; };
Bind
/etc/named.conf
include "/etc/rndc.key"; #key "rndc-key" { # algorithm hmac-md5; # secret "xxxxxxxxxxzk9EdYZ9SP8Q=="; #}; zone "lab" { type master; file "/var/named/db.lab"; allow-update { key rndc-key; }; }; zone "200.100.10.in-addr.arpa" { type master; file "/var/named/200.100.10.rev"; allow-update { key rndc-key; }; };
/var/named/db.lab:
$ORIGIN . $TTL 10 ; 10 seconds lab IN SOA ns1.lab. hostmaster.lab. ( 2014080111 ; serial 120 ; refresh (2 minutes) 120 ; retry (2 minutes) 2419200 ; expire (4 weeks) 120 ; minimum (2 minutes) ) NS ns1.lab. $ORIGIN lab. $TTL 30 ; 30 seconds master A 10.100.200.3 ns1 A 10.100.200.3
chmod g+w /var/named chmod g+w /var/named/db.lab chown :named /var/named/db.lab
DHCPd
/etc/dhcp/dhcpd.conf
authoritative; option domain-name "lab"; option domain-search "lab", "example.com"; option domain-name-servers 10.100.200.3; #option domain-name-servers 10.100.1.1, 10.100.2.1; ddns-updates on; ddns-update-style interim; update-static-leases on; #ignore client-updates; #key rndc-key { algorithm hmac-md5; secret xxxxxxxxxxzk9EdYZ9SP8Q==;} include "/etc/rndc.key"; allow unknown-clients; use-host-decl-names on; default-lease-time 600; max-lease-time 7200; log-facility local7; zone lab. { primary localhost; key rndc-key; } zone 200.100.10.in-addr.arpa. { primary localhost; key rndc-key; } subnet 10.100.200.0 netmask 255.255.255.0 { range 10.100.200.100 10.100.200.254; option subnet-mask 255.255.255.0; option routers 10.100.200.1; option broadcast-address 10.100.200.255; ddns-domainname "lab."; ddns-rev-domainname "in-addr.arpa."; ## PXE stuff unrelated... #if exists user-class and option user-class = "iPXE" { # filename "bootstrap.ipxe"; #} else { # filename "undionly.kpxe"; #} #next-server 10.100.200.3; }
Services
Config check:
named-checkconf
Restart services:
service named restart service dhcpd restart