{"id":23477,"date":"2017-11-21T07:20:06","date_gmt":"2017-11-21T13:20:06","guid":{"rendered":"https:\/\/www.rosehosting.com\/blog\/?p=23477"},"modified":"2023-04-05T04:55:54","modified_gmt":"2023-04-05T09:55:54","slug":"how-to-set-up-private-dns-servers-with-bind-on-ubuntu-16-04","status":"publish","type":"post","link":"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-private-dns-servers-with-bind-on-ubuntu-16-04\/","title":{"rendered":"How to Set Up Private DNS Servers with BIND on Ubuntu 16.04"},"content":{"rendered":"<div id=\"bsf_rt_marker\"><\/div><p><img decoding=\"async\" class=\"size-full wp-image-24334 alignnone\" src=\"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2017\/10\/How-to-Set-Up-Private-DNS-Servers-with-BIND-on-Ubuntu-16.04.png\" alt=\"How to Set Up Private DNS Servers with BIND on Ubuntu 16.04\" width=\"1200\" height=\"600\" srcset=\"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2017\/10\/How-to-Set-Up-Private-DNS-Servers-with-BIND-on-Ubuntu-16.04.png 1200w, https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2017\/10\/How-to-Set-Up-Private-DNS-Servers-with-BIND-on-Ubuntu-16.04-150x75.png 150w, https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2017\/10\/How-to-Set-Up-Private-DNS-Servers-with-BIND-on-Ubuntu-16.04-300x150.png 300w, https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2017\/10\/How-to-Set-Up-Private-DNS-Servers-with-BIND-on-Ubuntu-16.04-768x384.png 768w, https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2017\/10\/How-to-Set-Up-Private-DNS-Servers-with-BIND-on-Ubuntu-16.04-1024x512.png 1024w, https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2017\/10\/How-to-Set-Up-Private-DNS-Servers-with-BIND-on-Ubuntu-16.04-860x430.png 860w, https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2017\/10\/How-to-Set-Up-Private-DNS-Servers-with-BIND-on-Ubuntu-16.04-680x340.png 680w, https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2017\/10\/How-to-Set-Up-Private-DNS-Servers-with-BIND-on-Ubuntu-16.04-500x250.png 500w, https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2017\/10\/How-to-Set-Up-Private-DNS-Servers-with-BIND-on-Ubuntu-16.04-400x200.png 400w, https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2017\/10\/How-to-Set-Up-Private-DNS-Servers-with-BIND-on-Ubuntu-16.04-200x100.png 200w, https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2017\/10\/How-to-Set-Up-Private-DNS-Servers-with-BIND-on-Ubuntu-16.04-50x25.png 50w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/p>\n<p>How to Set Up Private DNS Servers with BIND on Ubuntu 16.04. BIND (Berkeley Internet Name Domain) is the most used DNS software over the Internet. The BIND package is available for all Linux distributions, which makes the installation simple and straightforward. In today\u2019s article we will show you how to install, configure and administer BIND 9 as a private DNS server on a <a title=\"Debian VPS Hosting\" href=\"https:\/\/www.rosehosting.com\/ubuntu-hosting.html\" target=\"_blank\" rel=\"noopener noreferrer\">Ubuntu 16.04 VPS<\/a>, in few steps.<\/p>\n<h3>Requirements:<\/h3>\n<ul>\n<li>Two servers (ns1 and ns2) connected to a private network<\/li>\n<li>In this tutorial we will use the 10.20.0.0\/16 subnet<\/li>\n<li>DNS clients that will connect to your DNS servers<\/li>\n<\/ul>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-transparent ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-69f8016b2857c\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"ez-toc-cssicon\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-69f8016b2857c\"  aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-private-dns-servers-with-bind-on-ubuntu-16-04\/#1-Update-both-servers\" >1. Update both servers<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-private-dns-servers-with-bind-on-ubuntu-16-04\/#2-Install-BIND-on-both-servers\" >2. Install BIND on both servers<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-private-dns-servers-with-bind-on-ubuntu-16-04\/#3-Set-BIND-to-IPv4-mode\" >3.\u00a0Set BIND to IPv4 mode<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-private-dns-servers-with-bind-on-ubuntu-16-04\/#4-Configuring-the-Primary-DNS-Server\" >4. Configuring the Primary DNS Server<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-private-dns-servers-with-bind-on-ubuntu-16-04\/#5-Enable-recursive-queries-on-our-ns1-server-and-have-the-server-listen-on-our-private-network\" >5. Enable recursive queries\u00a0on our ns1 server, and have the server listen on our private network<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-private-dns-servers-with-bind-on-ubuntu-16-04\/#6-Creating-the-Forward-Zone-File\" >6. Creating the Forward Zone File<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-private-dns-servers-with-bind-on-ubuntu-16-04\/#7-Creating-the-Reverse-Zone-File\" >7. Creating the Reverse Zone File<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-private-dns-servers-with-bind-on-ubuntu-16-04\/#8-Check-the-Configuration-Files\" >8. Check the Configuration Files<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-private-dns-servers-with-bind-on-ubuntu-16-04\/#9-Configuring-the-Secondary-DNS-Server\" >9. Configuring the Secondary DNS Server<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-private-dns-servers-with-bind-on-ubuntu-16-04\/#10-Configure-the-DNS-Clients\" >10. Configure the DNS Clients<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-private-dns-servers-with-bind-on-ubuntu-16-04\/#Adding-a-New-Host-to-Your-DNS-Servers\" >Adding a New Host to Your DNS Servers<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-private-dns-servers-with-bind-on-ubuntu-16-04\/#Removing-a-Existing-Host-from-your-DNS-Servers\" >Removing a Existing Host from your DNS Servers<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"1-Update-both-servers\"><\/span>1. Update both servers<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Begin by updating the packages on both servers:<\/p>\n<pre># sudo apt-get update<\/pre>\n<h2><span class=\"ez-toc-section\" id=\"2-Install-BIND-on-both-servers\"><\/span>2. Install BIND on both servers<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<pre># sudo apt-get install bind9 bind9utils<\/pre>\n<h2><span class=\"ez-toc-section\" id=\"3-Set-BIND-to-IPv4-mode\"><\/span>3.\u00a0Set BIND to IPv4 mode<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Set BIND to IPv4 mode, we will do that by editing the &#8220;\/etc\/default\/bind9&#8221; file and adding &#8220;-4&#8221; to the OPTIONS variable:<\/p>\n<pre># sudo nano \/etc\/default\/bind9<\/pre>\n<p>The edited file should look something like this:<\/p>\n<pre># run resolvconf?\r\nRESOLVCONF=no\r\n\r\n# startup options for the server\r\nOPTIONS=\"-4 -u bind\"\r\n<\/pre>\n<p>Now let&#8217;s configure ns1, our primary DNS server.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"4-Configuring-the-Primary-DNS-Server\"><\/span>4. Configuring the Primary DNS Server<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Edit the named.conf.options file:<\/p>\n<pre># sudo nano \/etc\/bind\/named.conf.options<\/pre>\n<p>On top of the options block, add a new block called trusted.This list will allow the clients specified in it to send recursive DNS queries to our primary server:<\/p>\n<pre>acl \"trusted\" {\r\n        10.20.30.13;  \r\n        10.20.30.14;\r\n        10.20.55.154;\r\n        10.20.55.155;\r\n};\r\n<\/pre>\n<h2><span class=\"ez-toc-section\" id=\"5-Enable-recursive-queries-on-our-ns1-server-and-have-the-server-listen-on-our-private-network\"><\/span>5. Enable recursive queries\u00a0on our ns1 server, and have the server listen on our private network<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Then we will add a couple of configuration settings to enable recursive queries on our ns1 server and to have the server listen on our private network, add the configuration settings under the directory &#8220;\/var\/cache\/bind&#8221; directive like in the example below:<\/p>\n<pre>options {\r\n        directory \"\/var\/cache\/bind\";\r\n\r\n        recursion yes;\r\n        allow-recursion { trusted; };\r\n        listen-on { 10.20.30.13; };\r\n        allow-transfer { none; };\r\n\r\n        forwarders {\r\n                8.8.8.8;\r\n                8.8.4.4;\r\n        };\r\n};\r\n<\/pre>\n<p>If the &#8220;listen-on-v6&#8221; directive is present in the named.conf.options file, delete it as we want BIND to listen only on IPv4.<br \/>\nNow on ns1, open the named.conf.local file for editing:<\/p>\n<pre># sudo nano \/etc\/bind\/named.conf.local<\/pre>\n<p>Here we are going to add the forward zone:<\/p>\n<pre>zone \"test.example.com\" {\r\n    type master;\r\n    file \"\/etc\/bind\/zones\/db.test.example.com\";\r\n    allow-transfer { 10.20.30.14; };\r\n};\r\n<\/pre>\n<p>Our private subnet is 10.20.0.0\/16, so we are going to add the reverse zone with the following lines:<\/p>\n<pre>zone \"20.10.in-addr.arpa\" {\r\n    type master;\r\n    file \"\/etc\/bind\/zones\/db.10.20\";\r\n    allow-transfer { 10.20.30.14; };\r\n};\r\n<\/pre>\n<p>If your servers are in multiple private subnets in the same physical location, you need to specify a zone and create a separate zone file for each subnet.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"6-Creating-the-Forward-Zone-File\"><\/span>6. Creating the Forward Zone File<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Now we&#8217;ll create the directory where we will store our zone files in:<\/p>\n<pre># sudo mkdir \/etc\/bind\/zones<\/pre>\n<p>We will use the sample db.local file to make our forward zone file, let&#8217;s copy the file first:<\/p>\n<pre># cd \/etc\/bind\/zones\r\n# sudo cp ..\/db.local .\/db.test.example.com\r\n<\/pre>\n<p>Now edit the forward zone file we just copied:<\/p>\n<pre># sudo nano \/etc\/bind\/zones\/db.test.example.com<\/pre>\n<p>It should look something like the example below:<\/p>\n<pre>$TTL    604800\r\n@       IN      SOA     localhost. root.localhost. (\r\n                              2         ; Serial\r\n                         604800         ; Refresh\r\n                          86400         ; Retry\r\n                        2419200         ; Expire\r\n                         604800 )       ; Negative Cache TTL\r\n;\r\n@       IN      NS      localhost.      ; delete this\r\n@       IN      A       127.0.0.1       ; delete this\r\n@       IN      AAAA    ::1             ; delete this\r\n<\/pre>\n<p>Now let&#8217;s edit the SOA record. Replace localhost with your ns1 server&#8217;s FQDN, then replace &#8220;root.localhost&#8221; with &#8220;admin.test.example.com&#8221;.Every time you edit the zone file, increment the serial value before you restart named otherwise BIND won&#8217;t apply the change to the zone, we will increment the value to &#8220;3&#8221;, it should look something like this:<\/p>\n<pre>@       IN      SOA     ns1.test.example.com. admin.test.example.com. (\r\n                              3         ; Serial\r\n<\/pre>\n<p>Then delete the last three records that are marked with &#8220;delete this&#8221; after the SOA record.<\/p>\n<p>Add the nameserver records at the end of the file:<\/p>\n<pre>; name servers - NS records\r\n    IN      NS      ns1.test.example.com.\r\n    IN      NS      ns2.test.example.com.\r\n<\/pre>\n<p>After that add the A records for the hosts that need to be in this zone. That means any server whose name we want to end with &#8220;.test.example.com&#8221;:<\/p>\n<pre>; name servers - A records\r\nns1.test.example.com.          IN      A       10.20.30.13\r\nns2.test.example.com.          IN      A       10.20.30.14\r\n\r\n; 10.20.0.0\/16 - A records\r\nhost1.test.example.com.        IN      A      10.20.55.154\r\nhost2.test.example.com.        IN      A      10.20.55.155\r\n<\/pre>\n<p>The db.test.example.com file should look something like the following:<\/p>\n<pre>$TTL    604800\r\n@       IN      SOA     ns1.test.example.com. admin.test.example.com. (\r\n                  3       ; Serial\r\n             604800     ; Refresh\r\n              86400     ; Retry\r\n            2419200     ; Expire\r\n             604800 )   ; Negative Cache TTL\r\n;\r\n; name servers - NS records\r\n     IN      NS      ns1.test.example.com.\r\n     IN      NS      ns2.test.example.com.\r\n\r\n; name servers - A records\r\nns1.test.example.com.          IN      A       10.20.30.13\r\nns2.test.example.com.          IN      A       10.20.30.14\r\n\r\n; 10.20.0.0\/16 - A records\r\nhost1.test.example.com.        IN      A      10.20.55.154\r\nhost2.test.example.com.        IN      A      10.20.55.155\r\n<\/pre>\n<h2><span class=\"ez-toc-section\" id=\"7-Creating-the-Reverse-Zone-File\"><\/span>7. Creating the Reverse Zone File<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>We specify the PTR records for reverse DNS lookups in the reverse zone files. When the DNS server receives a PTR lookup query for an example for IP: &#8220;10.20.55.154&#8221;, it will check the reverse zone file to retrieve the FQDN of the IP address, in our case that would be &#8220;host1.test.example.com&#8221;.<\/p>\n<p>We will create a reverse zone file for every single reverse zone specified in the named.conf.local file we created on ns1. We will use the sample db.127 zone file to create our reverse zone file:<\/p>\n<pre># cd \/etc\/bind\/zones\r\n# sudo cp ..\/db.127 .\/db.10.20\r\n<\/pre>\n<p>Edit the reverse zone file so it matches the reverse zone defined in named.conf.local:<\/p>\n<pre># sudo nano \/etc\/bind\/zones\/db.10.20<\/pre>\n<p>The original file should look something like the following:<\/p>\n<pre>$TTL    604800\r\n@       IN      SOA     localhost. root.localhost. (\r\n                              1         ; Serial\r\n                         604800         ; Refresh\r\n                          86400         ; Retry\r\n                        2419200         ; Expire\r\n                         604800 )       ; Negative Cache TTL\r\n;\r\n@       IN      NS      localhost.      ; delete this\r\n1.0.0   IN      PTR     localhost.      ; delete this\r\n<\/pre>\n<p>You should modify the SOA record and increment the serial value. It should look something like this:<\/p>\n<pre>@       IN      SOA     ns1.test.example.com. admin.test.example.com. (\r\n                              3         ; Serial\r\n<\/pre>\n<p>Then delete the last three records that are marked with &#8220;delete this&#8221; after the SOA record.<\/p>\n<p>Add the nameserver records at the end of the file:<\/p>\n<pre>; name servers - NS records\r\n      IN      NS      ns1.test.example.com.\r\n      IN      NS      ns2.test.example.com.\r\n<\/pre>\n<p>Now add the PTR records for all hosts that are on the same subnet in the zone file you created. This consists of our hosts that are on the 10.20.0.0\/16 subnet. In the first column we reverse the order of the last two octets from the IP address of the host we want to add:<\/p>\n<pre>; PTR Records\r\n13.30  IN      PTR     ns1.test.example.com.    ; 10.20.30.13\r\n14.30  IN      PTR     ns2.test.example.com.    ; 10.20.30.14\r\n154.55 IN      PTR     host1.test.example.com.  ; 10.20.55.154\r\n155.55 IN      PTR     host2.test.example.com.  ; 10.20.55.155\r\n<\/pre>\n<p>Save and exit the reverse zone file.<\/p>\n<p>The &#8220;\/etc\/bind\/zones\/db.10.20&#8221; reverse zone file should look something like this:<\/p>\n<pre>$TTL    604800\r\n@       IN      SOA     test.example.com. admin.test.example.com. (\r\n                              3         ; Serial\r\n                         604800         ; Refresh\r\n                          86400         ; Retry\r\n                        2419200         ; Expire\r\n                         604800 )       ; Negative Cache TTL\r\n; name servers\r\n      IN      NS      ns1.test.example.com.\r\n      IN      NS      ns2.test.example.com.\r\n\r\n; PTR Records\r\n13.30  IN      PTR     ns1.test.example.com.    ; 10.20.30.13\r\n14.30  IN      PTR     ns2.test.example.com.    ; 10.20.30.14\r\n154.55 IN      PTR     host1.test.example.com.  ; 10.20.55.154\r\n155.55 IN      PTR     host2.test.example.com.  ; 10.20.55.155\r\n<\/pre>\n<h2><span class=\"ez-toc-section\" id=\"8-Check-the-Configuration-Files\"><\/span>8. Check the Configuration Files<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Use the following command to check the configuration syntax of all the named.conf files that we configured:<\/p>\n<pre># sudo named-checkconf<\/pre>\n<p>If your configuration files don&#8217;t have any syntax problems, the output will not contain any error messages. However if you do have problems with your configuration files, compare the settings in the &#8220;Configuring the Primary DNS Server&#8221; section with the files you have errors in and make the correct adjustment, then you can try executing the named-checkconf command again.<\/p>\n<p>The named-checkzone can be used to check the proper configuration of your zone files.You can use the following command to check the forward zone &#8220;test.example.com&#8221;:<\/p>\n<pre># sudo named-checkzone test.example.com db.test.example.com<\/pre>\n<p>And if you want to check the reverse zone configuration, execute the following command:<\/p>\n<pre># sudo named-checkzone 20.10.in-addr.arpa \/etc\/bind\/zones\/db.10.20<\/pre>\n<p>Once you have properly configured all the configuration and zone files, restart the BIND service:<\/p>\n<pre># sudo service bind9 restart<\/pre>\n<h2><span class=\"ez-toc-section\" id=\"9-Configuring-the-Secondary-DNS-Server\"><\/span>9. Configuring the Secondary DNS Server<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Setting up a secondary DNS server is always a good idea as it will serve as a failover and will respond to queries if the primary server is unresponsive.<\/p>\n<p>On ns2, edit the named.conf.options file:<\/p>\n<pre># sudo nano \/etc\/bind\/named.conf.options<\/pre>\n<p>At the top of the file, add the ACL with the private IP addresses for all your trusted servers:<\/p>\n<pre>acl \"trusted\" {\r\n        10.20.30.13;\r\n        10.20.30.14;\r\n        10.128.100.101;\r\n        10.128.200.102;\r\n};\r\n<\/pre>\n<p>Just like in the named.conf.options file for ns2, add the following lines under the directory &#8220;\/var\/cache\/bind&#8221; directive:<\/p>\n<pre>        recursion yes;\r\n        allow-recursion { trusted; };\r\n        listen-on { 10.20.30.13; };\r\n        allow-transfer { none; };\r\n\r\n        forwarders {\r\n                8.8.8.8;\r\n                8.8.4.4;\r\n        };\r\n<\/pre>\n<p>Save and exit the file.<\/p>\n<p>Now open the named.conf.local file for editing:<\/p>\n<pre># sudo nano \/etc\/bind\/named.conf.local<\/pre>\n<p>Now we should specify slave zones that match the master zones on the ns1 DNS server. The masters directive should be set to the ns1 DNS server&#8217;s private IP address:<\/p>\n<pre>zone \"test.example.com\" {\r\n    type slave;\r\n    file \"slaves\/db.test.example.com\";\r\n    masters { 10.20.30.13; };\r\n};\r\n\r\nzone \"20.10.in-addr.arpa\" {\r\n    type slave;\r\n    file \"slaves\/db.10.20\";\r\n    masters { 10.20.30.13; };\r\n};\r\n<\/pre>\n<p>Now save and exit the file.<\/p>\n<p>Use the following command to check the syntax of the configuration files:<\/p>\n<pre># sudo named-checkconf<\/pre>\n<p>Then restart the BIND service:<\/p>\n<pre># sudo service bind9 restart<\/pre>\n<h2><span class=\"ez-toc-section\" id=\"10-Configure-the-DNS-Clients\"><\/span>10. Configure the DNS Clients<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>We will now configure the hosts in our 10.20.0.0\/16 subnet to use the ns1 and ns2 servers as their primary and secondary DNS servers. This greatly depends on the OS the hosts are running but for most Linux distributions the settings that need to be changed reside in the \/etc\/resolv.conf file.<\/p>\n<p>Generally on the Ubuntu, Debian and CentOS distributions just edit the \/etc\/resolv.conf file, execute the following command as root:<\/p>\n<pre># nano \/etc\/resolv.conf<\/pre>\n<p>Then replace the existing nameservers with:<\/p>\n<pre>nameserver 10.20.30.13 #ns1\r\nnameserver 10.20.30.14 #ns2\r\n<\/pre>\n<p>Now save and exit the file and your client should be configured to use the ns1 and ns2 nameservers.<\/p>\n<p>Then test if your clients can send queries to the DNS servers you just configured:<\/p>\n<pre># nslookup host1.test.example.com<\/pre>\n<p>The output from this command should be:<\/p>\n<pre>Output:\r\nServer:     10.20.30.13\r\nAddress:    10.20.30.13#53\r\n\r\nName:   host1.test.example.com\r\nAddress: 10.20.55.154\r\n<\/pre>\n<p>You can also test the reverse lookup by querying the DNS server with the IP address of the host:<\/p>\n<pre># nslookup 10.20.55.154<\/pre>\n<p>The output should look like this:<\/p>\n<pre>Output:\r\nServer:     10.20.30.13\r\nAddress:    10.20.30.13#53\r\n\r\n154.55.20.10.in-addr.arpa   name = host1.test.example.com.\r\n<\/pre>\n<p>Check if all of the hosts resolve correctly using the commands above, if they do that means that you&#8217;ve configured everything properly.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Adding-a-New-Host-to-Your-DNS-Servers\"><\/span>Adding a New Host to Your DNS Servers<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>If you need to add a host to your DNS servers just follow the steps below:<\/p>\n<p>On the ns1 nameserver do the following:<\/p>\n<ul>\n<li>Create an A record in the forward zone file for the host and increment the value of the Serial variable.<\/li>\n<li>Create a PTR record in the reverse zone file for the host and increment the value of the Serial variable.<\/li>\n<li>Add your host&#8217;s private IP address to the trusted ACL in named.conf.options.<\/li>\n<li>Reload BIND using the following command: sudo service bind9 reload<\/li>\n<\/ul>\n<p>On the ns2 nameserver do the following:<\/p>\n<ul>\n<li>Add your host&#8217;s private IP address to the trusted ACL in named.conf.options.<\/li>\n<li>Reload BIND using the following command: sudo service bind9 reload<\/li>\n<\/ul>\n<p>On the host machine do the following:<\/p>\n<ul>\n<li>Edit \/etc\/resolv.conf and change the nameservers to your DNS servers.<\/li>\n<li>Use nslookup to test if the host queries your DNS servers.<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"Removing-a-Existing-Host-from-your-DNS-Servers\"><\/span>Removing a Existing Host from your DNS Servers<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>If you want to remove the host from your DNS servers just undo the steps above.<\/p>\n<p>Note: Please subsitute the names and IP addresses used in this tutorial for the names and IP addresses of the hosts in your own private network.<\/p>\n<p>&nbsp;<\/p>\n<p>You don\u2019t have to Set Up Private DNS Servers with BIND on Ubuntu 16.04 yourself,\u00a0 if you use one of our <a href=\"https:\/\/www.rosehosting.com\/ubuntu-hosting.html\">Ubuntu Hosting<\/a> Services, in which case you can simply ask our expert Linux admins to Set Up Private DNS Servers with BIND on Ubuntu 16.04\u00a0 for you. They are available 24\u00d77 and will take care of your request immediately.<\/p>\n<p><strong>PS<\/strong>.\u00a0If you liked this post on how to Set Up Private DNS Servers with BIND on Ubuntu 16.04 , please share it with your friends on the social networks using the buttons on the left or simply leave a reply below. Thanks.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>How to Set Up Private DNS Servers with BIND on Ubuntu 16.04. BIND (Berkeley Internet Name Domain) is the most &#8230; <\/p>\n<p class=\"read-more-container\"><a title=\"How to Set Up Private DNS Servers with BIND on Ubuntu 16.04\" class=\"read-more button\" href=\"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-private-dns-servers-with-bind-on-ubuntu-16-04\/#more-23477\" aria-label=\"Read more about How to Set Up Private DNS Servers with BIND on Ubuntu 16.04\">Read More<\/a><\/p>\n","protected":false},"author":4,"featured_media":24334,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13,1698],"tags":[181,183,59],"class_list":["post-23477","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorials","category-ubuntu","tag-bind","tag-dns","tag-ubuntu","generate-columns","tablet-grid-50","mobile-grid-100","grid-parent","grid-33"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.5 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>How to Set Up Private DNS Servers with BIND on Ubuntu 16.04 | RoseHosting<\/title>\n<meta name=\"description\" content=\"How to Set Up Private DNS Servers with BIND on Ubuntu 16.04 | RoseHosting\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-private-dns-servers-with-bind-on-ubuntu-16-04\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Set Up Private DNS Servers with BIND on Ubuntu 16.04\" \/>\n<meta property=\"og:description\" content=\"How to Set Up Private DNS Servers with BIND on Ubuntu 16.04 | RoseHosting\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-private-dns-servers-with-bind-on-ubuntu-16-04\/\" \/>\n<meta property=\"og:site_name\" content=\"RoseHosting\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/RoseHosting\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/rosehosting.helpdesk\" \/>\n<meta property=\"article:published_time\" content=\"2017-11-21T13:20:06+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-04-05T09:55:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2017\/10\/How-to-Set-Up-Private-DNS-Servers-with-BIND-on-Ubuntu-16.04.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"600\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Jeff Wilson\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@rosehosting\" \/>\n<meta name=\"twitter:site\" content=\"@rosehosting\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jeff Wilson\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/how-to-set-up-private-dns-servers-with-bind-on-ubuntu-16-04\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/how-to-set-up-private-dns-servers-with-bind-on-ubuntu-16-04\\\/\"},\"author\":{\"name\":\"Jeff Wilson\",\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/#\\\/schema\\\/person\\\/7ce77a842fa6a9a7f8efa186f2353713\"},\"headline\":\"How to Set Up Private DNS Servers with BIND on Ubuntu 16.04\",\"datePublished\":\"2017-11-21T13:20:06+00:00\",\"dateModified\":\"2023-04-05T09:55:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/how-to-set-up-private-dns-servers-with-bind-on-ubuntu-16-04\\\/\"},\"wordCount\":1549,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/how-to-set-up-private-dns-servers-with-bind-on-ubuntu-16-04\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/10\\\/How-to-Set-Up-Private-DNS-Servers-with-BIND-on-Ubuntu-16.04.png\",\"keywords\":[\"bind\",\"dns\",\"ubuntu\"],\"articleSection\":[\"Tutorials\",\"Ubuntu\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/how-to-set-up-private-dns-servers-with-bind-on-ubuntu-16-04\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/how-to-set-up-private-dns-servers-with-bind-on-ubuntu-16-04\\\/\",\"url\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/how-to-set-up-private-dns-servers-with-bind-on-ubuntu-16-04\\\/\",\"name\":\"How to Set Up Private DNS Servers with BIND on Ubuntu 16.04 | RoseHosting\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/how-to-set-up-private-dns-servers-with-bind-on-ubuntu-16-04\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/how-to-set-up-private-dns-servers-with-bind-on-ubuntu-16-04\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/10\\\/How-to-Set-Up-Private-DNS-Servers-with-BIND-on-Ubuntu-16.04.png\",\"datePublished\":\"2017-11-21T13:20:06+00:00\",\"dateModified\":\"2023-04-05T09:55:54+00:00\",\"description\":\"How to Set Up Private DNS Servers with BIND on Ubuntu 16.04 | RoseHosting\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/how-to-set-up-private-dns-servers-with-bind-on-ubuntu-16-04\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/how-to-set-up-private-dns-servers-with-bind-on-ubuntu-16-04\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/how-to-set-up-private-dns-servers-with-bind-on-ubuntu-16-04\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/10\\\/How-to-Set-Up-Private-DNS-Servers-with-BIND-on-Ubuntu-16.04.png\",\"contentUrl\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/10\\\/How-to-Set-Up-Private-DNS-Servers-with-BIND-on-Ubuntu-16.04.png\",\"width\":1200,\"height\":600,\"caption\":\"How to Set Up Private DNS Servers with BIND on Ubuntu 16.04\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/how-to-set-up-private-dns-servers-with-bind-on-ubuntu-16-04\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Set Up Private DNS Servers with BIND on Ubuntu 16.04\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/\",\"name\":\"RoseHosting.com\",\"description\":\"Premium Linux Tutorials Since 2001\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/#organization\",\"name\":\"RoseHosting\",\"url\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/03\\\/android-chrome-192x192-1.png\",\"contentUrl\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/03\\\/android-chrome-192x192-1.png\",\"width\":192,\"height\":192,\"caption\":\"RoseHosting\"},\"image\":{\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/RoseHosting\",\"https:\\\/\\\/x.com\\\/rosehosting\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/rosehosting\\\/\"],\"description\":\"RoseHosting is a leading Linux hosting provider, serving thousands of clients world-wide since 2001.\",\"email\":\"info@rosehosting.com\",\"telephone\":\"(314) 275-0414\",\"legalName\":\"Rose Web Services LLC\",\"foundingDate\":\"2001-04-02\",\"numberOfEmployees\":{\"@type\":\"QuantitativeValue\",\"minValue\":\"11\",\"maxValue\":\"50\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/#\\\/schema\\\/person\\\/7ce77a842fa6a9a7f8efa186f2353713\",\"name\":\"Jeff Wilson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0985fed6af04cc60703d2ecf27c65dfa373e0ca00eb21c0b03477e099ea3f99f?s=96&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0985fed6af04cc60703d2ecf27c65dfa373e0ca00eb21c0b03477e099ea3f99f?s=96&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0985fed6af04cc60703d2ecf27c65dfa373e0ca00eb21c0b03477e099ea3f99f?s=96&r=g\",\"caption\":\"Jeff Wilson\"},\"description\":\"An experienced Linux veteran with many years of experience. Helping other Linux admins with frequent Linux and business-related blog posts on the RoseHosting blog. Techie by choice. Loving nature and travel. Happily married and father of two lovely children.\",\"sameAs\":[\"https:\\\/\\\/www.rosehosting.com\",\"https:\\\/\\\/www.facebook.com\\\/rosehosting.helpdesk\"],\"url\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/author\\\/jwilson\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to Set Up Private DNS Servers with BIND on Ubuntu 16.04 | RoseHosting","description":"How to Set Up Private DNS Servers with BIND on Ubuntu 16.04 | RoseHosting","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-private-dns-servers-with-bind-on-ubuntu-16-04\/","og_locale":"en_US","og_type":"article","og_title":"How to Set Up Private DNS Servers with BIND on Ubuntu 16.04","og_description":"How to Set Up Private DNS Servers with BIND on Ubuntu 16.04 | RoseHosting","og_url":"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-private-dns-servers-with-bind-on-ubuntu-16-04\/","og_site_name":"RoseHosting","article_publisher":"https:\/\/www.facebook.com\/RoseHosting","article_author":"https:\/\/www.facebook.com\/rosehosting.helpdesk","article_published_time":"2017-11-21T13:20:06+00:00","article_modified_time":"2023-04-05T09:55:54+00:00","og_image":[{"width":1200,"height":600,"url":"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2017\/10\/How-to-Set-Up-Private-DNS-Servers-with-BIND-on-Ubuntu-16.04.png","type":"image\/png"}],"author":"Jeff Wilson","twitter_card":"summary_large_image","twitter_creator":"@rosehosting","twitter_site":"@rosehosting","twitter_misc":{"Written by":"Jeff Wilson","Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-private-dns-servers-with-bind-on-ubuntu-16-04\/#article","isPartOf":{"@id":"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-private-dns-servers-with-bind-on-ubuntu-16-04\/"},"author":{"name":"Jeff Wilson","@id":"https:\/\/www.rosehosting.com\/blog\/#\/schema\/person\/7ce77a842fa6a9a7f8efa186f2353713"},"headline":"How to Set Up Private DNS Servers with BIND on Ubuntu 16.04","datePublished":"2017-11-21T13:20:06+00:00","dateModified":"2023-04-05T09:55:54+00:00","mainEntityOfPage":{"@id":"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-private-dns-servers-with-bind-on-ubuntu-16-04\/"},"wordCount":1549,"commentCount":1,"publisher":{"@id":"https:\/\/www.rosehosting.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-private-dns-servers-with-bind-on-ubuntu-16-04\/#primaryimage"},"thumbnailUrl":"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2017\/10\/How-to-Set-Up-Private-DNS-Servers-with-BIND-on-Ubuntu-16.04.png","keywords":["bind","dns","ubuntu"],"articleSection":["Tutorials","Ubuntu"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.rosehosting.com\/blog\/how-to-set-up-private-dns-servers-with-bind-on-ubuntu-16-04\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-private-dns-servers-with-bind-on-ubuntu-16-04\/","url":"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-private-dns-servers-with-bind-on-ubuntu-16-04\/","name":"How to Set Up Private DNS Servers with BIND on Ubuntu 16.04 | RoseHosting","isPartOf":{"@id":"https:\/\/www.rosehosting.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-private-dns-servers-with-bind-on-ubuntu-16-04\/#primaryimage"},"image":{"@id":"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-private-dns-servers-with-bind-on-ubuntu-16-04\/#primaryimage"},"thumbnailUrl":"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2017\/10\/How-to-Set-Up-Private-DNS-Servers-with-BIND-on-Ubuntu-16.04.png","datePublished":"2017-11-21T13:20:06+00:00","dateModified":"2023-04-05T09:55:54+00:00","description":"How to Set Up Private DNS Servers with BIND on Ubuntu 16.04 | RoseHosting","breadcrumb":{"@id":"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-private-dns-servers-with-bind-on-ubuntu-16-04\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.rosehosting.com\/blog\/how-to-set-up-private-dns-servers-with-bind-on-ubuntu-16-04\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-private-dns-servers-with-bind-on-ubuntu-16-04\/#primaryimage","url":"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2017\/10\/How-to-Set-Up-Private-DNS-Servers-with-BIND-on-Ubuntu-16.04.png","contentUrl":"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2017\/10\/How-to-Set-Up-Private-DNS-Servers-with-BIND-on-Ubuntu-16.04.png","width":1200,"height":600,"caption":"How to Set Up Private DNS Servers with BIND on Ubuntu 16.04"},{"@type":"BreadcrumbList","@id":"https:\/\/www.rosehosting.com\/blog\/how-to-set-up-private-dns-servers-with-bind-on-ubuntu-16-04\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.rosehosting.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to Set Up Private DNS Servers with BIND on Ubuntu 16.04"}]},{"@type":"WebSite","@id":"https:\/\/www.rosehosting.com\/blog\/#website","url":"https:\/\/www.rosehosting.com\/blog\/","name":"RoseHosting.com","description":"Premium Linux Tutorials Since 2001","publisher":{"@id":"https:\/\/www.rosehosting.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.rosehosting.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.rosehosting.com\/blog\/#organization","name":"RoseHosting","url":"https:\/\/www.rosehosting.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.rosehosting.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2022\/03\/android-chrome-192x192-1.png","contentUrl":"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2022\/03\/android-chrome-192x192-1.png","width":192,"height":192,"caption":"RoseHosting"},"image":{"@id":"https:\/\/www.rosehosting.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/RoseHosting","https:\/\/x.com\/rosehosting","https:\/\/www.linkedin.com\/in\/rosehosting\/"],"description":"RoseHosting is a leading Linux hosting provider, serving thousands of clients world-wide since 2001.","email":"info@rosehosting.com","telephone":"(314) 275-0414","legalName":"Rose Web Services LLC","foundingDate":"2001-04-02","numberOfEmployees":{"@type":"QuantitativeValue","minValue":"11","maxValue":"50"}},{"@type":"Person","@id":"https:\/\/www.rosehosting.com\/blog\/#\/schema\/person\/7ce77a842fa6a9a7f8efa186f2353713","name":"Jeff Wilson","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/0985fed6af04cc60703d2ecf27c65dfa373e0ca00eb21c0b03477e099ea3f99f?s=96&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/0985fed6af04cc60703d2ecf27c65dfa373e0ca00eb21c0b03477e099ea3f99f?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0985fed6af04cc60703d2ecf27c65dfa373e0ca00eb21c0b03477e099ea3f99f?s=96&r=g","caption":"Jeff Wilson"},"description":"An experienced Linux veteran with many years of experience. Helping other Linux admins with frequent Linux and business-related blog posts on the RoseHosting blog. Techie by choice. Loving nature and travel. Happily married and father of two lovely children.","sameAs":["https:\/\/www.rosehosting.com","https:\/\/www.facebook.com\/rosehosting.helpdesk"],"url":"https:\/\/www.rosehosting.com\/blog\/author\/jwilson\/"}]}},"_links":{"self":[{"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/posts\/23477","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/comments?post=23477"}],"version-history":[{"count":1,"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/posts\/23477\/revisions"}],"predecessor-version":[{"id":41851,"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/posts\/23477\/revisions\/41851"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/media\/24334"}],"wp:attachment":[{"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/media?parent=23477"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/categories?post=23477"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/tags?post=23477"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}