Oracle CloudにAdguardHomeを構築する手順

Oracle CloudにAdguardHomeを構築する手順

Adguard DNSは普段使いとして特に不満なく使えていますが、時間に余裕があるなら自分専用のDNSサーバーを構築してみるのも悪くありません。今回は海外のブログ記事を参考に、Oracle CloudのインスタンスにAdguardHomeを構築してみたので、その手順を記録しておきます。

参考にした記事と前提環境

今回参照したのは こちらの記事 です。参考というより、ほぼそのまま手順をなぞった形になります。Oracle Cloudのアカウント開設やインスタンスの申請部分は省略し、PuTTYで接続した後の作業から記録します。

なお、ここでの作業はすべてUbuntu 20、ARM構成のサーバー上で行っています。

手順

① まずシステムを更新します

sudo apt update && sudo apt upgrade -y

② iptablesの設定を変更します

sudo nano /etc/iptables/rules.v4

WinSCPで該当ファイルを直接編集してもかまいません。内容は以下のようにします。

:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [463:49013]
:InstanceServices - [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p udp --sport 123 -j ACCEPT
-A INPUT -p tcp --dport 53 -j ACCEPT
-A INPUT -p udp --dport 53 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3000 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
-A OUTPUT -d 169.254.0.0/16 -j InstanceServices

③ サーバーを再起動します

sudo reboot

④ AdguardHomeをインストールします

curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v

⑤ インストールが終わったら、ブラウザで http://<public-ip>:3000 にアクセスすると設定画面が開きます。

設定中に出るエラーへの対処

設定を進めていく途中で、次のようなエラーが表示されることがあります(参考記事によれば、Ubuntu環境でよく起きる現象とのことです)。

validating ports: listen tcp 0.0.0.0:53: bind: address already in use

これは以下の手順で解消できます。

sudo mkdir -p /etc/systemd/resolved.conf.d
sudo nano /etc/systemd/resolved.conf.d/adguardhome.conf

作成した adguardhome.conf に、次の内容を貼り付けます。

[Resolve]
DNS=127.0.0.1
DNSStubListener=no

保存したら、続けて以下を実行します。

sudo mv /etc/resolv.conf /etc/resolv.conf.backup
sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
sudo systemctl reload-or-restart systemd-resolved

これで完了です。

手順自体は決して複雑ではなく、参考にした記事の通りに進めればそのまま動きました。Oracle CloudのAlways Free枠で動かしておけば、コストをかけずに自分専用の広告ブロックDNSを持っておけるので、時間のあるときに一度試してみる価値はあると思います。

シェア・購読:
🧡 この記事が気に入ったら、RSSフィードを購読して最新の更新を受け取りましょう。