{"id":1307,"date":"2023-11-13T12:00:00","date_gmt":"2023-11-13T20:00:00","guid":{"rendered":"https:\/\/letsbuildroboticswithshadow8472.com\/?p=1307"},"modified":"2023-11-09T22:32:50","modified_gmt":"2023-11-10T06:32:50","slug":"rocky-server-stack-deep-dive-2023-part-3-1","status":"publish","type":"post","link":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/2023\/11\/13\/rocky-server-stack-deep-dive-2023-part-3-1\/","title":{"rendered":"Rocky Server Stack Deep Dive: 2023 Part 3.1"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Good Morning from my Robotics Lab! This is Shadow_8472 with a side project on my home server. Let\u2019s get started!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Not My Problem<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In the greater context of setting up Pi-Hole (network ad blocker) on my home server, ButtonMash, I\u2019ve learned a thing or two about how the Domain Name Service (DNS) works and what happens when I break it locally. Normally, when a device connects to a network, a DHCP server (often on the router) advertises a DNS server. When resolving a URL, this DNS server either has the answer cached or ask another DNS server until a match is found or the system gives up.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">My Internet Service Provider (ISP) has been having some trouble with its site (including our main e-mail). Not once, but twice my family asked if I was doing something with the Internet. Both times, I used a terminal application called \u201ctraceroute\u201d to display [most of] the hops my requests went. Ones handled by ButtonMash were very short \u2013 (I tested buttonmash.lan and a known entry on my blocklist), while others took up to 30 hops. My ISP\u2019s site fell in the later category.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">However: one cell phone in the family was still reaching our ISP\u2019s site while on cell data. This meant that the site was fine, but the failure was with the larger DNS system (or most of their servers were down behind their reverse proxy, but I thought of that later). In either case, I looked at a couple \u201cIs it down?\u201d type sites, and concluded the outage was most certainly not my problem.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Unbound<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">But I had a project to try. Unbound is a tool for increasing digital privacy by setting up a recursive DNS server. Every domain is registered at its authoritative DNS server. When Unbound receives a request, it finds the domain\u2019s authoritative DNS server and caches it for later. This reduces digital footprints in DNS server logs, making you harder to track and reducing your vulnerability to a hacked\/confused DNS servers.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I\u2019ve been interested in building my own Unbound OCI \u201cDocker\u201d container for a while as there\u2019s no officially maintained one, but I went ahead and downloaded an image from docker.io based on the quality of documentation. I spun up a container in Podman and pointed Pi-Hole at it. It worked first try with no special configuration.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It just so happened that when I brought the fix online, we were on a call with tech support, and I was able to pass my diagnosis back to our ISP to help them restore service to their customers in my community \u2013 however large or small that number may be.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Takeaway<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">What\u2019s with no persistence volumes on this container? If it resets, it will have to start over on caching. If\/when I come back in a few months, I may take a closer look. Otherwise, this has been a big shortcut I can live with.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Final Question<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Have you worked with Unbound before? Would it even benefit from a persistence volume?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I look forward to hearing from you on my <a rel=\"noreferrer noopener\" href=\"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/discord-invite\/\" target=\"_blank\">Socials<\/a>!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Good Morning from my Robotics Lab! This is Shadow_8472 with a side project on my home server. Let\u2019s get started! Not My Problem In the greater context of setting up Pi-Hole (network ad blocker) on my home server, ButtonMash, I\u2019ve learned a thing or two about how the Domain Name Service (DNS) works and what &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/2023\/11\/13\/rocky-server-stack-deep-dive-2023-part-3-1\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Rocky Server Stack Deep Dive: 2023 Part 3.1&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_forum_subforum_count":0,"footnotes":""},"categories":[90],"tags":[302,303,199,301],"class_list":["post-1307","post","type-post","status-publish","format-standard","hentry","category-red-hat-server","tag-dns","tag-dns-server","tag-pihole","tag-unbound"],"_links":{"self":[{"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/posts\/1307","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/comments?post=1307"}],"version-history":[{"count":2,"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/posts\/1307\/revisions"}],"predecessor-version":[{"id":1310,"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/posts\/1307\/revisions\/1310"}],"wp:attachment":[{"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/media?parent=1307"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/categories?post=1307"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/tags?post=1307"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}