LoginSignup
2
0

More than 3 years have passed since last update.

Azureにて、IP→ドメインの逆引き設定をする

Last updated at Posted at 2019-10-17

Azure上のホストから送ったメールがrejectされる

Azure上にサーバを構築し、定期的にメールを送信する機能を実装。Azure単体ではメール送信できないため、送信する部分はSendGridを利用。

参考:
Azureではメール送信できないし、メールサーバもつくれない

cronで定時にメールを送っていたら、ある相手のサーバから、弾かれる。mail.logを見ると、(見やすいように改行入れています)

Oct 16 19:09:01 (ホスト名) postfix/smtp[57917]:
 A8D14809EC: to=<xxxxxxx>, relay=xxxxx[xxx.xxx.xxx]:25, (省略)
 status=deferred (host xxxxx.xx.xx.jp[xxx.xxx.xx.xxx] 
refused to talk to me: 450 4.7.1 Client host rejected: 
cannot find your reverse hostname, [自ホストのIP])

IPからホスト名を逆引きできないので弾きましたと。

まぁ、そうだね。逆引き設定しておこう。と思ったら、結構手こずりました。

Azure Portal で DNSゾーン編集

すでに、該当ホストにてSendgrid用の設定や、その他DNSゾーンの設定を行っていたので、そこにPTRレコードを追加する。(PTRレコードの書き方については省略)

PTRレコードとは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

よっしゃできたー!と思ったら、、、

何時間経っても逆引きできない:skull:

逆引きできるかできないかの確認は、nslooupで、ipを入力してhostが帰ってくればOK。

Azure Portalだけでは、逆引き設定を完了できない

いろいろ調べたら驚きの記述が。

Azure でホストされているサービスの逆引き DNS を構成する より、

Azure Portal を使った PublicIpAddress リソースの逆引き DNS の構成は、現在はサポートされていません。

ではどうするか。Power Shellか、Azure CLIを使ってコマンドで設定を変更する必要がある(やだなぁ~こわいな~:ghost:

Azure Portal > Azure CLIにてコマンド投入

Azure Portalの右上のコンソールアイコンから、Cloud Shellを開く。(Cloud Shellを初めて使う場合は、その分のstorageを最初に作る)

Cloud Shellは、Bashか、PowerShellかを選択可能。今回はBashを選択。

Requesting a Cloud Shell.Succeeded.
Connecting terminal...

Welcome to Azure Cloud Shell

Type "az" to use Azure CLI
Type "help" to learn about Cloud Shell

(アカウント名)@Azure:~$

次に、Azure でホストされているサービスの逆引き DNS を構成する をより

$ az network public-ip update --resource-group MyResourceGroup 
  --name PublicIp --reverse-fqdn contosoapp1.westus.cloudapp.azure.com.

を参考にして、自分のリソース名に置き換える

$ az network public-ip update --resource-group (リソースグループ名) 
  --name (パブリックIPアドレスのリソース名) --reverse-fqdn (逆引きしたいホスト名)

この--name欄が、PublicIpと書いてるので、最初IPアドレスを入れていたが、IPアドレスではなく、IPアドレスのリソース名を指定する必要がある(分かりづらい)

実行結果は、

The domain name label in the dnsSettings section of 
the public IP address (IPリソース名) is null or empty. 
If a dnsSettings section exists, its domain name label must not be null or empty.

Azure Portalで"パブリックIPアドレス"リソースを編集

逆引きの元となるIPを管理しているパブリックIPアドレスのリソースを開き「構成」メニューを開く。

DNS名ラベル(オプション)

があるので、そこに自ホスト名を入力し保存。再度、コマンド投入

$ az network public-ip update --resource-group (リソースグループ名) 
  --name (パブリックIPアドレスのリソース名) --reverse-fqdn (逆引きしたいホスト名)

JSONのレスポンスがわーっと出てきたら成功。

nslookupやdigコマンドにて、IPアドレスからホスト名が引けたら設定完了:joy:

Azure上のホストからIP→ホスト名の逆引き設定を行うための要点

  • Azure Potarl上のDNSゾーン編集では、逆引き設定(PTR)が出来ない
  • azコマンドの--name には、IPアドレスではなく、パブリックIPアドレスのリソース名を指定する
  • パブリックIPアドレス リソース中にて、DNSラベル名を設定する

以上です。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0