- PR -

メール送信できないドメインについて

投稿者投稿内容
nannan
会議室デビュー日: 2005/08/17
投稿数: 11
投稿日時: 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レコードを解決できているということしょうか?

よろしくお願い致します。
ぽんす
ぬし
会議室デビュー日: 2003/05/21
投稿数: 1023
投稿日時: 2006-05-11 20:50
RFC2821の「5. Address Resolution and Mail Handling」では、
MXレコードがひとつも存在しない場合にはAレコードを "implicit MX"
として扱うことが述べられています。
なので、Aレコードしか存在しなくてもメール送信は可能です。

ですが、こういうやり方を好ましくないとして、MXレコードが存在しない
場合にはメールを送らない設定が可能な(デフォルトでそうなってたり)
MTAもあります。

MXレコードを登録してないのは如何なものかとは思いますが、相手側の
管理者がやってることが「完全に間違ってる」というわけではありません。
nannan
会議室デビュー日: 2005/08/17
投稿数: 11
投稿日時: 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サーバを参照する方法はどのようにすればよいでしょうか?

よろしくお願い致します。
Uchikoshi
@ITエディタ
会議室デビュー日: 2001/07/27
投稿数: 197
投稿日時: 2006-05-12 11:20
引用:

nannanさんの書き込み (2006-05-12 09:37) より:
DNSプロセスを何度も再起動できない環境の場合、確実にDNSサーバ(A)を参照する



nslookupの第2引数で参照するDNSサーバを指定してあげればよいのでは?

nslookup -type=mx sample.com

nslookup -type=mx sample.com ns.example.com
みたいに。

もしくは、インタラクティブモードなら、

server <server名/ipアドレス>

とすれば、参照先DNSサーバを切り替えられます。
nannan
会議室デビュー日: 2005/08/17
投稿数: 11
投稿日時: 2006-05-12 14:06
Uchikoshiさんありがとうございます。
引用:

nslookupの第2引数で参照するDNSサーバを指定してあげればよいのでは?
nslookup -type=mx sample.com ns.example.com


example.comにyahooからメール送信できることから、nslookupコマンドでyahooのDNSを
指定できればおそらくexample.comドメインのMXレコードを参照できると思うのですが、
ゾーン転送を許可されていないため、MXレコードが参照できません。

自分たちのネットワークから、example.comのMXレコードを正常に返答する
DNSサーバを見つける方法はありませんでしょうか?
(セキュリティの観点からこのようなこと難しいですよね。)

または自前のDNSサーバがexample.comドメインを解決時に、別ルートを選択するような
方法はありませんでしょうか?

よろしくお願い致します。
Uchikoshi
@ITエディタ
会議室デビュー日: 2001/07/27
投稿数: 197
投稿日時: 2006-05-12 15:59
引用:

nannanさんの書き込み (2006-05-12 14:06) より:
example.comにyahooからメール送信できることから、nslookupコマンドでyahooのDNSを
指定できればおそらくexample.comドメインのMXレコードを参照できると思うのですが、
ゾーン転送を許可されていないため、MXレコードが参照できません。



nslookup -type=mx sample.com ns.example.com

というコマンドでは、ゾーン転送は使用していません。通常のDNS
参照が行われています。ですので、これでレコードが表示
されないということなら、本当に定義されていない可能性が
大です(途中でウイルスチェッカやファイアウォールがわざと
ドロップしているのでなければ、ですが)。

nslookupでは、lsコマンドを使ったときだけ、ゾーン転送が行われていたと思います。

参考情報:
・nslookup
http://www.atmarkit.co.jp/fnetwork/netcom/nslookup/nslookup.html
Uchikoshi
@ITエディタ
会議室デビュー日: 2001/07/27
投稿数: 197
投稿日時: 2006-05-12 16:26
あっ、なんか違うこと書いてたような気がする。

Yahooのネームサーバを使いたいというのは、
「Yahooが内部からメールを送信するときに使用している、Yahoo内部のフルサービスリゾルバ」のことですか? さすがに、そういうのは、組織外部からのアクセスは禁止されているでしょうから、ムリだと思います。

・ネームサーバの3つの働きとは
http://www.atmarkit.co.jp/fnetwork/dnstips/005.html

 ところでYahoo以外からのメールはどうなんでしょうか? Yahooからしか送れないのですか?

 あと、現在お使い中のプロバイダのDNSサーバをnslookupで指定して、アクセスしてみる、とかいうのは?
nannan
会議室デビュー日: 2005/08/17
投稿数: 11
投稿日時: 2006-05-12 17:00
Uchikoshiさんご親切に何度もありがとうございます。
引用:

 ところでYahoo以外からのメールはどうなんでしょうか? Yahooからしか送れないのですか?
 あと、現在お使い中のプロバイダのDNSサーバをnslookupで指定して、アクセスしてみる、とかいうのは?


知人にお願いして別のドメインから試みましたが、送信できませんでした。
ですので私が確認できているのは、yahooからだけです。
私どもが契約しているプロバイダのDNSを指定してメール送信してみましたがやはりダメでした。

何とか自前のDNSサーバがexample.comドメインを解決時に、別ルートを選択させたい
のですが、そのような方法はないのでしょうか?

よろしくお願い致します。

スキルアップ/キャリアアップ(JOB@IT)