差異處
這裏顯示兩個版本的差異處。
| 兩邊的前次修訂版 前次修改 下次修改 | 前次修改 | ||
| tech:pihole_unbound [2023/11/03 10:32] – [驗證成效] 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: | ||
| 行 45: | 行 64: | ||
| dns_net: | dns_net: | ||
| ipv4_address: | ipv4_address: | ||
| - | | + | volumes: |
| #- ./ | #- ./ | ||
| + | - ./ | ||
| ports: | ports: | ||
| - " | - " | ||
| - " | - " | ||
| healthcheck: | healthcheck: | ||
| - | disable: | + | disable: |
| - | restart: | + | restart: |
| </ | </ | ||
| * 啟動服務 <cli> | * 啟動服務 <cli> | ||
| 行 64: | 行 84: | ||
| ===== 驗證成效 ===== | ===== 驗證成效 ===== | ||
| * 使用 https:// | * 使用 https:// | ||
| - | * 可以參考 https:// | + | * 可以參考 https:// |
| + | * 可以參考 https:// | ||
| + | * 可以參考 [[tech/ | ||
| ===== FAQ ===== | ===== FAQ ===== | ||
| 行 100: | 行 122: | ||
| docker compose up -d | docker compose up -d | ||
| </ | </ | ||
| - | + | - 如何調整自動更新週期 | |
| + | * 參考 : | ||
| + | * < | ||
| + | * [[https:// | ||
| + | - 先確認可以在 host 執行更新< | ||
| + | docker exec pihole pihole updateGravity | ||
| + | </ | ||
| + | - 在 host 建立 crontab 定義更新週期 | ||
| + | - 如何增加一筆 wildcard 的 DNS 紀錄 Exp. *.lab.ichiayi.com -> 192.168.11.30 | ||
| + | * 參考網址 - https:// | ||
| + | * 參考網址 - https:// | ||
| + | * 其實是可以設定, | ||
| + | * 在 pi-hole v6 之後, 需要再 GUI 勾選 **misc.etc_dnsmasq_d** | ||
| + | * Settings-> | ||
| + | * 手動處理程序如下: | ||
| + | - 在 / | ||
| + | - 在檔案內加入 address=/ | ||
| + | - 重啟 pihole-FTL 服務 < | ||
| + | docker compose restart pihole | ||
| + | </ | ||
| + | - 透過 nslookup abc.lab.ichiayi.com 就可以看到回應的 IP 是 192.168.11.30 | ||
| + | - 如何增加一筆 MX 的 DNS 紀錄 Exp. mail.ichiayi.com -> mail.ichiayi.com , 50 | ||
| + | * 參考網址 - https:// | ||
| + | * 其實是可以設定, | ||
| + | - 在 / | ||
| + | - 在檔案內加入 mx-host=mail.ichiayi.com, | ||
| + | - 重啟 pihole-FTL 服務 < | ||
| + | docker compose restart pihole | ||
| + | </ | ||
| + | - 透過 nslookup set type=mx mail.ichiayi.com 就可以看到回應 | ||
| + | - 當發現 pi-hole 內的 nslookup 查詢速度很緩慢(/ | ||
| + | * 參考 - https:// | ||
| + | - 將 docker-compose.yml 內的< | ||
| + | : | ||
| + | ports: | ||
| + | - 53:53/udp | ||
| + | - 53:53/tcp | ||
| + | : | ||
| + | </ | ||
| + | : | ||
| + | ports: | ||
| + | - 172.16.0.245: | ||
| + | - 172.16.0.245: | ||
| + | : | ||
| + | </ | ||
| + | - 重啟 docker compse 即可解決 | ||
| + | - 當大量查詢 pi-hole DNS 服務, 結果出現 FTL is not running 異常狀況 | ||
| + | * 參考網址 - https:// | ||
| + | * 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:// | ||
| 行 106: | 行 192: | ||
| * https:// | * https:// | ||
| - | {{tag> | + | {{tag> |