--
用 DNS 偵測服務異常切換是否可行?
如以下這個提問
從很久以前 Hoyo 就在找這個問題的答案,可惜的是遇人不淑全部的人都說這是不可能的 (到 2023 年 2 月),直到有一天好奇 DNS Server 是否有資料庫版本,這樣就可以直接修改資料庫來設定,設定 SSL 通配網域就簡單多了。這讓 Hoyo 找到了 PowerDNS,這才覺得自己花了快 20 年用 BIND 都是在浪費生命
PowerDNS 讓多機備援輕鬆的變成可能,原來的系統架構完全不需要改變就可以加上備援等功能,從現在開始拋棄 BIND 吧。
--
參考資源
- 【工具】PowerDNS最新4.6版的安装及使用
- [開源] PowerDNS 架設
- Getting Started — PowerDNS Recursor documentation
- Installing PowerDNS (With MySQL Backend) And Poweradmin On Debian Etch
- Easily Install and Setup PowerDNS on Ubuntu 20.04
--
安裝
匯入 PowerDNS 需要的資料庫結構
Hoyo 忘記當時為什麼不使用 docker 版本要直接安裝在主機上,可能是當時官方的 docker 看起來很奇怪!?
--
設定
/etc/powerdns/pdns.d/gmysql.conf
--
錯誤檢查
檢查 webserver api
檢查網域設定
--
使用 pdnsutil 指令管理
增加 record
新增 TXT 需要注意使用單引號包住雙引號的內容
-
PowerDNS-Admin
- GitHub - PowerDNS-Admin/PowerDNS-Admin: A PowerDNS web interface with advanced features
- ngoduykhanh/powerdns-admin
第一次使用使用「Create an account」建立第一個帳號
進入後到 Settings → PDNS 設定連線資訊
- PDNS API URL : 設定 PowerDNS 主機
- PDNS API KEY : key 設定在 /etc/powerdns/pdns.d/gmysql.conf 內
成功的話,進入 PDNS 應該可以看到主機運作狀態
--
RRset blog.hoyo.idv.tw. IN A: Conflicts with pre-existing RRset
PowerDNS 有一個 bug:CNAME 的網址設定 TXT 是無法查詢的,必須設定為 A 才行,可是 PowerDNS-Admin 會檢查相同 IP 必須使用 CNAME,必須直接到資料庫修改
--
--
- 【网络】PowerDNS的安装和使用:1.安装
- 【网络】PowerDNS的安装和使用:2.主从
- 【网络】PowerDNS的安装和使用:3.动态解析
- 【网络】PowerDNS的安装和使用:4.递归
- PowerDNS Lua Records
啟用 LUA
增加紀錄
PowerDNS 會以 80 port 為判斷依據,80 port 不回應就不提供解析,所以 ping 也只能 ping 到 80 port 正常的網站
--
--
--
Failed to start PowerDNS Authoritative Server
查看錯誤訊息,必須使用 stop & start 才看得到真實的錯誤
從錯誤訊息看到是 Failed to start PowerDNS Authoritative Server. 查詢之後發現是 systemd-resolved 佔用了 UDP 53 port
重新啟動 systemd-resolved.service 服務
重新啟動 PowerDNS 服務
--
2,375 total views, 1 views today