其實這個已經玩很久了,之前應該有要記錄這篇,但忘記什麼原因就沒紀錄了。可能太過簡單了,就沒記錄。🤣
最近我朋友跟我索取動物機,這邊準備要搬到3代動物機,順便留一些記錄。
心智圖
mindmap
root((AdGuard))
介紹
使用 docker 安裝
相關配置
DNS 每秒連線數調整無限制
DNS 改寫
DNS 封鎖清單
AdGuard Home
Warning
這邊可能你設定,在看 Youtube 時候還會看到廣告,原因不是 DNS 沒用。因為是…APP使用 DNS over HTTPS(DoT),所以你的 DNS 根本沒辦法阻擋,目前這個方法是無解的。
安裝
這邊其實只要執行檔執行就可以了,因為 Golang 可編譯跨平台執行真的超級方便的。Docker run 也可以簡單完成,官方就有 Docker 映像檔可以用。這邊還發現各種架構都支援。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
#!/bin/bash
mkdir -p $PWD/adguardhome/workdir
mkdir -p $PWD/adguardhome/confdir
#-p 3000:3000/tcp\
docker run --name adguardhome\
--restart unless-stopped\
-v $PWD/adguardhome/workdir:/opt/adguardhome/work \
-v $PWD/adguardhome/confdir:/opt/adguardhome/conf \
-p 53:53/tcp -p 53:53/udp\
-p 67:67/udp -p 68:68/udp\
-p 80:80/tcp -p 443:443/tcp -p 443:443/udp\
-p 853:853/tcp\
-p 3000:3000/tcp\
-p 784:784/udp -p 853:853/udp -p 8853:8853/udp\
-p 5443:5443/tcp -p 5443:5443/udp\
-d adguard/adguardhome
|
Tip
1
|
docker: Error response from daemon: driver failed programming external connectivity on endpoint adguardhome (a0ab6e2a1463854f6d2fd39f5b3c299c0e4d9312a7cc026cca043d1b8acccc03): failed to bind port 0.0.0.0:53/tcp: Error starting userland proxy: listen tcp4 0.0.0.0:53: bind: address already in use.
|
2024-07-22 Ubuntu 今天安裝執行發現這個錯誤,
1
2
3
4
5
6
7
8
|
#停止 DNSStubListener
systemctl stop systemd-resolved
#建立資料夾(如果不存在)
sudo mkdir -p /etc/systemd/resolved.conf.d/
#使用 Nano 建立組態檔案
sudo vim /etc/systemd/resolved.conf.d/adguardhome.conf
|
1
2
3
4
5
6
7
8
|
在編輯器中貼上以下內容:
[Resolve]
DNS=127.0.0.1
DNSStubListener=no
保存後執行以下命令。
#重啟 DNSStubListener
systemctl restart systemd-resolved
|
注意!以下指令我就沒設定,因為發現以下是重新指令派送 DNS設定檔案,但我 DNS 剛好式同一台,所以我就沒設定這個。
以下指令我就沒設定,可以參考!!
1
2
3
4
5
6
7
8
9
10
11
|
# 以下指令我就沒設定,可以參考看看要不要執行。因為我判斷預設是連到自己的 DNS,所以我就沒設定。
# malagege@malagege-NucBox-G3:~/adguardhome$ ls -l /etc/resolv.conf
# lrwxrwxrwx 1 root root 39 4月 24 18:47 /etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf
#建立備份
sudo mv /etc/resolv.conf /etc/resolv.conf.backup
#將 /etc/resolv.conf 連結至 /run/systemd/resolve/resolv.conf
ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
#重啟 DNSStubListener
systemctl restart systemd-resolved
|
詳細可以參考,每篇設定方式不太一樣:
介紹 systemd-resolved 相關文章:
上面還滿多Port,我看官方 Port 設定,可以拿掉沒有要用的。
1
2
3
4
5
6
7
8
9
10
11
|
-p 53:53/tcp -p 53:53/udp: plain DNS.
-p 67:67/udp -p 68:68/tcp -p 68:68/udp: add if you intend to use AdGuard Home as a DHCP server.
-p 80:80/tcp -p 443:443/tcp -p 443:443/udp -p 3000:3000/tcp: add if you are going to use AdGuard Home's admin panel as well as run AdGuard Home as an HTTPS/DNS-over-HTTPS server.
-p 853:853/tcp: add if you are going to run AdGuard Home as a DNS-over-TLS server.
-p 784:784/udp -p 853:853/udp -p 8853:8853/udp: add if you are going to run AdGuard Home as a DNS-over-QUIC server. You may only leave one or two of these.
-p 5443:5443/tcp -p 5443:5443/udp: add if you are going to run AdGuard Home as a DNSCrypt server.
|
因為我 3000 web port 已經有服務再用,所以我直接從 80 倒進 3000 port。之後好像 port會變成 80再改回去。
1
2
3
4
5
6
7
8
9
10
11
12
13
|
#!/bin/bash
mkdir -p $PWD/adguardhome/workdir
mkdir -p $PWD/adguardhome/confdir
docker run --name adguardhome\
--restart unless-stopped\
-v $PWD/adguardhome/workdir:/opt/adguardhome/work \
-v $PWD/adguardhome/confdir:/opt/adguardhome/conf \
-p 53:53/tcp -p 53:53/udp\
-p 80:3000/tcp\
-p 5443:5443/tcp -p 5443:5443/udp\
-d adguard/adguardhome
|
進去網站設定。
-
點選開始
-
設定帳號密碼
-
在路由器設定 Dns。
Warning
這邊注意!!不是每一個路由器做
DHCP 派送會有 DNS 設定。像是中華電信 P883 沒有這個設定,所以無法做調整,但我在我的防火牆那台設定。沒支援也沒關係,可以把你的路由器 DHCP關掉,開啟 AdGuard Home 裡面的 DHCP,也可以解決這個問題。
注意!!一個區網只能有一個 DHCP Server!!
其實到這邊就可以結束了。
DNS 每秒連線數調整無限制
有看到別的網站有做這個限制,不過我前面是沒調整,但也沒遇到什麼問題。網路文章上看到說調整這個設定,區網沒必要做限制,但對外網路可能就需要。
DNS 改寫
因為有一組外網 DNS,希望可以直連內網 IP,可以這樣做設定,這樣也能 TLS 連線安全。
DNS 封鎖清單
舊的安裝記錄
adguard/adguardhome:armhf-latest以前都要做 armhf-latest,之後版本都不需要做設定。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
#!/bin/bash
mkdir -p $PWD/adguardhome/workdir
mkdir -p $PWD/adguardhome/confdir
docker rm -f adguardhome
docker run \
-d \
--name=adguardhome \
--restart=always \
-v $PWD/adguardhome/workdir:/opt/adguardhome/work \
-v $PWD/adguardhome/confdir:/opt/adguardhome/conf \
-p 53:53/tcp \
-p 53:53/udp \
-p 67:67/udp \
-p 69:68/tcp \
-p 69:68/udp \
-p 80:80/tcp \
-p 443:443/tcp \
-p 853:853/tcp \
-p 3000:3000/tcp \
adguard/adguardhome:armhf-latest
|