none
exchangeサーバにて外部(インターネット)からメールが受け取れない件 RRS feed

  • 質問

  •  

    今まで、外部にあるmail.domain.net(グローバルIP)というメールサーバ(sendmail)で、メールの送受信を行っていました。

    (クライアントとして、OutLookExpressを使用しておりました。)

     

    今回、社内にExchange2007を導入するにあたって、物理的なサーバを3台使用。

     

    (1)DC、兼、内部でしか引けないDNS(ADのドメイン名は、exchange.domain.netというサブドメイン名)    …192.168.0.10

    (2)Exchangeサーバ(メールボックス、ハブトランスポート、クライアントアクセス、ユニファイドMの4つの役割)…192.168.0.11

    (3)エッジトランスポートサーバ(これだけWorkGroup環境)                             …192.168.0.12

     

    OSはすべてWindows2003server(64bit)Enterprise

     

    そこで、Exchange2007の自習書(ワードの書類)を参考にしながら、Exchangeな環境を構築しようとしておりましたところ、

    一応、アウトルックwebアクセスと通常のOotLook2007によるアクセスはできました。

     

    ところが、既定のメールアドレスが、

    funifuni@exchange.domain.net

    となっているため、基本的にLAN内でしかメールができません。

     

    そこで、ドメインユーザへの電子メールアドレスの追加、電子メールポリシーのチェックを外し、

    既定のメールアドレスを、今まで使っていて自分の名刺にも記載されているメールアドレスである、

    fujifuni@domain.net

     

    に変更しました。ですが、

    OWAにて「インターネットからfunifuni@domain.net宛ての」メールを受信することが

    できませんでした。

    外部のメールサーバはちゃんと生きているので、普通に今まで通り、OEで送受信はできますので、

    それで使用しているのですが、多くなってきたスパムを弾きたくて、

    どうしてもExchange+EdgeTransportで安全にメール環境を構築したいと思っております。

     

    今回参考にした資料は、マイクロソフトさまが配布している7つのファイルから成る自習書で、

    その中のインストール編、クライアントアクセス編、受信者設定編、エッジトランスポート編の4つです。

    特別な設定はしておりません。

     

    エッジトランスポートでの設定は、

    (1)のDC件内部用DNSで、メールサーバの完全修飾ドメイン名をexchange.domain.netにしたこと(MXレコードの設定)

    (3)のEdgeにて承認済みドメインを作成したこと(exchange.domain.netだけでなくmail.domain.netとdomain.netも)

    (3)のEdgeにて、受信コネクタHub_To_Edgeの作成、ハブトランスポートサーバのIPアドレスの指定(192.168.0.11)

    (2)のEXサーバのハブトランスポートにおいて、受信コネクタの作成と許可グループに匿名ユーザの追加

    (3)のEdgeにて送信コネクタEdge_To_Internetの作成とアドレスは「*」にしたこと。

    (3)のEdgeにて送信コネクタEdge_To_Hubの作成、スマートホスト経由のルーティング(2をルーティングするよう設定)

    (2)のEXのハブトランスポートにおいて、送信コネクタHub_To_Edgeの作成、インターネット、「*」、Edgeをルーティングする設定

     

    とまぁ、自習書通りにか設定しませんでした。

     

    OutLookWebAccessにて、ログイン、自分の携帯電話のメールアドレス宛てにはきちんとメールが送信できました。

    しかし、通常使用しているfunifuni@domain.netにはメールが一切入ってこなくなりました。

     

    私の勉強不足による認識違いならすみません。エッジトランスポートサーバがmail.domain.netに

    funifuni@domain.net宛てのメールを取りに行ってくれる…という認識だったのですが。

    (エッジトランスポートがどうやってmail.domain.netの在り処を知るの?という話もありますが、

    3台のマシン全てにネットワークの設定で、mail.domain.netを引けるDNSを登録しましたし、

    内部でしか引けないDC兼DNSにも、MXレコードとしてmail.domain.netを登録)

     

    どなたかお分かりになる方、おられましたらよろしくご教授お願い致します。

     

    そもそも、私どものように外部にメールサーバをレンタルしているような環境ではダメなものなのでしょうか?

     

     

     

     

     

     

     

    2007年7月27日 9:09

すべての返信

  • 環境についての確認です。

    エッジトランスポートサーバがmail.domain.netにfunifuni@domain.net宛てのメールを取りに行ってくれる 

    とあります。

    外部メールサーバーをレンタルしていらっしゃるとのことですが、domain.net のMXレコードはレンタルサーバーのアドレスとなっているのでしょうか。

    そのレンタルサーバーに対して、Exchangeがメールを取りに行くという認識をされていますでしょうか。

     

    このように解釈した上での回答となります。

     

    Exchange2007には、外部メールサーバーに対してメールを取りに行くといった機能は実装されていません。

    Exchangeをメールサーバーとしてご利用する場合は、domain.net のMXレコードがレンタルサーバーではなく、直接Exchangeを指し示す設定が必要となります。

     

    MSが提供している自習書、設定資料についても直接メールサーバーを立てることを前提としたものとなっているので、設定自体は間違ってはいないと思いますが、そもそものメールサーバーを立てる環境が異なると考えられます。

     

    2007年7月30日 4:47
  • WIN1さん、教えていただきありがとうございます。

    ご指摘の通り、勘違いをしておりました。

    MTAとして動作するという解釈でよろしいわけですね。

     

    そこで、固定のIPアドレスを取得して自前でexchangeにてメールサーバを立てる

    ことに致しました。

     

    エッジトランスポートの役割をインストールしたPCにグローバルのIPアドレスを

    割り振って、他の役割はローカルに。ネームサーバも自前にして

    ゾーンの編集で、エッジトランスポートのホスト名とグローバルのIPを

    MXレコードとして書いてあげればよいわけですね。

     

    そこで、素人質問で申し訳ないのですが、1点教えていただきたいことがあります。

     

    メールアドレスとメールサーバーの関係って、例えば

    funifuni@domain.net

    というメールアドレスがあったとして、このメールアドレスを使えるように

    するために、OutlookExpressとかで、受信メールサーバ、送信メールサーバの

    設定に、

    mail.domain.net

    などと記述しますよね。(今まではそうしておりました)

     

    この対応付けは、ネームサーバのMXレコードによってなされるわけですよね。

     

    例えば、mail2.domain.netをMXレコードとして登録すれば、

    funifuni@domain.net宛てに来たメールを集約するサーバはmail2.domain.net

    という風に変更もできますよ…みたいな解釈であってるのでしょうか?

     

    今回、exchange2007にてメールサーバを構築するにあたって、

    ちょっと分からないのが、

    funifuni@domain.net宛てに来たメールをmail.domain.net

    ではなく、今度はエッジトランスポートサーバである

    edge.exchange.domain.net(ホスト名)とfunifuni@domain.net

    をどのように関連付けるのか、が分からないでいます。

     

    外部に公開するネームサーバにedge.exchange.domain.netをMXレコードして

    登録するだけで、funifuni@domain.netとedge.exchange.domain.netというメールサーバ

    が対応付けられる…という解釈であっていますでしょうか?

     

    また、自社内にNTドメインが既に存在しており、NTドメイン名が「domain」なので、

    本当は、2003サーバによるADのドメイン環境を「domain.net」にしたいのですが、

    重複してしまうのでやむなくFQDNでいう所のexchange.domain.netにしています。

    それなので、今自社内に「domain」というドメインと「exchange」というドメイン

    (…分かりづらくてすみません)の二つが併存しています。

     

    ADの配下に、メールボックスの役割、ハブトランスポート、クライアントアクセスが

    置いてあります。

     

    そこで、教えていただきたいのですが、exchange.domain.netというサブドメイン

    名なので、デフォルトではfunifuni@exchange.domain.netというメールアドレス

    になってしまいますが、これを従来通り、funifuni@domain.netという

    メールアドレスにして、なおかつメールサーバ(エッジトランスポート)は

    edge.exchange.domain.netという風な関連付けって

    そもそもできるものなのでしょうか?

     

    不勉強で申し訳ありませんが、どなたかご指導お願い致します。

    2007年8月27日 4:08
  • >exchange.domain.netというサブドメイン名なので、デフォルトではfunifuni@exchange.domain.netというメールアドレス
    >になってしまいますが、これを従来通り、funifuni@domain.netという
    >メールアドレスにして、なおかつメールサーバ(エッジトランスポート)は
    >edge.exchange.domain.netという風な関連付けってきるものなのでしょうか?

    できます。これは、メールボックスに設定した、funifuni@domain.net のほうほうで結構です。それよりも重要な、設定が抜けています。

     

    まず、DNSの設定とExchangeの設定を分けます。

    Exchangeでは、@domain.net宛てのメールが来た時に、自分あてメールであり、処理(配信)をさせる設定をします。

    DNSには、他のサーバーが@domain.net宛てのメールの配信先が特定のIPアドレスであることを知らしめる設定をします。(注意:これをExchangeが参照する必要はありません。他のサーバーが参照する設定です)

    Exchangeの設定:

    その他のMTAにも言えることですが、自分以外の外部のMTAよりメールを受け取った時に、「自分の処理すべき宛先か?」を決めます。大まかには3つの選択を迫られます。

    1. 自分あてのドメインではないので、突き返す。

    2.自分あてのドメインなのでユーザーに配信をする。ユーザーがいない場合 「このメアドをもつユーザーは存在しません」と言い切ってエラーメールを送信元に返す。

    3.自分あてのドメインではないが、外部の特定のサーバーに転送することになっているドメインなので、転送する。

    現在はExchange側で、@domain.net というドメインのメールが、[自分あてのドメインではないので、突き返す]という処理をする状態になっているのではないかと思われます。自分が処理すべきドメインであることを認識させるためには、[組織の管理] →[ハブトランスポート]→[承認済みドメイン]で、承認済みドメインとして登録をしてください。まず、これがExchangeに上記3つの処理を決めさせるための第一歩です。

    Exchange(その他MTAも)は、承認済みドメイン(自分が処理をすべきドメイン)宛てのメールであれば、自分の管理下にそのメールアドレスを持つメールボックスがあるかどうかを探します。今回は、funifuniというメールボックスが持っているようなので、そこに配信するでしょう。

    ※ もしも、どのメールボックスもメールアドレスを持っていなければ、Exchangeは「このユーザーは存在しません」と言い切ります。この世に存在しません、と言い切れる管理状態にあるドメインを「権限のあるドメイン」と言います。そのため、先ほどの設定は、「権限のあるドメイン」として設定する必要があります。

    とりあえず、これがExchangeが@domain.netあてのメールを処理させるための設定です

    DNS の設定

    他のメールサーバーが@domain.net宛てのメールを、今回立てたExchangeサーバーへ送ってくれるように設定をする必要があります。一般に、メールサーバーは、SMTPドメインより、下記の方法でDNSサーバーで名前解決を試み、送信先のメールサーバーを決めます。

    1.SMTPドメイン(@domain.net)より、自分が参照するDNSからdomain.netのMXレコードを取得します。(通常、MXレコードは、mail.domain.comなどのホスト名を返すよう設定されています)

    2.MXにより受け取ったホスト名から、CNAMEレコードの解決をします。(通常、CNAMEには、本物のAレコードのホスト名が書かれています。例 s1547sv.plala.hi-ho.ne.jp)

    3. 2で受け取ったホスト名をAレコードで解決し、最終的な接続先のIPアドレスを取得します。

    これにより、メールサーバーは3で取得したIPアドレスの25番ポートに対して接続をし、SMTPセッションを開始します。

    なので、これはインターネット上のその他のサーバーが参照できるDNSに対して設定がされている必要があります。また、Exchangeは参照できる必要はありません。他のサーバーが1~3のプロセスで、@domain.net あてをこちらのExchangeのIPアドレスに接続できるように知らしめればよいだけなので。

    以上、二つの設定を行ってください。

    なお、ハブトランスポートサーバーの受信コネクタのプロパティにログを取る設定が可能です。ログを取るようにすると、最低限接続があったことだけは確認できます。

    ログの場所: c:\program files\microsoft\exchange\Transport Roles\ 以下のどこかに protocol log という感じの名前のフォルダがあります。そこにSMTPのセッションがそのまま残りますので、

    ・メールが来てないのか(DNSの問題)

    ・メールが来たが配信されないのか(Exchangeの問題)

    の切り分けが可能です。

    2012年2月28日 14:06