カテゴリー

アクセスカウンター


since 1996/06/14

Count per Day

  • 3今日の訪問者数:
  • 38昨日の訪問者数:
  • 810月別訪問者数:
  • 0現在オンライン中の人数:

Linuxからメール転送

 家のサーバを仮想化してから、管理用のメールの扱いが面倒になりました。
解決しなければならない課題は2つ。


  • Linuxは管理用のメールを「root」へ送ろうとする。ドメインは自分のホスト名が補完されるが、仮想化したホストそれぞれが自分にメールをしてもしょうがないので、これをサーバ1カ所に集約させなければならない。

  • うちの環境はルーティングの問題で、WAN側の自分自身のサーバへ到達できない。


 解決策はいくつかあるけど、この2つを同時に且つ手間のかからない変更で対応したいので、DNSでやっつけてみる。

  • メーラは、メールアドレスのドメイン名と、DNSのMXレコードから探して配送する。つまり、仮想サーバ毎のMXレコードを定義してやればそのサーバへメールを転送できる。

  • LAN側のPCからDNSを引くときは、WAN側のIPでは無く、LAN側のIPを引くようにする。


これで、DNSの設定変更のみで行ける。ちなみに、メールの転送先はsendmailなどの場合「/etc/mail/submit.cf」にSMTPサーバを指定できるので、それでも可能。
今回はWAN側のIPに到達できない問題を孕んでいる関係もあるので、submit.cfには手をつけない。

MXレコードを追加して、メールを転送する


 この方法は当然自分でDNSを立ててないと対応できない。
対応方法は簡単で、正引き設定ファイルにMXレコードを追加するだけ。
ただし、サーバ分の追加が必要。
送信元をvm.sample.com、送信先をsmtp.sample.comとした場合は、以下のような感じになる。

vm.sample.com. IN MX 10 smtp.sample.com.

これで、たとえば「root@vm.sample.com」宛のメールはsmtp.sample.comサーバへ送られる。
 ちなみに送信先(受信側)サーバでも「root@vm.sample.com」を自分自身宛と認識させなければならない。
たとえば、postfixの場合は、main.cfのmydestinationにvm.sample.comを追加することで解決する。

LAN側の名前引きの挙動を変える


 これは、bindの機能でできる。bind9のどこかのバージョンからできるようになったみたい(この機能は今回初めて使ったので、いつから使えるものだったのかはよくわからない)。
まず、ACLの定義。LAN側サブネットが「192.168.0.0」の場合。

acl "allowed-internal-hosts" {
192.168.0.0/24;
127.0.0.1;
};

次にviewの定義。

view "internal" {
match-clients { allowed-internal-hosts; };
allow-query { allowed-internal-hosts; };
…(略)
}

これで、LAN側ホストからDNSへ問い合わせが来た場合は、このinternal viewを参照するようになる。
ちなみに、WANからのアクセスについては、以下のような定義にしておけばよいみたい。

view "external" {
match-clients { any; };
allow-query { any; };
…(略)
}

 略の部分には、正引きだの逆引きだののzoneの定義を書けば良い。
で、基本的に、internalもexternalも書く内容は一緒にしておくが、今回は正引きの挙動を変えたいので、正引きのzone定義のみを変更する。

view "internal" {
match-clients { allowed-internal-hosts; };
allow-query { allowed-internal-hosts; };
…(略)
zone "sample.com" {
type master;
file "named.internal.sample.com";
};
…(略)
}
view "external" {
match-clients { any; };
allow-query { any; };
…(略)
zone "sample.com" {
type master;
file "named.sample.com";
};
…(略)
}

 これで、LANからの問い合わせは「named.internal.sample.com」を、WANからの問い合わせは「named.sample.com」を参照するようになる。
あとは、普通の正引き設定ファイルなので、それぞれのIPアドレスを定義してやれば良い。
前項のMXレコードの定義も、WAN側には関係の無い話なので、LAN側の正引き設定ファイルにのみ記載しておけば良い。

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

  

  

  

Time limit is exhausted. Please reload CAPTCHA.