在甲骨文云上用AdguardHome搭建自己的DNS服务

Adguard DNS用着也没什么问题,但有时间折腾的话,弄个自己专用的也挺好。


参照:https://jmcglock.substack.com/p/installing-adguard-home-on-oracle

说说是参照,完全就是照做,在此做一个简单的记录。

甲骨文云如何申请之类的我就直接略过了,记录的部分直接从putty开始。

※我的这些都是在Ubuntu 20,ARM的服务器上进行的

①首先确认各种升级

sudo apt update && sudo apt upgrade -y

②更改一些iptable的内容

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

完成。