; Warning - every name in this file is ABSOLUTE!\n$ORIGIN .\nkifarunix-demo.com 3600 IN SOA ns1.kifarunix-demo.com admin.kifarunix-demo.com 0 10800 3600 604800 3600<\/code><\/pre>\n\n\n\nSave and exit the file and apply the changes.<\/p>\n\n\n\n
[Error] No NS record at zone apex in zone 'kifarunix-demo.com'\nChecked 1 records of 'kifarunix-demo.com', 1 errors, 0 warnings.\nThere was a problem with your zone\nOptions are: (e)dit your changes, (r)etry with original zone, (a)pply change anyhow, (q)uit: \na\nDetected the following changes:\n-kifarunix-demo.com 3600 IN SOA a.misconfigured.dns.server.invalid hostmaster.kifarunix-demo.com 0 10800 3600 604800 3600\n+kifarunix-demo.com 3600 IN SOA ns1.kifarunix-demo.com admin.kifarunix-demo.com 0 10800 3600 604800 3600\n\n(a)pply these changes, (e)dit again, (r)etry with original zone, (q)uit: a\nAdding empty non-terminals for non-DNSSEC zone 'kifarunix-demo.com', 1 updates\n<\/code><\/pre>\n\n\n\nCreate Nameserver NS records<\/h4>\n\n\n\npdnsutil add-record kifarunix-demo.com @ NS 86400 ns1.kifarunix-demo.com<\/code><\/pre>\n\n\n\nInsert A Records for the Nameserver.<\/h4>\n\n\n\n
Replace the IPs accordingly.<\/p>\n\n\n\n
pdnsutil add-record kifarunix-demo.com ns1 A 120 192.168.58.22<\/code><\/pre>\n\n\n\nInsert other systems A records;<\/p>\n\n\n\n
pdnsutil add-record kifarunix-demo.com news A 120 192.168.59.12<\/code><\/pre>\n\n\n\npdnsutil add-record kifarunix-demo.com mail A 120 192.168.57.25<\/code><\/pre>\n\n\n\nInsert MX records<\/h4>\n\n\n\npdnsutil add-record kifarunix-demo.com @ MX 120 \"10 mail.kifarunix-demo.com\"<\/code><\/pre>\n\n\n\nSo far so good, that is enough for our demo and this is how our records look like;<\/p>\n\n\n\n
pdnsutil list-zone kifarunix-demo.com<\/code><\/pre>\n\n\n\nNov 25 16:08:18 [bindbackend] Done parsing domains, 0 rejected, 0 new, 0 removed\n$ORIGIN .\nkifarunix-demo.com\t120\tIN\tMX\t10 mail.kifarunix-demo.com.\nkifarunix-demo.com\t86400\tIN\tNS\tns1.kifarunix-demo.com.\nkifarunix-demo.com\t3600\tIN\tSOA\tns1.kifarunix-demo.com admin.kifarunix-demo.com 0 10800 3600 604800 3600\nnews.kifarunix-demo.com\t120\tIN\tA\t192.168.59.12\nns1.kifarunix-demo.com\t120\tIN\tA\t192.168.58.22\n<\/code><\/pre>\n\n\n\nVerify PowerDNS Forward Resolution<\/h4>\n\n\n\n
Once the records are populated into the DB, very the PowerDNS resolution;<\/p>\n\n\n\n
apt install dnsutils -y<\/code><\/pre>\n\n\n\ndig ns1.kifarunix-demo.com @127.0.0.1<\/code><\/pre>\n\n\n\n\n; <<>> DiG 9.11.5-P4-5.1+deb10u6-Debian <<>> ns1.kifarunix-demo.com @127.0.0.1\n;; global options: +cmd\n;; Got answer:\n;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 63327\n;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1\n;; WARNING: recursion requested but not available\n\n;; OPT PSEUDOSECTION:\n; EDNS: version: 0, flags:; udp: 1232\n;; QUESTION SECTION:\n;ns1.kifarunix-demo.com.\t\tIN\tA\n\n;; ANSWER SECTION:\nns1.kifarunix-demo.com.\t120\tIN\tA\t192.168.58.22\n\n;; Query time: 2 msec\n;; SERVER: 127.0.0.1#53(127.0.0.1)\n;; WHEN: Thu Nov 25 16:09:03 EST 2021\n;; MSG SIZE rcvd: 67\n<\/code><\/pre>\n\n\n\ndig MX kifarunix-demo.com @127.0.0.1<\/code><\/pre>\n\n\n\n\n; <<>> DiG 9.11.5-P4-5.1+deb10u6-Debian <<>> MX kifarunix-demo.com @127.0.0.1\n;; global options: +cmd\n;; Got answer:\n;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5092\n;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1\n;; WARNING: recursion requested but not available\n\n;; OPT PSEUDOSECTION:\n; EDNS: version: 0, flags:; udp: 1232\n;; QUESTION SECTION:\n;kifarunix-demo.com.\t\tIN\tMX\n\n;; ANSWER SECTION:\nkifarunix-demo.com.\t120\tIN\tMX\t10 mail.kifarunix-demo.com.\n\n;; Query time: 1 msec\n;; SERVER: 127.0.0.1#53(127.0.0.1)\n;; WHEN: Thu Nov 25 16:09:27 EST 2021\n;; MSG SIZE rcvd: 68\n<\/code><\/pre>\n\n\n\nCreating PowerDNS Reverse Zone Records<\/h3>\n\n\n\n
Create reverse zone;<\/p>\n\n\n\n
pdnsutil create-zone 58.168.192.in-addr.arpa<\/code><\/pre>\n\n\n\nUpdate reverse zone SOA;<\/p>\n\n\n\n
pdnsutil list-zone 58.168.192.in-addr.arpa<\/code><\/pre>\n\n\n\nNote, if you have multiple networks like 192.168.58.x\/x<\/strong>, 192.168.59.x\/x<\/strong>, 192.168.57.x\/x<\/strong>, then you can just create a reverse zone like;<\/p>\n\n\n\npdnsutil create-zone 168.192.in-addr.arpa<\/code><\/pre>\n\n\n\nUpdate the name and hostmaster such that they may look like a shown below.<\/p>\n\n\n\n
pdnsutil edit-zone 168.192.in-addr.arpa<\/code><\/pre>\n\n\n\nNov 26 13:46:09 [bindbackend] Done parsing domains, 0 rejected, 0 new, 0 removed\n$ORIGIN .\n168.192.in-addr.arpa\t3600\tIN\tSOA\tns1.kifarunix-demo.com admin.kifarunix.demo.com 0 10800 3600 604800 3600<\/code><\/pre>\n\n\n\nInsert NS Reverse Zone Record<\/h4>\n\n\n\npdnsutil add-record 168.192.in-addr.arpa @ NS 86400 ns1.kifarunix-demo.com<\/code><\/pre>\n\n\n\nInsert PTR Records for NS<\/h4>\n\n\n\npdnsutil add-record 168.192.in-addr.arpa 22.58 PTR 120 ns1.kifarunix-demo.com<\/code><\/pre>\n\n\n\nInsert Other Domains PTR Records<\/h4>\n\n\n\npdnsutil add-record 168.192.in-addr.arpa 12.59 PTR 120 news.kifarunix-demo.com<\/code><\/pre>\n\n\n\npdnsutil add-record 168.192.in-addr.arpa 25.57 PTR 120 mail.kifarunix-demo.com<\/code><\/pre>\n\n\n\nNow the general reverse records look like;<\/p>\n\n\n\n
pdnsutil list-zone 168.192.in-addr.arpa<\/code><\/pre>\n\n\n\nNov 26 13:56:58 [bindbackend] Done parsing domains, 0 rejected, 0 new, 0 removed\n$ORIGIN .\n12.59.168.192.in-addr.arpa\t120\tIN\tPTR\tnews.kifarunix-demo.com\n168.192.in-addr.arpa\t86400\tIN\tNS\tns1.kifarunix-demo.com.\n168.192.in-addr.arpa\t3600\tIN\tSOA\tns1.kifarunix-demo.com admin.kifarunix.demo.com 0 10800 3600 604800 3600\n22.58.168.192.in-addr.arpa\t120\tIN\tPTR\tns1.kifarunix-demo.com\n25.57.168.192.in-addr.arpa\t120\tIN\tPTR\tmail.kifarunix-demo.com\n<\/code><\/pre>\n\n\n\nVerify PowerDNS Reverse Resolution<\/h4>\n\n\n\n
Exit the database and run the reverse DNS queries to confirm if all is well.<\/p>\n\n\n\n
dig -x 192.168.58.22 @127.0.0.1<\/code><\/pre>\n\n\n\n