家・車以外で、人生で一番奮発した買い物

Webサーバー(CentOS,Apach)の構築経験はありますが、メールサーバーを構築するのは初めてです。Postfixの書籍を購入し、インストール・基本設定を行いました。Telnetで接続を確認する流れになっているのですがうまく接続できません。
対処法を教えていただければと思います。



環境:
自分のPC:プロバイダの変動IP
サーバー:レンタルサーバー会社のVPSサービスを利用
(固定IPを1つ割り当てられている)
サーバーのOS:CentOS 6

サーバーではバーチャルホストを1つ設定しており、Webサーバーとしては利用できています。(サーバー上にindex.htmlを設置し、自宅PCから閲覧できる状態)


自宅PC(変動IP)からDOSプロンプトのtelnetで
op xxx.xxx.xxx.xxx を実行するとサーバーにログインはできています。
(/etc/hosts.allowに「in.telnetd:プロバイダの変動IP」を設定)



接続テストではポート番号を付けて実行しているのですが、ポート番号を付けると接続できません。
(実行コマンド:Dosプロンプトからtelnet)
op xxxx.xxxx.xxx.xxx 25
(結果)
接続中: xxx.xxx.xxx.xxx ホストへ接続できませんでした。ポート番号 25:接続に失敗しました


書籍に載っている成功例は
[root@XXXXXX ~]# telnet localhost 25
Trying ::127.0.0.1
Connected to example.com (127.0.0.1)
Escape character is '^]'.
220 mail.example.com ESMTP Postfix

になっています。(ターミナルからtelnetを行っているようです。自宅PCのDOSプロンプトからのtelnetの他にターミナルからも試しましたがポート25を指定すると接続できませんでした)



#nmap localhostでサーバーのポート関係を表示させると
21/tcp open ftp
23/tcp open telnet
25/tcp open smtp
80/tcp open http
22/tcp open EtherNet/IP-1
となっており、25番は開いています。



main.cfかhttpd.confあたりの設定に問題があるような気がしていますので、疑問点を幾つか記載します。
[httpd.conf]の設定内容

ServerName xxx.xxx.xxx.xxx:80
(xxx.xxx.xxx.xxxはvpsサーバーのIPアドレス)


<VirtualHost サーバーのIPアドレス:80>
DocumentRoot /var/www/html/example.com
ServerName example.com
ServerAlias www.example.com
ErrorLog /var/log/www/www.example.com_error_log
TransferLog /var/log/www/www.example.com_access_log
</VirtualHost>



[main.cfの設定内容]

外部に送出するメールのドメイン名
myhostname = mail.example.com
※書籍どおり設定するとこのようになります。VPSなので、#hostname -f を実行すると、v0000.ttt.VPSサービス名.comというホストが返ってきます。
(疑問点)
ここで設定するドメイン名は、「mail.example.com」か「v0000.ttt.VPSサービス名.com」なのか。mail.example.comを設定するとすれば、サーバーの設定をどのようにすればよいのか?(httpd.confのバーチャルホスト設定などをどのようにすればよいのか?example.comは設定しているが、mail.example.comは設定していません。レンタルDNSサービスのTypeには下記3つを設定しています。

(1)ホスト名:example.com TYPE:MX Value:mail.example.com 優先:10
(2)ホスト名:www.example.com Type:A Value:サーバーのIP
(3)ホスト名:mail.example.com Type:A Value:サーバーのIP

)

ドメイン名の設定
mydomain = example.com
myorigin = $mydomain


メールの受け取りと受け取るドメインの設定
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain


利用可能なクライアントのネットワーク範囲の設定
書籍には mynetwork = 192.168.1.0/24, 127.0.0.0/8 となっていますが、
VPSのサーバーを借りて自宅(変動IP)から利用しているので、ここの設定は自分のIPを調べ(例:http://www.cman.jp/network/support/go_access.cgi)それを設定。
mynetwork = xxx.xxx.xxx.xxx
※書籍にはすべてコメントアウトされているのでデフォルトのままでも動作に問題はないと書いてあります。この設定は上記で良いのでしょうか?


ローカルメールの配送方式
home_mailbox = Maildir/


[Postfixのランレベル]
postfix 0:off 1:off 2:on 3:on 4:on 5:on 6:off

A 回答 (3件)

>「VPS側はたぶんoutboundもinboundもポート25は通ると思うけど」と記載されておりますが、「ポート25が通る」ということと、「outboundのポート25がプロバイダでブロックされている」ということは別物なのでしょうか?



別物です。

プロバイダがOutboundの25番ポートをブロック(プロバイダのネットワークから外部のホストの25番ポートへの接続を拒否させる)のは、迷惑メール送信をブロックさせるのが主な目的です。
たとえば、貴方のPCがウィルスに感染したりして、大量の迷惑メールを外部に送信しようとしたとします。
もちろん、貴方は全く気づきません。
そうすると大量の迷惑メールを受け取った人がプロバイダに通報するかも知れません。
# 通報されるだけならまだマシです。
通報せずに、「迷惑メール発信者」のリストに登録され、さらにプロバイダの保有しているIPアドレスの範囲全てがそのリストに登録されたらどうなるでしょう?
そのプロバイダと契約している全ての人からの正常なメールすら、相手に届かなくなります。
プロバイダにとって「送ったメールが届かない」というユーザーからのクレームは利益に繋がるでしょうか?
「迷惑メール発信者を放置しているプロバイダ」というレッテルが名誉となるものでしょうか?

メールの送信ならプロバイダのメールサーバを経由してもらえばいいだけの問題ですので、Outboundの25番を許可しておくメリット/デメリットと塞いだ場合のメリット/デメリットを比べるとどうなるのか…が判るかと思われます。
ついでに、プロバイダのメールサーバを経由させていれば、1分間にン千通とか大量にメールを送信しているユーザーを把握することも可能です。
# メールサーバへの接続回数をカウントするだけで、メールの内容までは確認する必要はありませんし、法律上メールの内容を人が確認することも出来ないでしょう。

VPSの場合はプロバイダのネットワークの外にありますし、メールの送信や受信を行うこともありますので、25番ポートのブロックは通常はされていません。
# が、迷惑メールの発信元になりたくはないでしょうからVPSの提供者によるトラフィックの監視くらいは行われているでしょう。
# 短時間に大量のメール送信が行われていると警告されると思われます。
で……メールサーバの設定をミスすると第3者中継が可能なメールサーバになってしまいますのでご注意を。
# 第3者中継が可能なメールサーバのリストに登録されたりすると、そこのサーバからのメールは受け付けない。なんてこともありますので……。


>利用可能なクライアントのネットワーク範囲の設定
>書籍には mynetwork = 192.168.1.0/24, 127.0.0.0/8 となっていますが、
>VPSのサーバーを借りて自宅(変動IP)から利用しているので、ここの設定は自分のIPを調べ(例:http://www.cman.jp/network/support/go_access.cgi)それを設定。

VPSで使うのならmynetworkは127.0.0.0/8として、サブミッションポートで認証アリに設定するべきです。
    • good
    • 0
この回答へのお礼

Wr5さん

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

「ポート25が通る」「outboundのポート25がプロバイダでブロックされている」ことが別物だということがよくわかりました。
迷惑メールの詳しい説明、プロバイダの対策などとても詳しい説明でわかりやすかったです。

「VPSで使うのならmynetworkは127.0.0.0/8として、サブミッションポートで認証アリに設定するべきです。」
というアドバイス大変参考になりました。

サブミッションポートについて調べてみます。

お礼日時:2012/12/07 15:42

私もoutboundのport 25がプロバイダでブロックされているのだと思います。



確認のために
http://www.cman.jp/network/support/port.html
このようなWebサイトで確認してはいかがでしょうか。
こちらはコンシューマ向けのプロバイダサービスとは異なりちゃんと確認できるはずです。

それでもNGの場合はiptablesの設定の可能性もあると思います。
VPS側はたぶんoutboundもinboundもポート25は通ると思うけどNGなら一応確認したほうがいいでしょう。

自宅PCでそのメールサーバを使用して送信したい場合はサブミッションポート(ポート587)を使用するようにメールサーバを設定する必要があるでしょう。
(単純に25を587に変えるだけじゃないです)

この回答への補足

御回答ありがとうございます。

教えていただいた「http://www.cman.jp/network/support/port.html」で25番ポートを確認してみました。
「ポート25にアクセスできました」と表示されます。
telnetでは25番ポートにアクセスできなかったので、25番が通っているかどうかもわかりませんでしたが、25番ポートが通っていることが確認できました。ありがとうございます。


「VPS側はたぶんoutboundもinboundもポート25は通ると思うけど」と記載されておりますが、「ポート25が通る」ということと、「outboundのポート25がプロバイダでブロックされている」ということは別物なのでしょうか?

理解としては
「ポート25番は通っているけれど、プロバイダ側でアウトバウンドをブロックしている」
よって、No1の回答者である、coaiさんのおっしゃるように「inbound port 25 blocking,outbound port 25 blocking 」の対策が必要ということになるのでしょうか?

補足日時:2012/12/03 20:57
    • good
    • 1

inbound port 25 blocking,outbound port 25 blocking このあたりはクリアできていますか?



>サーバー:レンタルサーバー会社のVPSサービスを利用
ということですので、とりあえずinbound側は問題ないと仮定するのはいいとして、現在ほとんどのプロバイダはoutbound側をブロックしているため、port25で外に出る事ができない(場合が多い)と思います。

ちゃんと読まずに、決め打ちで回答しているため、ハズしている可能性もあり。

この回答への補足

御回答ありがとうございます。
「inbound port 25 blocking,outbound port 25 blocking 」はまったく考慮していませんでした。

No.2の回答者であるmaesenさんも同様のご意見でした。
ポートをチェックするサイトを教わりましたのでチェックしました。25番は通ってはいるようです。
相変わらずtelnetで接続しようとすると接続できません。

「inbound port 25 blocking,outbound port 25 blocking 」の対策としてはどのような対応を取ればよいのでしょうか?
(1)Postfixの設定を変える
(2)サーバーの設定を変える
(3)その他

補足日時:2012/12/03 22:42
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報