為了不想看到這些廣告, 可以透過自行架設Pi-Hole來檔掉部分的廣告
Pi-Hole就是透過DNS的方式來檔掉已知的廣告網址
好處是, 他會自動更新black list
如何讓Pi-Hole為你擋廣告, 可以分為兩段,
1. 架設Pi-Hole
2. 設定原本Router裡面的DNS改由Pi-Hole處理
<<1. 架設Pi-Hole>>
這邊因為我已經有Synology NAS, 所以就透過NAS上的docker來跑Pi-Hole
參考網址 :
https://www.jkg.tw/p157/
https://medium.com/@moreless/install-pi-hole-docker-on-synology-to-remove-ads-84bc92d9078d
https://mariushosting.com/how-to-install-pi-hole-on-your-synology-nas/
圖文可以參考上面連結
下面僅用文字記錄自己的安裝過程
1. DMS 套件中心 > 安裝docker套件
2. 開啟docker
3. docker > 倉庫伺服器 > 搜尋"pihole" > 下載 "pihole/pihole" 這個image
4. docker > 映像檔 > 選擇剛剛下載的pihole > 佈署 > 進階設定
a. 進階設定 > 勾選 自動重啟
b. 儲存空間 > 新增資料夾
/docker/pihole/config > 掛載路徑 /etc/pihole/
/docker/pihole/dnsmasq.d > 掛載路徑 /etc/dnsmasq.d/
c. 網路 > 勾選 與docker host使用相同網路
d. 環境設定,
新增 > WEB_PORT, value = pihole網頁service的port, 可以用80或是換成其他(e.g. 11111)
新增 > WEBPASSWORD, value = 登入pihole網頁的密碼(e.g. 22222)
新增 > TZ, value = Asia/Taipei, 設定時區, pihole會在半夜起來更新list
修改 > ServerIP, value = NAS在區網上的ip, (e.g. 192.168.0.88)
e. 設定完成, 點選套用, 並打勾設定完成後啟動
f. docker > 容器, 看看剛剛設定的有沒有跑起來了
5. 在瀏覽器網址列輸入 http://ServerIP:WEB_PORT/admin就可以開始pihole的管理頁面
e.g. http://192.168.0.88:11111/admin
6. 網頁上的左邊, 有LogIn, 點選後, 輸入WEBPASSWORD即可登入(e.g. 22222)
7. Pi-Hole設定完成
<<2. 設定路由器, 讓DNS改為pihole>>, 以RouterOS為例
更新 : 如果你是使用RouterOS的Router, 可以參考下面兩篇就好了, 比較完善
RouterOS設定DNS Server
RouterOS內動態確認DNS Server是否正常, 並切換設定
1. Winbox > IP > DNS
DNS Server : 設為pihole的IP (e.g. 192.168.0.88)
這邊我有設定第二組(Google DNS 8.8.8.8), 想法是說如果pihole掛了, 起碼這裡還出的去
2. Winbox > IP > DHCP Server > Networks
DNS Server : 設為pihole的IP (e.g. 192.168.0.88)
這樣可以讓DHCP client來拿ip的時候, 拿到這組DNS回去
這樣, 應該基本效果就可以了
但是後來看到有網路上提到, 如果client端自己寫死DNS, 那就會繞掉剛剛的設定
所以透過NAT, 強制轉到pihole
Ref : https://www.reddit.com/r/pihole/comments/5g249i/tip_redirect_all_dns_to_pihole_with_mikrotik/
做dstnat, 把tcp/udp port53, dst/src address非pihole, 都導向iphole
;;; redirect DNS to PiHole
chain=dstnat action=dst-nat to-addresses=192.168.0.88 protocol=udp src-address=!192.168.0.88 dst-address=!192.168.0.88 dst-port=53
chain=dstnat action=dst-nat to-addresses=192.168.0.88 protocol=tcp
src-address=!192.168.0.88 dst-address=!192.168.0.88 dst-port=53
chain=dstnat action=dst-nat to-addresses=192.168.0.88 protocol=tcp
src-address=!192.168.0.88 dst-address=!192.168.0.88 dst-port=53
Hairpin, 我是沒有對外ip, 所以就沒做了
All DNS queries to PiHole shall appear to come from the router
3 ;;; hairpin NAT for PiHole
chain=srcnat action=masquerade protocol=udp src-address=192.168.1.0/24 dst-address=192.168.1.2 dst-port=53 4 chain=srcnat action=masquerade protocol=tcp src-address=192.168.1.0/24
dst-address=192.168.1.2 dst-port=53
3 ;;; hairpin NAT for PiHole
chain=srcnat action=masquerade protocol=udp src-address=192.168.1.0/24 dst-address=192.168.1.2 dst-port=53 4 chain=srcnat action=masquerade protocol=tcp src-address=192.168.1.0/24
dst-address=192.168.1.2 dst-port=53
沒有留言:
張貼留言