解:使用PowerDNS 4.x
PowerDNS 4之後開始支援Alias,可以在網域頂層設置類似CNAME的Alias。在文件中提到,要使用Alias需要在pdns.conf中設置recursor這項,指定遞迴查詢的名稱伺服器, 但是這會有個副作用,假設PowerDNS有一筆紀錄是
aaa.example.org. IN CNAME bbb.example.org.但是在正式運作的網域裡頭,有設置一筆A record
aaa.example.org. IN A xxx.xxx.xxx.xxx用DNS查詢工具去查詢PowerDNS有關aaa.example.org的紀錄時,只會得到A record而不會出現CNAME。要解決這個問題,需要安裝PowerDNS Recursor。詳細設定如下:
pdns.conf(PowerDNS的設定檔)
recursor=127.0.0.1:5300 #指定查詢的DNS為本機上安裝的PowerDNS Recursor。
recursor.conf(PowerDNS Recursor的設定檔)
local-address=[::1] 127.0.0.1 #如果沒用到IPv6可以把[::1]拿掉要使用forward-zones而不是forward-zones-recurse,如同字面上的意思forward-zones-recurse會進行遞迴查詢而導致迴圈。
local-port=5300 #預設是53,會跟已安裝的PowerDNS衝突
forward-zones=example.org=127.0.0.1 #轉送查詢的網域與伺服器,格式是 網域=伺服器ip,多個網域以逗點分隔