- - PR -
メール送信できないドメインについて
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-05-11 17:42
お世話になります。
あるドメイン(example.com)にメールが出せてなくて困っています。 そこでメール送信(名前解決)に仕組みについて教えてください。 nslookコマンド以下のようにexample.comのMXレコードを確認すると #------------------------------- >set type=MX >example.com (使用しているDNSサーバ) example.com primary name server = ns.example.com resposible mail addr = hostmaster.example.com serial ・・・ (以下省略 ) #------------------------------- と返信されます。 通常、MXレコードを参照すると example.com MX preference = 10, mail exchanger = mail.example.com このような形でMXレコードが表示されると思うのですが、上記のように example.comのMXレコードはありませんでした。 そこで、example.comの管理者にDNSのMXレコードを確認するように連絡したところ、 その他の社外からのメールは受信できているというのです。 そこで確認するために、yahooメールからexample.comにメールを出すと、 正常にexample.comに送信することができました。 私は、MXレコードが解決できなければメール送信できないと理解していたのですが、 MXレコードが解決できなくてもメールは送信できるものなのでしょうか? またはyahooが利用しているDNSはexample.comのMXレコードを解決できているということしょうか? よろしくお願い致します。 | ||||
|
投稿日時: 2006-05-11 20:50
RFC2821の「5. Address Resolution and Mail Handling」では、
MXレコードがひとつも存在しない場合にはAレコードを "implicit MX" として扱うことが述べられています。 なので、Aレコードしか存在しなくてもメール送信は可能です。 ですが、こういうやり方を好ましくないとして、MXレコードが存在しない 場合にはメールを送らない設定が可能な(デフォルトでそうなってたり) MTAもあります。 MXレコードを登録してないのは如何なものかとは思いますが、相手側の 管理者がやってることが「完全に間違ってる」というわけではありません。 | ||||
|
投稿日時: 2006-05-12 09:37
ぽんすさんありがとうございます。大変参考になります。
MXレコードが無くてもメール送信できるのですね。 実環境は怖いので、一度プライベートで検証してみます。 その後ですが、example.comのDNS登録を疑ってみました。 example.comを誤った内容を登録しているDNSサーバ(A)と、正確に登録している DNSサーバ(B)があった場合、今回のトラブルのような メール送信が正常にできるドメインと、できないドメインが出てくるのでは ないかと考えました。 example.comドメインの管理者にもう一度DNS登録について確認依頼をする前に、 自前のDNSのキャッシュをクリアして検証を取りたいと考えています。 #-----DNSサーバ-----# bind-9.1.2 #-------------------# DNSのプロセスを再起動→キャッシュをクリア→nslookupコマンドでexample.comを確認 と考えているのですが、同様にDNSサーバ(B)を参照してしまう場合が予想されます。 DNSプロセスを何度も再起動できない環境の場合、確実にDNSサーバ(A)を参照する ためにはどのようにすればよいでしょうか? または、現状と異なるDNSサーバを参照する方法はどのようにすればよいでしょうか? よろしくお願い致します。 | ||||
|
投稿日時: 2006-05-12 11:20
nslookupの第2引数で参照するDNSサーバを指定してあげればよいのでは? nslookup -type=mx sample.com を nslookup -type=mx sample.com ns.example.com みたいに。 もしくは、インタラクティブモードなら、 server <server名/ipアドレス> とすれば、参照先DNSサーバを切り替えられます。 | ||||
|
投稿日時: 2006-05-12 14:06
Uchikoshiさんありがとうございます。
example.comにyahooからメール送信できることから、nslookupコマンドでyahooのDNSを 指定できればおそらくexample.comドメインのMXレコードを参照できると思うのですが、 ゾーン転送を許可されていないため、MXレコードが参照できません。 自分たちのネットワークから、example.comのMXレコードを正常に返答する DNSサーバを見つける方法はありませんでしょうか? (セキュリティの観点からこのようなこと難しいですよね。) または自前のDNSサーバがexample.comドメインを解決時に、別ルートを選択するような 方法はありませんでしょうか? よろしくお願い致します。 | ||||
|
投稿日時: 2006-05-12 15:59
nslookup -type=mx sample.com ns.example.com というコマンドでは、ゾーン転送は使用していません。通常のDNS 参照が行われています。ですので、これでレコードが表示 されないということなら、本当に定義されていない可能性が 大です(途中でウイルスチェッカやファイアウォールがわざと ドロップしているのでなければ、ですが)。 nslookupでは、lsコマンドを使ったときだけ、ゾーン転送が行われていたと思います。 参考情報: ・nslookup http://www.atmarkit.co.jp/fnetwork/netcom/nslookup/nslookup.html | ||||
|
投稿日時: 2006-05-12 16:26
あっ、なんか違うこと書いてたような気がする。
Yahooのネームサーバを使いたいというのは、 「Yahooが内部からメールを送信するときに使用している、Yahoo内部のフルサービスリゾルバ」のことですか? さすがに、そういうのは、組織外部からのアクセスは禁止されているでしょうから、ムリだと思います。 ・ネームサーバの3つの働きとは http://www.atmarkit.co.jp/fnetwork/dnstips/005.html ところでYahoo以外からのメールはどうなんでしょうか? Yahooからしか送れないのですか? あと、現在お使い中のプロバイダのDNSサーバをnslookupで指定して、アクセスしてみる、とかいうのは? | ||||
|
投稿日時: 2006-05-12 17:00
Uchikoshiさんご親切に何度もありがとうございます。
知人にお願いして別のドメインから試みましたが、送信できませんでした。 ですので私が確認できているのは、yahooからだけです。 私どもが契約しているプロバイダのDNSを指定してメール送信してみましたがやはりダメでした。 何とか自前のDNSサーバがexample.comドメインを解決時に、別ルートを選択させたい のですが、そのような方法はないのでしょうか? よろしくお願い致します。 |