プロが教える店舗&オフィスのセキュリティ対策術

sendmailをMXで動かしています。
以下のように各ドメインで送信する先のサーバを変えたいです。

user1@top.dom -> メールサーバ mail.top.dom
user2@sub1.top.dom -> メールサーバ mail.sub1.top.dom
user3@sub2.top.dom -> メールサーバ mail.sub2.top.dom

top.domがトップドメインで、subx.top.domはサブドメインですが、個々にサブドメインを自DNSサーバで運用してます。

自分のドメインがtop.domの場合、sub1(2).top.domの場合、
DNSのMX設定方法を教えてください。
一応以下のような感じかな?とは思っているのですが、
実験できる環境がないです(ToT)

■top.dom , sub1.top.domの場合
*.top.dom. IN MX 10 mail.top.dom.
*.sub1.top.dom. IN MX 10 mail.sub1.top.dom.
*.sub2.top.dom. IN MX 10 mail.sub2.top.dom.
※Aレコード省略

また、この場合"user1@sub1.top.dom"が mail.top.domに行ったりしないのでしょうか?

A 回答 (6件)

おっしゃる設定であると、心配されている通りsub1.top.dom宛てのメールがmail.top.domを通るとそこから先に配送されない可能性は充分にあります。


一般的には下記のような設定が取られることが多いので参考にしてください。
(ここではmail.top.dom、mail.sub1.top.dom、mail.sub2.top.domがそれぞれのDNSサーバーもかねているという前提の下で記載します)

---

1.mail.top.domでの設定

[前提]
named.confにてtop.domのprimaryが自分であることを宣言する.

[設定]
(top.dom.) IN NS mail(.top.dom.)
(top.dom.) IN MX 10 mail(.top.dom.)
sub1(.top.dom.) IN NS mail.sub1(.top.dom.)
sub2(.top.dom.) IN NS mail.sub2(.top.dom.)

注:Aレコード省略、( )内は記入しなくてもよい


2.mail.sub1.top.domでの設定

[前提]
named.confにてsub1.top.domのprimaryが自分であることを宣言する.
named.confにてforwardersをmail.top.dom.へ向ける(IPアドレスで指定).

[設定]
(sub1.top.dom.) IN NS mail(.sub1.top.dom.)
(sub1.top.dom.) IN MX 10 mail(.sub1.top.dom.)
child(.sub1.top.dom.) IN MX 10 mail.child(.sub1.top.dom.)


注:Aレコード省略、( )内は記入しなくてもよい.


2.mail.sub1.top.domでの設定

[前提]
named.confにてsub2.top.domのprimaryが自分であることを宣言する.
named.confにてforwardersをmail.top.dom.へ向ける(IPアドレスで指定).

[設定]
(sub2.top.dom.) IN NS mail(.sub2.top.dom.)
(sub2.top.dom.) IN MX 10 mail(.sub2.top.dom.)
child(.sub2.top.dom.) IN MX 10 mail.child(.sub2.top.dom.)

注:Aレコード省略、( )内は記入しなくてもよい.

---

この際2点の注意点があります。
1点目はmail.sub1.top.dom.とmail.sub2.top.dom.はそれぞれ配下にまたサブドメインを持っているということなのでsub1.top.dom.やsub2.top.dom.に関する「*」指定はしないということです。
そして2点目は、mail.sub1.top.dom.とmail.sub2.top.dom.でもそれぞれのサブドメインのメールサーバーないしはDNSサーバーについての指定はmail.top.dom.と同様に明示的に指定しなければならないということです。
十分お気を付けください。

この回答への補足

わかりやすい説明、ありがとうございました。

一点補足なのですが、
sub1(2).top.domでは既にforwadersをISPのセカンダリ
に設定してしまっています。(それぞれインターネットに接続)
mail.top.domは内部ネットワークにより接続されているので、
ISP経由では参照できません。

この場合、sub1(2).top.domからtop.domへのメール配信は
どのように設定するばいいのでしょうか?

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

補足日時:2001/05/11 16:01
    • good
    • 0

トップドメインがMXを切っていないというのは困りものですね。


今後も同様の問題が発生しそうですが、そこはtop.dom.も管理者さまがおそらくはtop.dom.をサブドメイン間のメール中継ドメインとして考えられていないということなのでしょうか(本来そのようなことはありえないのですが)。

とはいえ、だからといってmail.sub1(2).top.dom.にtop.dom.のゾーンを勝手に作成するのは(top.dom.のDNS情報をmail.top.dom.から検索するのを辞めてしまえば可能といえば可能なのですが)DNSの管理上あまりお勧めできません。

ですので、一番現実的な方法はおっしゃる通りtop.dom.にMXレコードを追加して頂くことです(というよりもトップドメインを管理するのであればそれは当然のことだと話をするべきでしょう)。
ちなみにtop.dom.にMX定義をする上の弊害はmail.top.dom.のサーバーのsendmailのcfをsendmail.nomxからsendmail.mxへと設定変更しなければ行けないということです。しかし、慣れているメールサーバー管理者が管理しているのであれば(でなければ困るのですが)この定義変更自体は5分から10分もあれば終わるでしょう。あとはsendmailを再起動するだけですのでDNSの定義変更も含め全部の作業を考えても30分とかからない作業のはずです。もっとも、定義ミスが発生すればmail.top.dom.が全サブドメインからないしは一部サブドメインからのメールを受け取らなくなる可能性があるという問題もありますが・・・。
そればかりは管理者さんのスキルを信じるほかありません。
どちらにせよ、mail.top.dom.がsendmail.nomxを使用しているのは、すべてのサブドメイン間のメール転送を一切保証しないといっているようなもので、かなりいただけない状況である事を付け加えておきます。この場合、そちらの方がどう考えても弊害が多いはずです。

それから、mail.top.dom.のIPアドレスは分かりますでしょうか?
分かるようであれば一度25番ポートにtelnetでアクセスしてみることをお勧めします。なにも返答がこなければもとよりそのサーバーはメールサーバーとして機能していませんのでメールを送ろうとしても無駄というものです。その場合は、top.dom.宛てへのメールのことまで考える必要はないので注意してください。

また、先の回答で記した[2.」はtop.dom.ドメインに関しては「mail.top.dom.」をDNSサーバとするという意味であり、mail.top.dom.にMXレコードがなければ意味がありませんので、忘れて頂いて結構です。
    • good
    • 0
この回答へのお礼

いろいろとご指導、ありがとうございます。
言われたとおり、一度top.dom管理者に現状を話すことにいたします。

相手メールサーバへは、現在sendmail「static routing」にて
送信していますので、接続はできています。
もしかするとこちらで教えられたtop.domのDNSサーバが
mail.top.domの参照しているDNSサーバと違うものかもしれません。

ネットワーク全体を見直すいい機会となりました。
ありがとうございました。

お礼日時:2001/05/14 08:38

sub1.top.dom.およびsub2.top.dom.が独自にISP接続を行ってしまっているということですと確かに話が変わりますので回避策をあげておきます。



---

1.mail.sub1(2).top.dom.自身がtop.dom.のセカンダリになる

自分自身がsub1(2).top.dom.のプライマリでありながら、同時にtop.dom.のセカンダリでもあるとnamed.confで指定してしまう方法があります。これはとくにforwarders指定とは相反しないうえ、先にご説明した方法もtop.dom.のDNS情報を検索することが目的であるため、この方法で問題が生じることはありません。
(というよりもforwardersでご説明させていただいた事自体がtop.dom.経由でISP接続をすることを考慮に入れていたためでした)

2.resolvを使用する

これはあまり好い方法とは言えませんが、resolvを利用して「DOM top.dom.」、「server mail.top.dom.」を検索させてしまうというのもひとつの方法ではあります。使用実績上問題が生じたことはありませんが、場合によってはサーバーレスポンスに影響するおそれもあります。

3.最後の手段、sendmailの中でdefault relayをmail.top.dom.へむける

かなり乱暴な方法なうえに、もともとdefault relayがISPをむいている場合はこの方法を使用することが出来ません。その場合、top.dom.のstutic routeをmail.top.dom.へ向けることで問題が解決します。sendmail.cfに直接書き込む場合にはrule set 0(S0)に定義することで設定できます。

---

できれば「1.」の方法が良いと思うのですがいかがでしょうか。
参考になれば幸いです。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
まず3ですが、sendmailのcf修正(Static routing)を考えたのですが
諸事情により却下されちゃいました。

2はメールサーバのresolvに設定するということでしょうか?
単にmail.sub1(2).top.domのDNSサーバをtop.domのDNSサーバにする
ということではないのですよね?
すみません。ちょっと???です。

1は大変参考になりました。
これでテストしてみたいと思います。

ただちょっと問題発生です。
どうもtop.domではメールをMXで処理していないらしく
top.domのゾーンにMXはありませんでした。(DNSサーバはこちらの管理下にない)
この場合sub1.top.domからのtop.domへはどうしたらいいのでしょうか?
sub1.top.domで勝手にtop.domのゾーンを作ってMXを記述すれば
いいのでしょうか?
それとも"どうしても必要ですぅ~"とMXを記述していただくのが
いいのでしょうか?(この場合、MXを追記した弊害が知りたいです)

お礼なのに質問ぜめですみません。
よろしくお願いいたします。

お礼日時:2001/05/11 18:38

何度もすみません.Surukanですが・・・。


下記のselenityさまの書き込みに対し、訂正させて頂きます。
DNSには「*」は使用できないとありますが、実際には「*」自体は使用できます(私も実際に使用実績もあります)。
ご注意ください。
    • good
    • 0

オライリーのDNS本(バッタ本)を読めばばっちりでしょう。



そもそも、サブドメインのDNS管理にも依存します。
もし、サブドメインの管理を委譲しているのであれば、
あなたは
@ IN MX 10 mail.top.dom.

sub1.top.dom. IN NS xxx.sub1.top.dom.
sub2.top.dom. IN NS xxx.sub2.top.dom.
xxx.sub1.top.dom. IN A aaa.bbb.ccc.ddd
xxx.sub2.top.dom. IN A aaa.bbb.ccc.eee
と書きます。
そうでなければ、

@ IN MX 10 mail.top.dom.
sub1.top.dom. IN MX 10 mail.sub1.top.dom.
sub2.top.dom. IN MX 10 mail.sub2.top.dom.

の様に書きます。

たしか、DNSのレコードには「*」は使えなかった
きがします。
    • good
    • 0
この回答へのお礼

素早いご回答ありがとうございました。

オライリーのDNS本、Sendmailと合わせて購入要求中です。
以前にオライリーのciscoルータ本が実にすばらしい本だったので
今回も期待してます。
※価格が高いので上の方にはいやな顔をされました^ ^;)

selenityさん、Sarukanさん含め、このOKWebの回答者って
かなりスキル高いですよね。感心しちゃいます。

お礼日時:2001/05/11 16:01

すみません、下記の回答をさせて頂いたSurukanですが、



「2.mail.sub1.top.domでの設定 」

という項目が2個ありますが、2個目は

「3.mail.sub2.top.domでの設定 」

の誤りです。回答の一部に誤りがあり、大変すみませんでした。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!