差異處
這裏顯示兩個版本的差異處。
兩邊的前次修訂版 前次修改 下次修改 | 前次修改 | ||
tech:pihole_unbound [2023/11/05 23:56] – [FAQ] jonathan | tech:pihole_unbound [2025/02/22 07:34] (目前版本) – [FAQ] wildcard dns - pi-hole v6 之後, 需要再 GUI 勾選 misc.etc_dnsmasq_d jonathan | ||
---|---|---|---|
行 3: | 行 3: | ||
* 安裝環境 : | * 安裝環境 : | ||
* VM : 1vCore, 1G RAM, 16G SSD | * VM : 1vCore, 1G RAM, 16G SSD | ||
- | * OS : Alpine 3.18 + Docker Compose | + | * OS : Alpine 3.21 + Docker Compose |
* 參考 [[tech/ | * 參考 [[tech/ | ||
===== 安裝設定 ===== | ===== 安裝設定 ===== | ||
* 編輯 docker-compose.yml < | * 編輯 docker-compose.yml < | ||
- | version: ' | ||
- | |||
networks: | networks: | ||
dns_net: | dns_net: | ||
行 16: | 行 14: | ||
config: | config: | ||
- subnet: 172.22.0.0/ | - subnet: 172.22.0.0/ | ||
+ | external: false | ||
services: | services: | ||
行 22: | 行 21: | ||
hostname: pihole | hostname: pihole | ||
image: pihole/ | image: pihole/ | ||
+ | #shm_size: ' | ||
networks: | networks: | ||
dns_net: | dns_net: | ||
行 33: | 行 33: | ||
- ' | - ' | ||
- ' | - ' | ||
- | - 'DNS2=no' | + | - 'DNS2=1.1.1.1' |
+ | - ' | ||
+ | - ' | ||
+ | - ' | ||
+ | - ' | ||
+ | - ' | ||
+ | cap_add: | ||
+ | - NET_ADMIN | ||
+ | - SYS_NICE | ||
volumes: | volumes: | ||
- ' | - ' | ||
- | #- ' | ||
- ' | - ' | ||
- | restart: | + | |
+ | depends_on: | ||
+ | unbound: | ||
+ | condition: service_healthy | ||
+ | healthcheck: | ||
+ | test: [" | ||
+ | interval: 30s | ||
+ | timeout: 10s | ||
+ | retries: 3 | ||
+ | start_period: | ||
+ | #disable: true | ||
+ | | ||
unbound: | unbound: | ||
行 46: | 行 64: | ||
dns_net: | dns_net: | ||
ipv4_address: | ipv4_address: | ||
- | | + | volumes: |
#- ./ | #- ./ | ||
+ | - ./ | ||
ports: | ports: | ||
- " | - " | ||
- " | - " | ||
healthcheck: | healthcheck: | ||
- | disable: | + | disable: |
- | restart: | + | restart: |
</ | </ | ||
* 啟動服務 <cli> | * 啟動服務 <cli> | ||
行 67: | 行 86: | ||
* 可以參考 https:// | * 可以參考 https:// | ||
* 可以參考 https:// | * 可以參考 https:// | ||
+ | * 可以參考 [[tech/ | ||
===== FAQ ===== | ===== FAQ ===== | ||
行 102: | 行 122: | ||
docker compose up -d | docker compose up -d | ||
</ | </ | ||
- | - 如何調整自動更新週期 | + | - 如何調整自動更新週期 |
- | * 參考 | + | * 參考 |
- | - 複製 pihole 內的 | + | * < |
- | docker cp pihole:/etc/cron.d/pihole . | + | * [[https://github.com/pi-hole/docker-pi-hole/ |
- | mv pihole etc-crond-pihole | + | - 先確認可以在 host 執行更新< |
+ | docker exec pihole | ||
</ | </ | ||
- | - 修改 docker-compose.yml 將 etc-crond-pihole 註記取消, | + | - 在 host 建立 crontab 定義更新週期 |
- | : | + | |
- | services: | + | * 參考網址 |
- | pihole: | + | * 參考網址 - https:// |
- | | + | * 其實是可以設定, 只是無法直接透過 GUI 來處理 |
- | : | + | * 在 pi-hole v6 之後, 需要再 GUI 勾選 **misc.etc_dnsmasq_d** |
- | | + | * Settings->All settings-> |
- | : | + | * 手動處理程序如下: |
- | - './etc-crond-pihole:/etc/cron.d/pihole' | + | - 在 / |
- | : | + | - 在檔案內加入 address=/ |
- | </file> | + | - 重啟 |
- | - 修改 | + | docker compose restart |
- | : | + | </ |
- | # Pi-hole: Update the ad sources once a week on Sunday at a random time in the | + | - 透過 nslookup abc.lab.ichiayi.com 就可以看到回應的 IP 是 192.168.11.30 |
- | : | + | - 如何增加一筆 MX 的 DNS 紀錄 Exp. mail.ichiayi.com -> mail.ichiayi.com , 50 |
- | 16 4 * * * | + | |
- | : | + | * 其實是可以設定, |
- | </ | + | - 在 /etc/dnsmasq.d/ 目錄, 也就是對應出來的 / |
- | - 重新啟動 docker compose <cli> | + | - 在檔案內加入 mx-host=mail.ichiayi.com, |
- | docker compose up -d | + | - 重啟 |
+ | docker compose restart pihole | ||
+ | </cli> | ||
+ | - 透過 nslookup set type=mx mail.ichiayi.com 就可以看到回應 | ||
+ | - 當發現 pi-hole 內的 nslookup 查詢速度很緩慢(/etc/ | ||
+ | * 參考 - https:// | ||
+ | | ||
+ | : | ||
+ | ports: | ||
+ | - 53:53/udp | ||
+ | - 53:53/tcp | ||
+ | : | ||
+ | </ | ||
+ | : | ||
+ | ports: | ||
+ | - 172.16.0.245:53:53/udp | ||
+ | | ||
+ | : | ||
+ | </cli> | ||
+ | - 重啟 docker compse 即可解決 | ||
+ | - 當大量查詢 pi-hole DNS 服務, 結果出現 FTL is not running 異常狀況 | ||
+ | * 參考網址 - https://github.com/pi-hole/docker-pi-hole/issues/571 | ||
+ | * docker compose logs -f 持續出現 Stopping pihole-FTL 的訊息 | ||
+ | * docker exec pihole df -h | grep shm 出現 100% 表示 Share Memory 已經被大量 query 的紀錄塞爆 | ||
+ | * 可以透過修改 docker-compose.yml 內將 shm_size(預設是 64MB)加大來解決, | ||
+ | - 將 docker-compose.yml 內 # | ||
+ | - 重新啟動 docker compose < | ||
+ | - 確認修改是否成功 < | ||
+ | pve-dns:~# docker exec pihole df -h | grep shm | ||
+ | shm | ||
</ | </ | ||
+ | - 當設定 LocalDNS 後查詢還會取用到外部 DNS 回傳的 IPv6 的 IP 問題的解法 | ||
+ | * 參考 - https:// | ||
+ | - 當 pi-hole diagnosis 出現 Maximum number of concurrent DNS queries reached (max: 150) 這警告訊息 | ||
+ | * 先查看發生時間時段 / | ||
+ | * 如果確認有 Client 會正常大量查詢 DNS Exp. 監控系統 可以先將 Rate-limiting 調大 | ||
+ | * 在 Settings-> | ||
+ | * 如果是出現大量內部 IP 反查紀錄 Exp. query[PTR] 51.173.43.10.in-addr.arpa from 10.20.2.218 可試著設定不要回覆私有 IP 的反查 | ||
+ | * 在 Settings-> | ||
===== 參考網址 ===== | ===== 參考網址 ===== | ||
* https:// | * https:// | ||
行 134: | 行 192: | ||
* https:// | * https:// | ||
- | {{tag> | + | {{tag> |