2014年7月25日金曜日

【Postfix】メールサーバーの設定について②

個人的に躓いたところ第二弾。

私のPostfixの設定は、基本的に『Postfix実践入門』という本を見ながらやっています。
しかし本の通りにやるだけでは上手くいかない箇所がたまにあります。

SMTP認証 についての設定を行ったところ、外部宛にメールが送信できなくなりました。
メール送信を試みると

サーバー エラー : xxxxx: Relay access denied

とのメッセージが返ってきます。

~原因~


デフォルト設定(# postconf -dで確認可能)では、

smtpd_recipient_restrictions = permit_mynetworks,   
                                                  reject_unauth_destination

と設定されており、自ネットワークからのメールしかリレーしません。
私の場合サーバはVPS上にあるため、MUA(メールクライアント)がある自宅とは別ネットワーク。

~解決法~


/etc/postfix/main.cf の最下部に下記を追記しました。

smtpd_recipient_restrictions = permit_mynetworks,
                                                  permit_sasl_authenticated,
                                                  (認証を通過すればリレーを許可)
                                                  reject_unauth_destination

変更箇所については、postconf -n で確認できます。
設定を再読み込みして、完了。


ちなみに参考書では、「同じサブネットワーク内にあるMUAからの設定例」というのが載っていました。
そのため、サブネットが違うから上手くいかないんだろうなあというのは何となく推測できました。

【yum】インストール可能なパッケージを調べる

# yum install xxx

で、xxx をインストールすることができる訳ですが、
xxxのバージョンその他情報を事前に取得するコマンド。

# yum info xxx

備忘録として。

2014年7月24日木曜日

【Postfix】メールサーバーの設定について(その他)

Postfixについて、色々設定を行っていましたが、どうも挙動が腑に落ちないところが色々。
一番良くわからなかったのが、myoriginやmyhostnameを設定しても反映されなかったりうまく動作しない事。
例えば

myhostname・・・xxx.example.jp
mydomain・・・example.jp
myorigin・・・$mydomain

と設定しているのに、メールを送信するとどうしても ~@xxx.example.jp から送られてしまう。

myhostnameを別名(例えばmail.example.jp。DNSにもちゃんと登録できているはず。)にしても~@xxx.example.jp から送られる。

当然リロード、リスタートはしています。

設定ファイル熟読したり参考書を買ってみたり、色々調べたりしたが、一向に分からないので環境を変えてみることに。

「VPS」は安価に借りられるし、無料期間もあるので、ものは試しと早速利用してみました。

取り敢えずは安くてお試し期間も長い ServersMan@VPS Entry です。
各ソフトのバージョンも新しめのものから枯れているものに変更。

結果、あっさり上記2点の問題はクリアされました。
これまでは古いノートPCを使っており、そのためのハード的な問題なのか、全く関係なくソフト的な問題なのか良くわかりませんが。

環境は以下のとおりです。

(新)
ハード:ServersMan@VPS Entry
OS:CentOS5.9
Postfix:2.3.3

(旧)
ハード:ThinkPadR400
OS:CentOS6.5
Postfix:2.6.6

2014年7月16日水曜日

【Postfix】メールサーバーの設定について①

ここ最近、メールサーバの構築に四苦八苦していました。

取り敢えず最低限の設定だけして、テストをしつつ詳細設定に移っていこうとしていましたが、その最低限のところで躓いていました。

症状としては、
  • メール送信 ・・・ ○
  • メール受信 ・・・ root宛は○、ユーザー宛はX
で、ユーザー名@のアドレスでメールの受信ができません。

ログを見たところ “Recipient address rejected: User unknown in local recipient table” そんなユーザー(メールアドレス)は無いとのこと。

設定( /etc/main.cf )を確認したところ、デフォルトで

local_recipient_maps = proxy:unix:passwd.byname $alias_maps


となっており、/etc/passwd や/etc/aliases を参照する設定になっています。
当然 /etc/passwd には既存のユーザー名が記述されており、設定ミスはなさそうです。

途方に暮れていたのですが、結局 Postfix はメールアドレスの大文字と小文字を識別せずに全て小文字として認識するためと判明しました。

つまり、ユーザー名をExampleに設定した時、Example@ のメールアドレス宛に送信すると、Postfix は example@ と解釈して local_recipient_maps の中を参照します。ところが /etc/passwd の中には “E”xample が登録されているので、ユーザーが見つからない、となるようです。

たまたまユーザー名に大文字を含めていたので、大分ハマってしまいました。

2014年7月3日木曜日

【YAMAHA RTX810】LAN分割をしました。

RTX810で、LANの分割をしてみました。

完成形としては、

VLAN1:192.168.XX.0/24
VLAN2:192.168.YY.0/24

の2つのLANを構築し、VLAN1はプライベートのLAN、VLAN2には公開サーバを設置する予定です。

YAMAHAのこちらのページを参考にLAN分割の設定をしました。


なお、RTX810では、GUIからは設定できない(FWX120は可能のようです)ので、コマンドを用いて設定を行いました。


  1. RTX810のLAN1インタフェースに対してLAN分割機能を有効にする。
    ※RTX810には、LAN1インタフェースしかありません(背面の4ポート)。
    ※コマンドの入力にあたっては、TeraTermを使ってTelnetで接続しました。
     接続後、
> Administorater
と入力すると、
password:
と求められので、パスワードを入力します。
#以下のコマンドを入力していきます。

     # lan type lan1 port-based-ks8995m=divide-network     


  1. スイッチングハブのポート毎に、VLANインタフェースを指定する。今回は、4番目のポートのみVLAN2に指定しました。
     # vlan port mapping lan1.1 vlan1
     # vlan port mapping lan1.2 vlan1
     # vlan port mapping lan1.3 vlan1
     # vlan port mapping lan1.4 vlan2


  1. 各VLANインタフェースに対して、IPアドレスを割り当てます。
# ip vlan1 address 192.168.XX.1/24
# ip vlan2 address 192.168.YY.1/24


以上の設定を行い、各LANから外部へPingを通してみたところ、VLAN1から通した際には正しく応答が返ってくるが、VLAN2からでは応答が返ってこないという状況になりました。

設定を確認してみたところ、ファイアウォールの静的フィルタにおいて、VLAN1にしか適用されていない項目がいくつかありました。上記のPingについては、ICMPの“入”を許可する設定が、VLAN2には適用されていなかった事が原因でした。

ファイアウォールの設定については、“セキュリティレベル7”の自動設定にしていますが、VLAN2には自動的に反映されないようです。その他、VLAN1192.168.XX.0)にしか設定されていなかったフィルタについて、VLAN2にも基本的に全て同様の設定を施しました。