Solaris
1IPで複数サブドメインを切ってメール利用

要求項目
aso.netnoris.com(MAILサーバー)内にて、
@netnoris.com
@virtual1.netnoris.com
@virtual2.netnoris.com
のメールを動かしたい。
必要なこと
DNSの設定
Postfixの設定 -->postfixの項目参照。それで全て。
参考文献
O'reilly DNS&BIND第4版(ISBN4-87311-074-2)
  第4章, 4.2.6 "アドレスコードと別名レコード"(P71-73)
    第特にP73、下から10行目の段落。
  第5章, 5.3 "`MXのアルゴリズム"(P117-120)
    P118の9行目以降
DNSの設定
BIND内のzoneファイルを以下のようにする。
@   〜〜〜〜〜〜〜〜〜〜〜〜〜〜
〜〜〜〜〜〜(略)〜〜〜〜〜〜〜〜
    IN  MX 10   aso.netnoris.com.
;
aso  IN  A      192.168.0.22
    IN  MX 10   aso
;
virtual1   IN A      192.168.0.22
        IN MX 10   aso
;
virtual2   IN A      192.168.0.22
        IN MX 10   aso
  virtual1 と virtual2で指定するAレコードのIPが、asoで指定してるのと同じになるがこれで問題ないらしい。
 本来、ホストの別名はCNAMEで設定するが、ほとんどのMTAはCNAMEを参照しない。そこで、別名をAレコードを使用して書く。
 この書き方はほとんどのアプリケーションでは問題ないが、MTAは問題ありそうなことを書いている(参考文献より)。しかし、それは「MTAがホストの別名を知らないのが問題」というものだけらしいので、MTAにその名前は認識させればいい。Postfixならば"virtual_maps"の中で認識させればいいだけのこと。
virtual_maps のファイルの書き方
あとは、MTAのPostfixの設定をして終わり。
Postfixのmain.cfで指定した、/etc/mail/virtualtableには以下のように書く。
例として。
noriou@netnoris.com ----> noriou 
noriou-v1@virtual1.netnoris.com ---->noriou
noriou-v2@virtual2.netnoris.com ---->noriou
といった具合に飛ばしてみる。(noriouはメール受信時のアカウント)

/etc/mail/virtualtable
virtual1.netnoris.com anything
noriou-v1@virtual1.netnoris.com noriou

virtual2.netnoris.com anything
noriou-v2@virtual2.netnoris.com noriou
noriou@netnoris.comに関しては、バーチャルで指定しなくともPostfixの標準の設定をnetnoris.comに指定してあるのでそれで受信できる。
まとめ
以上で設定終了。この方法でメールの処理はasoサーバに集約できるし、わざわざ別のIPをあてる必要がなくてすむ。

<メインに戻る>
<NetNorisトップに戻る>