こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

SMTPサーバ構築の際のルータの設定について

sandayuと申します。

自宅のPCにPostfixをインストールし
メールサーバを構築しております。

そこでルーターの設定にてお伺いしたいことがございます。

環境

インターネット
|
ルータ(グローバルIP)-A
機種:NTT-ME BA8000Pro
|
メールサーバ(グローバルIP)-B
OS:Vine3.x

このように、ルータとサーバにグローバルIPが
それぞれ設定されております。

サーバにはPostfix2.0をインストールしております。

サーバ内にてmailコマンドよりmail xx@xx.info
とコマンドを入力し、サーバのシステムユーザに
メールを送ると、/home/xx/Maildir
内にメールが作成されるのが確認されます。

そこで、外部のメールアカウント(xx@yahoo.co.jp)
へメールを送ると、うまく送信されませんでした。
ログを見てみると、
"Connection timed out"
と表示されておりました。

そこでルータの設定を見てみました。
サーバーにはグローバルIPがあるためNAPTの設定は
関係ないと思い、フィルタ設定をみたところ、

■サーバー→インターネット
全て通過

■インターネット→サーバー
送信元IP:全
送信元PORT:25
送信先IP:B
送信先PORT:25
上記の条件は通過

になっておりました。
SMTPの通信は25番のはずなのでこれで問題ないと
思うのですが、

そこで、一度
■インターネット→サーバー
送信元IP:全て
送信元PORT:全て
送信先IP:B
送信先PORT:1025-10000
上記の条件は通過

として見たところ、メールが外部へ送信されました。
これは、MTA間で25番以外のポートが使用されている
ということでしょうか?

どなたか原因のわかる方がいらっしゃいましたら
アドバイスをよろしくお願いいたします。

投稿日時 - 2005-06-04 02:23:51

QNo.1427966

暇なときに回答ください

質問者が選んだベストアンサー

SMTPというよりはTCPの話ですね。

通常、TCPでは、送信元のポートは1025~65536のポート番号がランダムで使われます。(実際にどのあたりを使うかは実装に依存します)


なので、サーバBから外部にSMTP送信するときは、
「サーバBのIP:1025以上のポート」と、「相手サーバのIP:SMTPのポート(25)」との間でパケットが往復することになります。

よって、パケットをフィルタするときは、サーバBの1025-65536のポートに大してパケットが送られるようにする必要があります。

この辺は、TCP/IPの基礎的な部分です。ネットワークの参考書を買って、きちんと勉強してください。

投稿日時 - 2005-06-04 11:22:32

お礼

Toshi0230さん回答ありがとうございます。

そうでした。クライアント側は動的なポートを割り当てるのでした(25⇔25ではないですよね)。

>ネットワークの参考書を買って、きちんと勉強してください。
すでに、、本は持っていてさらに赤線が引いてありました。

まことに申し訳ありませんでした。

最後に、一応書籍によると、

「動的に割り当てるポート番号は49152~65535
らしいのですが、多くのシステムはこれを無視していて
1024以上の使われない番号を使用している。」

とのことでした。

ありがとうございました。

投稿日時 - 2005-06-04 16:22:07

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問