はじめに
メールサーバーを構築するためには、ダイナミックDNSサイトがMXレコードに対応
している必要があります。お使いのダイナミックDNSサイトでMXレコードの設定方法
をご確認ください。
このページでは、VineLinux + DDO!jpを利用したサイト構築を例に説明しています。
環境に合わせて読み替えてください。
※ちなみに
DDO!jpの場合は、ドメイン名と同じ名前でMXレコードが登録されています。
▲Postfix(MTA)の設定手順へ
Postfixとは?
インターネットで電子メールを使用する場合、にSMTP( Simple Mail Transfer Protocol )と
POP( Post Office Protocol )といったプロトコルを使用します。
最近では、SMTPとして「sendmail」に変わり「qmailやPostfix」といったMTA( Message
Transfer Agent )が人気をあつめています。
※後発で開発されているため、sendmailの良い部分が取り込まれています。
ここでは、sendmailとの互換性を確保しつつ、安定性に定評のあるPostfixを使用した
メールサーバーの構築方法をご紹介します。
ちなみにVineLinuxでは標準でインストールされています。
Postfixのインストール
・aptコマンドによりPostfixのインストールを行います。
|
[root@]# apt-get install postfix
パッケージリストを読みこんでいます... 完了
依存情報ツリーを作成しています... 完了
* postfix は既に最新バージョンがインストールされています
0 個のアップグレードパッケージ, 0 個の新規パッケージ, 0 個の削除/リプレースパッケージ, 0 個の保留パ
ッケージがあります。
[root@]#
|
すでに最新版がインストールされている場合は、上のようなメッセージがでます。
インストールが必要な場合は、インストールを行ってください。
※インストール完了後にアップデートを忘れずに行いましょう。
▲Postfix(MTA)の設定手順へ
ドメインの登録
・/etc/sysconfig/networkファイルにダイナミックDNSで登録したドメイン名を登録
※ここでは、ダイナミックDNSでの登録ドメインを"example.ddo.jp"として説明します。
・viエディタでPostfixの/etc/sysconfig/networkファイルを開きます。
|
[root@]# vi /etc/sysconfig/network [return]
-----<networkファイルの内容>------
NETWORKING=yes
HOSTNAME=example.ddo.jp
---------------------------------
|
"HOSTNAME="に続いてFQDNでホスト名を指定します。
・上記修正を反映させる為、ネットワークの再起動を行います。
|
[root@]# /etc/rc.d/init.d/network restart [return]
|
以上でドメインの登録は終了です。
▲Postfix(MTA)の設定手順へ
Postfixの設定ファイル(main.cf)の編集および設定
設定する目標を以下とします。
※
外部ネットワークからのメール送信にはSMTP-AUTHなどの導入が必要です。
(必要かどうか検討中です....)
|
<目標とする設定>
・メールサーバーのホスト名:example.ddo.jp
※DDO!jpでは登録ドメインと同じドメインでMXレコードに登録されます。
・内部ネットワーク(LAN内)からのみメール送信を許可。
・内部ネットワーク宛てのメールを転送可能とする。
・基本的な第三者不正中継のテストにパスする。
今回は、mail-abuse.orgでテストを実施。
|
|
それでは、/etc/postfix/main.cf(Postfixの設定ファイル)を編集します。
編集ファイルは長いのですが、ほとんどがコメントです。
viエディタでは"/検索文字"を使うと便利です^^
以下の1〜4の項目を設定(確認)します。
1.サーバーのホスト名とドメイン名を登録(DDO!jp登録ドメインを記入)
|
</etc/postfix/main.cfファイルより抜粋(1)>
mydomain = example.ddo.jp
myhostname = example.ddo.jp |
|
2.メールの配送を許可するドメイン名を登録
|
</etc/postfix/main.cfファイルより抜粋(2)>
mydestination = $myhostname, localhost.$mydomain, $mydomain
|
|
3.内部ネットワークのアドレスを登録(登録されたアドレスからのメールは無条件に配送)
|
</etc/postfix/main.cfファイルより抜粋(3)>
mynetworks = 192.168.0.0/24, 127.0.0.0/8
|
|
4.第三者不正中継対策
|
</etc/postfix/main.cfファイルより抜粋(4)>
#HELOコマンドで応答のないホストの接続拒否
smtpd_helo_required = yes
#不正中継の対策
allow_percent_hack = yes
swap_bangpath = yes
#VRFYコマンドの禁止
disable_vrfy_command = yes
#SMTPの受信者を制限
smtpd_client_restrictions = permit_mynetworks, reject_unknown_client, permit
#転送可能なドメイン名の確認
smtpd_recipient_restrictions = permit_mynetworks, reject_sender_login_mismatch, check_relay_domains
#正しいホスト名を通知してきたホストのみ接続許可
smtpd_helo_restrictions = permit_mynetworks, reject_invalid_hostname, reject_unknown_client, permit
#送信アドレスが存在しない場合はメール受信を拒否
smtpd_sender_restrictions = reject_unknown_sender_domain, reject_sender_login_mismatch
#不正なホストに対してETRNコマンドの使用を禁止
smtpd_etrn_restrictions = permit_mynetworks, reject_invalid_hostname
|
|
※この設定で完璧ではありません。(環境に合わせて設定してください^^;)
不正中継は怖いですから.....
・上記修正を反映させる為、Postfixの再起動を行います。
|
[root@]# /etc/rc.d/init.d/postfix restart [return]
|
以上の設定でPostfixの設定は終了です。
▲Postfix(MTA)の設定手順へ
Postfixの動作確認
さっそくサーバ(MTA)上でメールの送受信を確認してみましょう。
※POPサーバを設定しないと、Windowsなどのメーラーではメールを受信できません。
・サーバ(MTA)でメールを送信する。(ターミナル上で以下コマンドを実行)
|
[root@]# mail ****(ユーザー名)
Subject: test ←題名を入れる
test ←本文を入れる
. ←本文終了(”."を入力する)
Cc: ←Cc:が必要なら入れる
|
※サーバ上に実在するユーザ宛に送信してください。
・サーバ(MTA)でメールの受信を確認する。(ターミナル上で以下コマンドを実行)
|
[*****@]$ mail
Mail version 8.1 6/6/93. Type ? for help.
"/var/spool/mail/ユーザ名": 1 messages 1 new ←メールが届いています!
>N 1 ユーザ名@ドメイン名 Fri Oct 7 12:26 13/417 "test"
& quit ←quit終了します
|
メールが届いていれば、MTA上でのメール送受信が正常です。
但し、Postfixは奥が深いのでこれからいろいろ勉強して、さらにスキルアップに
努めていこうと思います。^^;
Windowsなどのメールソフトを使用する場合はPOPサーバがの設定が必要です。
>>qpopperの設定へ
▲Postfix(MTA)の設定手順へ
Copyright(c) 2005, All Rights Reserved.