<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>DNS on Zet’s playground</title>
    <link>https://blog.zet.tw/en/tags/dns/</link>
    <description>Recent content in DNS on Zet’s playground</description>
    <image>
      <title>Zet’s playground</title>
      <url>https://blog.zet.tw/img/blog-cover.png</url>
      <link>https://blog.zet.tw/img/blog-cover.png</link>
    </image>
    <generator>Hugo -- 0.139.0</generator>
    <language>en</language>
    <lastBuildDate>Sun, 16 Oct 2022 00:00:00 +0800</lastBuildDate>
    <atom:link href="https://blog.zet.tw/en/tags/dns/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Ad-blocking powerhouse - AdGuard</title>
      <link>https://blog.zet.tw/en/posts/2022-10-16-adguard/</link>
      <pubDate>Sun, 16 Oct 2022 00:00:00 +0800</pubDate>
      <guid>https://blog.zet.tw/en/posts/2022-10-16-adguard/</guid>
      <description>&lt;p&gt;I often pick up second-hand hardware junk to build things with, so I&amp;rsquo;ll keep a &lt;a href=&#34;https://blog.zet.tw/en/categories/homelab/&#34;&gt;HomeLAB&lt;/a&gt; series to document it.&lt;/p&gt;
&lt;h1 id=&#34;installation&#34;&gt;Installation&lt;/h1&gt;
&lt;p&gt;On Unix-like systems you can install it in one line:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You can also refer to the &lt;a href=&#34;https://github.com/AdguardTeam/AdGuardHome&#34;&gt;official github&lt;/a&gt; and the &lt;a href=&#34;https://github.com/AdguardTeam/AdGuardHome/wiki&#34;&gt;wiki&lt;/a&gt;; it can be installed on docker, a Raspberry Pi, and more.&lt;/p&gt;
&lt;p&gt;Here, since I run an LXC on proxmox and it has its own IP, I just install it as a regular machine.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I often pick up second-hand hardware junk to build things with, so I&rsquo;ll keep a <a href="/en/categories/homelab/">HomeLAB</a> series to document it.</p>
<h1 id="installation">Installation</h1>
<p>On Unix-like systems you can install it in one line:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v
</span></span></code></pre></div><p>You can also refer to the <a href="https://github.com/AdguardTeam/AdGuardHome">official github</a> and the <a href="https://github.com/AdguardTeam/AdGuardHome/wiki">wiki</a>; it can be installed on docker, a Raspberry Pi, and more.</p>
<p>Here, since I run an LXC on proxmox and it has its own IP, I just install it as a regular machine.</p>
<h2 id="address-already-in-use">address already in use</h2>
<p>During installation you may hit the <code>0.0.0.0:53: bind: address already in use</code> error. You can solve it with these steps:</p>
<p>First stop the resolve service:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>systemctl stop systemd-resolved
</span></span></code></pre></div><p>Edit <code>/etc/systemd/resolved.conf</code>:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>[Resolve]
</span></span><span style="display:flex;"><span>DNS=127.0.0.1
</span></span><span style="display:flex;"><span>DNSStubListener=no
</span></span></code></pre></div><p>Re-link it and restart the service:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
</span></span><span style="display:flex;"><span>systemctl restart systemd-resolved
</span></span></code></pre></div><h1 id="dns-settings">DNS settings</h1>
<p>For upstream DNS you can set servers from Google, HiNet, Cloudflare and TWNIC:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-diff" data-lang="diff"><span style="display:flex;"><span>8.8.8.8
</span></span><span style="display:flex;"><span>8.8.4.4
</span></span><span style="display:flex;"><span>168.95.1.1
</span></span><span style="display:flex;"><span>168.95.192.1
</span></span><span style="display:flex;"><span>1.1.1.1
</span></span><span style="display:flex;"><span>1.0.0.1
</span></span><span style="display:flex;"><span>101.101.101.101
</span></span><span style="display:flex;"><span>101.102.103.104
</span></span></code></pre></div><h1 id="blocklists">Blocklists</h1>
<p>You can add your own by referring to <a href="https://firebog.net/;">https://firebog.net/;</a> there are also some built-in ones you can import.</p>
<p><img loading="lazy" src="/img/ADGUARD/blocklist.jpg" alt="blocklist.jpg"  />
</p>
<h1 id="dns-rewrite">DNS rewrite</h1>
<p>If you have services on your LAN, you can use rewrite to set your own domain for easy access.</p>
<p><img loading="lazy" src="/img/ADGUARD/dns-rewrite.jpg" alt=""  />
</p>
<h1 id="config-file">config file</h1>
<p>The whole configuration lives in <code>/opt/AdGuardHome/AdGuardHome.yaml</code>; you can back it up regularly for easier future deployments.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>root@ad-guard:~# ls /opt/AdGuardHome/
</span></span><span style="display:flex;"><span>AdGuardHome  AdGuardHome.sig  AdGuardHome.yaml  CHANGELOG.md  LICENSE.txt  README.md  data
</span></span></code></pre></div><p>A similar service is <a href="https://nextdns.io/">NextDNS</a>, also worth a look.</p>
]]></content:encoded>
    </item>
  </channel>
</rss>
