イントロ:

イントロ:

PTR レコードをチェックして、スクリプトが実際にユーザーに受信される電子メールを送信しており、誤ってスパムとしてマークされていないことを確認する必要があります。

IP 範囲を所有する ISP が PTR レコードを設定する必要があることは理解していますが、すでに設定されているかどうかを確認するにはどうすればよいですか?

答え1

あなたが持っている場合UnixまたはLinuxコマンドプロンプトで次のように入力することでこれを実行できます。

dig -x xx.yy.zz.aa

aa.zz.yy.xx.in-addr.arpa の権限と、このアドレスに解決されるサーバーを含む応答が返されます。

ウィンドウズできるよnslookup xx.yy.zz.aa

確認することもできますオンラインホームページドメインを入力します...逆ゾーン検索をチェックした結果にエラーが表示されます。

xx.yy.zz.aa = 解決しようとしている IP アドレス


アップデート:

dig、nslookup、または host を使用する場合、Google (8.8.8.8) などの管理外の DNS サーバーを使用すると、サードパーティから正しいことの確認が得られるため便利です。 –ゾレダチェ

ゾレダチェ いい指摘ですね。外部/外部 DNS サーバーをテスト/解決するためのコマンドは次のとおりです。

Dig (Google の DNS サーバー 8.8.8.8 で逆 DNS をテスト):

dig -x zz.yy.xx.aa @8.8.8.8

ホストと Nslookup (Google の DNS サーバー 8.8.8.8 で逆 DNS をテスト)

nslookup zz.yy.xx.aa 8.8.8.8
host zz.yy.xx.aa 8.8.8.8

答え2

これは回答済みとしてマークされていると承知していますが、より包括的な回答を提供したいと思います。例として以下を使用します。

  1. Google COMのIPアドレス172.217.3.206なぜならするPTRレコードを持っている。
  2. このサイトについてのIPアドレス151.101.1.69なぜならではないPTRレコードを持っている。

まず注目すべきは、digマルチプラットフォームのコマンドであり、Windows用のコマンドはISC BINDウェブサイトBIND の下にリストされているツールを選択し、Windows プラットフォーム (32 ビットまたは 64 ビット) を選択します。独自の nslookup バイナリを含む他の多くのツールがあります。私はその nslookup.exe バージョンは使用せず、代わりに Windows に付属するデフォルトのバージョン (C:\Windows\System32\nslookup.exe) を使用します。ただし、使用したい場合は、ローカル PATH 環境変数を編集するか、ツールを C:\Windows\System32 フォルダーにdig移動する必要があります。dig

コマンド 1) dig PTR 206.3.217.172.in-addr.arpa- 従来、これはユーザーが逆 DNS ルックアップを実行する方法です。手動で IP アドレスを転置し(4 つのオクテットの順序172.217.3.206に注意)、文字列の末尾に追加します。出力は次のとおりです。206.3.217.172in-addr.arpa

; <<>> DiG 9.9.5 <<>> PTR 206.3.217.172.in-addr.arpa
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39790
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;206.3.217.172.in-addr.arpa.    IN      PTR

;; ANSWER SECTION:
206.3.217.172.in-addr.arpa. 84300 IN    PTR     sea15s12-in-f206.1e100.net.
206.3.217.172.in-addr.arpa. 84300 IN    PTR     sea15s12-in-f14.1e100.net.
206.3.217.172.in-addr.arpa. 84300 IN    PTR     sea15s12-in-f14.1e100.net.
206.3.217.172.in-addr.arpa. 84300 IN    PTR     sea15s12-in-f206.1e100.net.

;; Query time: 23 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sun Mar 26 04:20:28 Pacific Daylight Time 2017
;; MSG SIZE  rcvd: 153

コマンド 2) dig -x 172.217.3.206- このコマンドのバージョンははるかに単純で、で説明されているようにdig -h-xフラグは「逆引きのショートカット」です。出力は、上記の前のコマンドの出力と同じです。

コマンド 3) dig -x 151.101.1.69- この例では、serverfault.com の例を使用して、PTR レコードが見つからない場合の様子を示しています。ご覧のとおり、回答には PTR がリストされておらず、次の SOA レコードのみが見つかります151.in-addr.arpa

; <<>> DiG 9.9.5 <<>> -x 151.101.1.69
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 21854
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;69.1.101.151.in-addr.arpa.     IN      PTR

;; AUTHORITY SECTION:
151.in-addr.arpa.       1786    IN      SOA     pri.authdns.ripe.net. dns.ripe.net. 1490512027 3600 600 864000 3600

;; Query time: 23 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sun Mar 26 04:30:38 Pacific Daylight Time 2017
;; MSG SIZE  rcvd: 114

コマンド4) nslookup 172.217.3.174- これはユーザーが提案したコマンドですいいえこのスレッドの主な回答で、確かに結果がありますが、これが PTR レコードなのか、他の種類のレコードなのかは不明です。IP が指定されている場合はデフォルトで PTR が返されると思いますが、それでも確認しておきたいと思います。また、複数の PTR がある場合は他のレコードが省略されます。

Server:  google-public-dns-a.google.com
Address:  8.8.8.8

Name:    sea15s11-in-f14.1e100.net
Address:  172.217.3.174

コマンド 5) nslookup -debug 172.217.3.174- レコード タイプと結果の完全なリストを含む完全なリストを表示するには、代わりにこのコマンドを使用します。-debugフラグは保持されるため、オフにするには、以下を使用する必要があります-nodebug

------------
Got answer:
    HEADER:
        opcode = QUERY, id = 1, rcode = NOERROR
        header flags:  response, want recursion, recursion avail.
        questions = 1,  answers = 1,  authority records = 0,  additional = 0

    QUESTIONS:
        8.8.8.8.in-addr.arpa, type = PTR, class = IN
    ANSWERS:
    ->  8.8.8.8.in-addr.arpa
        name = google-public-dns-a.google.com
        ttl = 86141 (23 hours 55 mins 41 secs)

------------
Server:  google-public-dns-a.google.com
Address:  8.8.8.8

------------
Got answer:
    HEADER:
        opcode = QUERY, id = 2, rcode = NOERROR
        header flags:  response, want recursion, recursion avail.
        questions = 1,  answers = 4,  authority records = 0,  additional = 0

    QUESTIONS:
        174.3.217.172.in-addr.arpa, type = PTR, class = IN
    ANSWERS:
    ->  174.3.217.172.in-addr.arpa
        name = sea15s11-in-f14.1e100.net
        ttl = 83026 (23 hours 3 mins 46 secs)
    ->  174.3.217.172.in-addr.arpa
        name = sea15s11-in-f174.1e100.net
        ttl = 83026 (23 hours 3 mins 46 secs)
    ->  174.3.217.172.in-addr.arpa
        name = sea15s11-in-f14.1e100.net
        ttl = 83026 (23 hours 3 mins 46 secs)
    ->  174.3.217.172.in-addr.arpa
        name = sea15s11-in-f174.1e100.net
        ttl = 83026 (23 hours 3 mins 46 secs)

------------
Name:    sea15s11-in-f14.1e100.net
Address:  172.217.3.174

コマンド 6) nslookup -type=PTR 172.217.3.174- このバージョンのコマンドは、-typeフラグ付きの PTR レコードを指定します。フラグなしのバージョンとは-type2 つの点で異なります。1 つ目は、すべての PTR 回答をリストすることです。2 つ目は、他のコマンドが含めなかった「非権限回答」という情報が含まれていることです。上記のデバッグ出力を注意深く見ると、状態はauthority records0 なので、これらのコマンドは両方とも「非権限回答」と表示されるはずです。

Server:  google-public-dns-a.google.com
Address:  8.8.8.8

Non-authoritative answer:
174.3.217.172.in-addr.arpa      name = sea15s11-in-f14.1e100.net
174.3.217.172.in-addr.arpa      name = sea15s11-in-f14.1e100.net
174.3.217.172.in-addr.arpa      name = sea15s11-in-f174.1e100.net
174.3.217.172.in-addr.arpa      name = sea15s11-in-f174.1e100.net

コマンド 7) nslookup -debug -d2 -type=PTR 151.101.1.69- 完全な逆引き検索要求について可能な限り詳細を取得する方法は次のとおりです。注意: これをオフにするには、-nodebugと を使用します-nod2。この例では、serverfault.com の例では意図的に失敗しています。

------------
SendRequest(), len 38
    HEADER:
        opcode = QUERY, id = 1, rcode = NOERROR
        header flags:  query, want recursion
        questions = 1,  answers = 0,  authority records = 0,  additional = 0

    QUESTIONS:
        8.8.8.8.in-addr.arpa, type = PTR, class = IN

------------
------------
Got answer (82 bytes):
    HEADER:
        opcode = QUERY, id = 1, rcode = NOERROR
        header flags:  response, want recursion, recursion avail.
        questions = 1,  answers = 1,  authority records = 0,  additional = 0

    QUESTIONS:
        8.8.8.8.in-addr.arpa, type = PTR, class = IN
    ANSWERS:
    ->  8.8.8.8.in-addr.arpa
        type = PTR, class = IN, dlen = 32
        name = google-public-dns-a.google.com
        ttl = 86280 (23 hours 58 mins)

------------
Server:  google-public-dns-a.google.com
Address:  8.8.8.8

------------
SendRequest(), len 43
    HEADER:
        opcode = QUERY, id = 2, rcode = NOERROR
        header flags:  query, want recursion
        questions = 1,  answers = 0,  authority records = 0,  additional = 0

    QUESTIONS:
        69.1.101.151.in-addr.arpa, type = PTR, class = IN

------------
------------
Got answer (103 bytes):
    HEADER:
        opcode = QUERY, id = 2, rcode = NXDOMAIN
        header flags:  response, want recursion, recursion avail.
        questions = 1,  answers = 0,  authority records = 1,  additional = 0

    QUESTIONS:
        69.1.101.151.in-addr.arpa, type = PTR, class = IN
    AUTHORITY RECORDS:
    ->  151.in-addr.arpa
        type = SOA, class = IN, dlen = 48
        ttl = 1787 (29 mins 47 secs)
        primary name server = pri.authdns.ripe.net
        responsible mail addr = dns.ripe.net
        serial  = 1490512027
        refresh = 3600 (1 hour)
        retry   = 600 (10 mins)
        expire  = 864000 (10 days)
        default TTL = 3600 (1 hour)

------------
*** google-public-dns-a.google.com can't find 69.1.101.151.in-addr.arpa.: Non-ex
istent domain

コマンド 8) -コマンド 1 で を使用したのと同じように、nslookup 174.3.217.172.in-addr.arpaを使用した従来の逆 DNS ルックアップ方法を使用できるかどうか疑問に思うかもしれません。 使用できます。このコマンドと、下記のフラグが設定されたコマンド (コマンド 9) の間には、上記 (コマンド 6) でリストしたのと同じ nslookup の失敗があることに注意してください。nslookupdig-type=PTR

Server:  google-public-dns-a.google.com
Address:  8.8.8.8

Name:    174.3.217.172.in-addr.arpa

コマンド 9) nslookup -type=PTR 174.3.217.172.in-addr.arpa- ご想像のとおり、コマンド 6 とまったく同じです。

Server:  google-public-dns-a.google.com
Address:  8.8.8.8

Non-authoritative answer:
174.3.217.172.in-addr.arpa      name = sea15s11-in-f14.1e100.net
174.3.217.172.in-addr.arpa      name = sea15s11-in-f14.1e100.net
174.3.217.172.in-addr.arpa      name = sea15s11-in-f174.1e100.net
174.3.217.172.in-addr.arpa      name = sea15s11-in-f174.1e100.net

答え3

これはあらゆる種類の DNS ルックアップを実行するのと同じです。

Windows コマンド プロンプトから:nslookup.exe <ip address>

Linux コマンドラインから:host <ip address>

注: パブリック DNS サーバーにアクセスするには、ネットワーク外のコンピューターからこれらのコマンドを実行するのが最適です。または、nslookup と host の両方で、使用する DNS サーバーを指定する方法も提供されています。

答え4

イントロ:

(2) IPv4 用と IPv6 用の 2 つの例。IPv6
PTR 検索手順では、答えを見つけるのに長い時間がかかりました...

IPv4:

IPv4 の例では、Google の IP を使用します。

host -t PTR 209.85.218.49

逆マッピングを返します:

49.218.85.209.in-addr.arpa domain name pointer mail-ej1-f49.google.com.

IPv6:

ステップ1: ホスト(通常はメールサーバー)の IPv6 アドレスを取得します。

host -t AAAA mail.yourServer.net

これにより、次のステップの PTR 検索に必要な IPv6 アドレスが返されます。

mail.yourServer.net has IPv6 address 2001:340:1c1e:14::2

ステップ2:次に、コマンドに IPv6 アドレスを指定しますhost

host -t PTR 2001:340:1c1e:14::2

IPv6 PTR レコードを返します:

2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.4.1.0.0.e.1.c.1.0.4.3.0.1.0.0.2.ip6.arpa domain name pointer mail.yourServer.net.

注記: IPv6 アドレスは匿名化されています。

ハリケーン・エレクトリックが私に無料の IPv6 ブロック、私は逆IPv6 DNSを直接設定しましたDNSコントロールパネルメールサーバー用。

逆 IPv6 ジェネレーター:

明らかに、上記の IPv6 PTR レコードは少々おかしなものです。面倒なので、私は逆 IPv6 ジェネレーターを使用してメール サーバー用に作成しました。他にも方法はありますが、逆 IPv6 の正しい値を導き出すために次のものを使用しました。

https://www.whatsmydns.net/reverse-dns-generator

関連情報