站長最近有點忙所以寫點比較簡短但蠻實用的技巧教學文章,今天要談的是 Microsoft Azure,微軟的雲端服務,說起來這應該是微軟多年來各種雲端服務當中唯一比較成功的項目。
當我們使用 Azure 提供的虛擬機器 (Virtual Machine) 服務時會發現,在設定網路的時候雖然可以申請固定的 IP,但實際上並沒有提供可以設定 Reverse DNS (反解 DNS) PTR 紀錄的欄位,但我們都知道 PTR 紀錄基本上在架設虛擬主機服務伺服器、電子郵件伺服器等類型的伺服器是不可或缺的項目,沒有正確設定 PTR 會導致經常被退信的情況發生 (舉例來說 Gmail 就經常會把這類伺服器轉發的郵件退掉)。
前置準備
由於這項功能目前在 Azure 的管理介面 (網站 GUI) 中沒有提供,因此需要使用 Azure PowerShell 命令列來進行 (實際上這做法跟 Microsoft 官方的文件不太相符,官方文件只談怎麼在申請 IP 的時候同時設定 PTR 紀錄,並沒有教如何在 IP 已經確定之後要如何變更、設定 PTR 紀錄,不過弔詭的是實際上在建立虛擬機器的時候 Azure 就會自動申請 IP,因此這樣設計其實還蠻不符合正常人的思考方式的)。
Stage 1-確認 PowerShell 版本
安裝 Azure PowerShell 之前你會需要先安裝 1.3.0 或更高版本的 PowerShell,要知道目前系統上安裝的 PowerShell 版本你可以使用下列指令查詢:
[crayon-6769277678411443886146/]
以 Windows Server 2016 為例,內建的 PowerShell 版本為 5.1。
如果你的 PowerShell 版本太舊,請到這裡取得 5.0 版的 WMF,這是目前微軟公開提供的最新版本。
Stage 2-安裝 Azure PowerShell 模組
接下來要進行的是 Azure PowerShell 模組的安裝,相較於以往複雜的安裝程序來說,現在微軟用了 PowerShell Gallery 這東西所以可以很方便的透過指令直接安裝需要的模組,請依序執行下面兩個指令:
[crayon-676927767841e089213262/]
在執行過程中會彈出數次的安全性警告,請全部回答是 (Y)。
安裝會需要一點時間,請耐心等候。
Table of Contents
變更 PTR 紀錄
接下來就要實際進入變更 PTR 紀錄的過程囉,首先要進行的當然是 Azure 訂用帳號的登入與選擇。
Stage 3-選定訂用帳號
首先使用下面這個指令叫出 Azure 登入畫面
[crayon-6769277678420137570049/]
備註:首次使用可能會出現下面這個畫面,大意上是詢問你要不要提供匿名統計數據給微軟用於改進 Azure PowerShell,請自行決定要回答是 (Y) 或否 (N)。
登入完成之後會將此帳號下的所有 Azure 訂用帳戶列出 (一般來說只有一個),如果你的帳號有多個訂用帳戶的話請記住 Subscription ID 後面的 UUID,並使用 select-azurermsubscription -SubsciptionID <你的 Subscription ID> 選擇要使用的訂用帳戶。
Stage 4-修改 PTR 紀錄
接下來請輸入下面的指令建立一個指向你想修改之 IP 位置的物件:
[crayon-6769277678422989047881/]
之後使用下面這個指令指定 PTR 紀錄要指向哪裡:
[crayon-6769277678425396297618/]
最後使用下面這個指令儲存設定即可:
[crayon-6769277678427408730408/]
若成功更新反解紀錄,將會出現如下圖的 IP 設定詳情,請檢查 ReverseFqdn 的部分是否正確設定為反解紀錄。
遇到問題了嗎?
絕大多數人在跟著本篇的操作過程進行 PTR 紀錄設定的時候,最有可能遇到的問題大概就是下圖的錯誤訊息了:
基本上這個訊息是指你設定的 PTR 紀錄沒有達到下列條件因此不被系統接受:
- Azure 要求設定反解紀錄之前得先有正解,因此請先確定 Ping 你設定的網域名稱時是可以連到你要設定反解紀錄的這組 IP 位置的 (實際上同訂用帳戶下的任一個 IP 位置也行)。
- 如果沒辦法設定正解紀錄,設 CNAME 紀錄也行。
以微軟官方的說法而言,上面這些限制是為了確保你確實擁有對你設定 PTR 網域的完整掌控權。