{"id":4793,"date":"2014-04-02T20:25:02","date_gmt":"2014-04-03T02:25:02","guid":{"rendered":"http:\/\/gregsowell.com\/?p=4793"},"modified":"2014-04-02T20:25:02","modified_gmt":"2014-04-03T02:25:02","slug":"root-hints-on-bind-dns-servers","status":"publish","type":"post","link":"https:\/\/gregsowell.com\/?p=4793","title":{"rendered":"Root Hints On BIND DNS Servers"},"content":{"rendered":"<p>DNS is the resolution protocol for the interwebz.  Basically, when your browser does a lookup for a URL it asks your configured DNS server to tell him what IP address the content lives at&#8230;but how does your DNS server know where to look for this information?<\/p>\n<p>The Root servers, of course.  What are they you ask?<\/p>\n<blockquote><p>A root name server is a name server for the root zone of the Domain Name System of the Internet. It directly answers requests for records in the root zone and answers other requests by returning a list of the authoritative name servers for the appropriate top-level domain (TLD). The root name servers are a critical part of the Internet infrastructure because they are the first step in translating (resolving) human readable host names into IP addresses that are used in communication between Internet hosts.<\/p><\/blockquote>\n<p>At least, that&#8217;s what <a href=\"http:\/\/en.wikipedia.org\/wiki\/Root_name_server\">wikipedia says about it<\/a>.<\/p>\n<p>So how do you know who the Root servers are&#8230;via root hints!  The root hints file is a small file in your DNS server that stores the root zone server to IP address mapping.  This way your server can query by IP address.<\/p>\n<p>A good rule of thumb is to keep your root hints updated every 6 months or so.  I started running into intermittent DNS issues and in the process I discovered mine were about 6 years out of date!!!!!!!!<\/p>\n<p>Since I run centos with BIND the easiest thing to do is run this simple command via ssh:<\/p>\n<pre class=\"gs-code\"><code class=\"language-plaintext\">dig +bufsize=1200 +norec NS . @a.root-servers.net &gt; \/var\/named\/named.ca &amp;&amp; service named restart<\/code><\/pre>\n<p>This pulls the root servers, dumps them to the root hint file &#8220;named.ca&#8221; and then restarts bind.  You can verify what the root hint file is by checking your named.conf file in \/etc\/named.com:<br \/>\n<a href=\"http:\/\/gregsowell.com\/wp-content\/uploads\/2014\/04\/root-hint-named.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/gregsowell.com\/wp-content\/uploads\/2014\/04\/root-hint-named.png\" alt=\"root-hint-named\" width=\"217\" height=\"135\" class=\"aligncenter size-full wp-image-4797\" \/><\/a><\/p>\n<p>I&#8217;m lazy and used webmin to schedule the cron job to run every 6 months:<br \/>\n<figure id=\"attachment_4795\" aria-describedby=\"caption-attachment-4795\" style=\"width: 556px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/gregsowell.com\/wp-content\/uploads\/2014\/04\/root-hint-cron.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/gregsowell.com\/wp-content\/uploads\/2014\/04\/root-hint-cron.png\" alt=\"System =&gt; Scheduled Cron Jobs =&gt; Add New\" width=\"556\" height=\"508\" class=\"size-full wp-image-4795\" srcset=\"https:\/\/gregsowell.com\/wp-content\/uploads\/2014\/04\/root-hint-cron.png 556w, https:\/\/gregsowell.com\/wp-content\/uploads\/2014\/04\/root-hint-cron-300x274.png 300w\" sizes=\"auto, (max-width: 556px) 100vw, 556px\" \/><\/a><figcaption id=\"caption-attachment-4795\" class=\"wp-caption-text\">System => Scheduled Cron Jobs => Add New<\/figcaption><\/figure><\/p>\n<p>If this was helpful or you happen to have any similar war stories, drop me a line in the comments section. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>DNS is the resolution protocol for the interwebz. Basically, when your browser does a lookup for a URL it asks your configured DNS server\u2026<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14,13],"tags":[],"class_list":["post-4793","post","type-post","status-publish","format-standard","hentry","category-linux","category-server"],"_links":{"self":[{"href":"https:\/\/gregsowell.com\/index.php?rest_route=\/wp\/v2\/posts\/4793","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gregsowell.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gregsowell.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gregsowell.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/gregsowell.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4793"}],"version-history":[{"count":5,"href":"https:\/\/gregsowell.com\/index.php?rest_route=\/wp\/v2\/posts\/4793\/revisions"}],"predecessor-version":[{"id":4800,"href":"https:\/\/gregsowell.com\/index.php?rest_route=\/wp\/v2\/posts\/4793\/revisions\/4800"}],"wp:attachment":[{"href":"https:\/\/gregsowell.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4793"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gregsowell.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4793"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gregsowell.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4793"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}