PowerDNS

7 月 17, 2023

--

用 DNS 偵測服務異常切換是否可行?

如以下這個提問

從很久以前 Hoyo 就在找這個問題的答案,可惜的是遇人不淑全部的人都說這是不可能的 (到 2023 年 2 月),直到有一天好奇 DNS Server 是否有資料庫版本,這樣就可以直接修改資料庫來設定,設定 SSL 通配網域就簡單多了。這讓 Hoyo 找到了 PowerDNS,這才覺得自己花了快 20 年用 BIND 都是在浪費生命

PowerDNS 讓多機備援輕鬆的變成可能,原來的系統架構完全不需要改變就可以加上備援等功能,從現在開始拋棄 BIND 吧。

--

參考資源

--

安裝

 

匯入 PowerDNS 需要的資料庫結構

Hoyo 忘記當時為什麼不使用 docker 版本要直接安裝在主機上,可能是當時官方的 docker 看起來很奇怪!?

--

設定

/etc/powerdns/pdns.d/gmysql.conf

--

錯誤檢查

檢查 webserver api

檢查網域設定

--

使用 pdnsutil 指令管理

增加 record

新增 TXT 需要注意使用單引號包住雙引號的內容

-

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,因此必須直接到資料庫修改

--

--

 

啟用 LUA

增加紀錄

PowerDNS 會以 80 port 為判斷依據,80 port 不回應就不提供解析,所以 ping 也只能 ping 到 80 port 正常的網站

 

--

--

 

--

Failed to start PowerDNS Authoritative Server

查看錯誤訊息,必須使用 stop & start 才看得到真實的錯誤

然後才發現是 systemd-resolved 佔用了 UDP 53 port

重新啟動 systemd-resolved.service 服務

重新啟動 PowerDNS 服務

--

 529 total views,  2 views today

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。