5-1 実験の概要
実験は、プライベートネットワーク内の3台のコンピュータ(Debian GNU/Linux3.0)を使用して行った。5-2 メールボックスのsendmailの設定、POPサーバの設定
5-2-1 メールサーバA,Bの設定内容(sendmail.mc)
include(/usr/lib/sendmail.cf/m4/cf.m4)dnl
VERSIONID(`sendmail.mc')dnl
OSTYPE(`debian')dnl
FEATURE(`allmasqurade')dnl
FEATURE(`masqurade_envelope')dnl
FEATURE(`always_add_domain')dnl
FEATURE(`virtusertable')dnl
FEATURE(`local_procmail')dnl
FEATURE(`access_db')dnl
FEATURE(`blacklist_recipients')dnl
MAILER(`smtp')dnl
MAILER(`procmail')dnl
5-2-2 POPサーバの設定内容
/etc/inetd.confに5-3 メールハブの構成
5-3-1 サーバの機能
sendmailの機能を利用して、メールハブを実現する。メールサーバは次の動作を行う。5-3-2 メールハブの設定内容(sendmail.mc)
include(`/usr/lib/sendmail.cf/m4/cf.m4')dnl(1)sendmailのエイリアスファイルで、ユーザ名のエイリアスを作成する。
OSTYPE(`debian')dnl
define(`ALIAS',/etc/mail/aliases)dnl …(1)
MAILER(`smtp')dnl …(2)
・sendmailのエイリアスファイルについて
sendmailのエイリアスファイルを利用することで、ローカルユーザあてに来たメールを メールサーバA,Bに転送する。/etc/mail/aliasesは、エイリアスを記述するファイルですが、 sendmailが実際に使用するファイルは、ハッシュ形式のデータベースファイル/etc/mail/aliases.db である。コマンドnewaliasesを実行すると/etc/mail/aliasesファイルを読み、/etc/mail/aliases.dbを 作成する。また、/etc/mail/aliasesを変更した場合もnewaliasesコマンドを実行する。・/etc/mail/aliasesの設定
aliasesの設定例
#Create a simple multi-user mail list5-3-3 メールハブの動作確認
上記のように設定したホストに対しメールを送ったところ、正しく二台のメールボックスのあるサーバに振り分けが 行われた。5-4 DNSの設定
設計の章で述べたように、DNSを設定する。DNSに関しては技術的に解決しており、又、時間的な制約もあり、 今回の実験は割愛した。5-4-1 POP振り分けシステムの作成
POP振り分けシステムは、perlで作成し、IO::Socket、IO::Selectモジュールを使用する。 ローカルユーザからPOPサーバへ接続要求があった時、POP振り分けシステムは、 限定のポートへの接続を受け付けるよう設定されている待機用のソケットを使う。 この待機用ソケットは、IO::Selectによって登録されている。 IO::Selectにより、短い周期で発生する要求を 処理でき、また、並行した複数の通信や次に行われる通信のために余裕を持つことが可能である。そのため、 メールボックスを持つ複数のPOPサーバにユーザからの POPコマンドを送れる。そうすることによって、複数のPOPサーバのメールボックスの同期を取ることができる。5-5 完成したシステムとシステムの冗長性
メールの冗長システム最小構成は、二台のDNSサーバ、二台のメールハブ、二台のメールボックス+POP振り分けシステムの合成 、全部で六台から構成される。耐故障性に関しては、次のような動作により保障されている。