はじめまして、くろと申します。
ADLSモデムの設定について調べていたところ
貴サイトに辿り着きました。
私のADSLモデムはTE4121Cを使用しており
自宅サーバも最近立てたばかりです。
自宅サーバは、fedora core4をインストールし
postfixをインストールしました。
メールクライアントから送受信のテストを行おうとした場合、
受信は正常に出来るのですが、送信する際にメールサーバへ接続が出来ない状態になります
サーバのターミナルから、telnet localhost 25
と入力すると、接続が出来るのですが、
クライアントとなるWindowsPCからtelnet サーバIP 25で
接続することが出来ません。
また、ポートを調べるサイトでサーバのポートを調べてみたところ
smtpはクローズされています。
多分、ADSLモデム(ルータ)の部分に問題があるのかと思うのですが
今ひとつ分からないので、ご教授いただけましたら、お願い致します。
NATアドレス変換
No. 優先度 接続先の名称 LAN側IPアドレス ADSL側IPアドレス プロトコル ポート番号
1 3 接続先1 192.168.1.2 自ADSL側アドレス TCP www
2 4 接続先1 192.168.1.2 自ADSL側アドレス TCP pop3
3 1 接続先1 192.168.1.2 自ADSL側アドレス TCP smtp
NATアドレス・ポート変換
No. 優先度 接続先の名称 LAN側IPアドレス ADSL側IPアドレス プロトコル LAN側ポート番号 ADSL側ポート番号
1 2 接続先1 192.168.1.2 自ADSL側アドレス TCP www www
2 4 接続先1 192.168.1.2 自ADSL側アドレス TCP pop3 pop3
3 1 接続先1 192.168.1.2 自ADSL側アドレス TCP smtp smtp
と設定しており、IPフィルタは特に掛けておりません。
宜しくお願い致します。
> サーバのターミナルから、telnet localhost 25
> と入力すると、接続が出来るのですが、
> クライアントとなるWindowsPCからtelnet サーバIP 25で
> 接続することが出来ません。
> また、ポートを調べるサイトでサーバのポートを調べてみたところ
> smtpはクローズされています。
WindowsPCはサーバと同じネットワークなんでしょうか??
iptablesでフィルタしているとかないですか?
WindowsPCからのtelnet接続でどんなメッセージが表示されたのかも掲示された方がよろしいかと。
瀬戸っぷ さん おやじさん
こんばんわ、くろです。
> WindowsPCはサーバと同じネットワークなんでしょうか??
はい、同じネットワークで、192.168.1.2がサーバのIPアドレスになり
192.168.1.3以降がWindowsのPCのIPになります。
> iptablesでフィルタしているとかないですか?
特に設定は行っていないので、フィルタはしていないかと思います。
ですが、念のために
/etc/rc.d/init.d/iptables stop
と入力し停止をして、Windowsのメーラーから接続してみましたが、
ダメでした。
> WindowsPCからのtelnet接続でどんなメッセージが表示されたのかも掲示された方がよろしいかと。
すみません、そうですね。ご指摘ありがとうございます。
telnet 192.168.1.2 25とコマンドプロンプトから入力し、
返ってきましたメッセージとしては、
「接続中: 192.168.1.2...ホストへ接続できませんでした ポート番号 25 : 接続に失敗しました」
というメッセージになります。
おやじさん
NATアドレス・ポート変換に関して、ご教授頂いたように
設定を削除しました。
削除を行い、再度telnetで25にアクセスしてもダメでした。
telnetで110には接続することが出来るのですが。
> telnet 192.168.1.2 25とコマンドプロンプトから入力し、
> 返ってきましたメッセージとしては、
> 「接続中: 192.168.1.2...ホストへ接続できませんでした ポート番号 25 : 接続に失敗しました」
> というメッセージになります。
1. サーバ機自身では25番に接続できる。
2. サーバ機のiptablesは止まっている。
3. 110番ならwindowsクライアントからtelnetできる。
4. 25番ではwindowsクライアントからtelnetできない。
としたら、クライアントのファイヤウォール(アンチウイルス含む)が怪しい気がします。止めてみてどうなるか?
FC4でtcpdump「tcpdump host 192.168.1.2」すればパケットキャプチャできますが、パケットキャプチャしても25番はアクセスがないのでは? つまり、サーバまできていないということはありませんか?
おやじさん
こんばんわ、くろです。
教えていただきました通り、サーバ上でtcpdump host 192.168.1.2と
実行しましたところ、
02:55:43.130187 IP 192.168.1.4.supfiledbg > 192.168.1.2.smtp: S 208140634:208140634(0) win 16384 <mss 1460,nop,nop,sackOK>
02:55:43.130218 IP 192.168.1.2.smtp > 192.168.1.4.supfiledbg: R 0:0(0) ack 208140635 win 0
02:55:43.615818 IP 192.168.1.4.supfiledbg > 192.168.1.2.smtp: S 208140634:208140634(0) win 16384 <mss 1460,nop,nop,sackOK>
02:55:43.615850 IP 192.168.1.2.smtp > 192.168.1.4.supfiledbg: R 0:0(0) ack 1 win 0
02:55:44.117428 IP 192.168.1.4.supfiledbg > 192.168.1.2.smtp: S 208140634:208140634(0) win 16384 <mss 1460,nop,nop,sackOK>
02:55:44.117454 IP 192.168.1.2.smtp > 192.168.1.4.supfiledbg: R 0:0(0) ack 1 win 0
02:55:44.120761 IP 192.168.1.4.1128 > 192.168.1.2.smtp: S 683924146:683924146(0) win 16384 <mss 1460,nop,nop,sackOK>
02:55:44.120780 IP 192.168.1.2.smtp > 192.168.1.4.1128: R 0:0(0) ack 683924147 win 0
02:55:44.618911 IP 192.168.1.4.1128 > 192.168.1.2.smtp: S 683924146:683924146(0) win 16384 <mss 1460,nop,nop,sackOK>
02:55:44.618943 IP 192.168.1.2.smtp > 192.168.1.4.1128: R 0:0(0) ack 1 win 0
02:55:45.120498 IP 192.168.1.4.1128 > 192.168.1.2.smtp: S 683924146:683924146(0) win 16384 <mss 1460,nop,nop,sackOK>
02:55:45.120531 IP 192.168.1.2.smtp > 192.168.1.4.1128: R 0:0(0) ack 1 win 0
というように表示がされました。
はじめて使うコマンドで、どういう風に解釈していいのか
分からないのですが、パケットはサーバまで届いているように思えます。
> おやじさん > > 02:55:43.130187 IP 192.168.1.4.supfiledbg > 192.168.1.2.smtp: S 208140634:208140634(0) win 16384 <mss 1460,nop,nop,sackOK> > 02:55:43.130218 IP 192.168.1.2.smtp > 192.168.1.4.supfiledbg: R 0:0(0) ack 208140635 win 0 > 02:55:43.615818 IP 192.168.1.4.supfiledbg > 192.168.1.2.smtp: S 208140634:208140634(0) win 16384 <mss 1460,nop,nop,sackOK> > 02:55:43.615850 IP 192.168.1.2.smtp > 192.168.1.4.supfiledbg: R 0:0(0) ack 1 win 0 > 02:55:44.117428 IP 192.168.1.4.supfiledbg > 192.168.1.2.smtp: S 208140634:208140634(0) win 16384 <mss 1460,nop,nop,sackOK> > 02:55:44.117454 IP 192.168.1.2.smtp > 192.168.1.4.supfiledbg: R 0:0(0) ack 1 win 0 > 02:55:44.120761 IP 192.168.1.4.1128 > 192.168.1.2.smtp: S 683924146:683924146(0) win 16384 <mss 1460,nop,nop,sackOK> > 02:55:44.120780 IP 192.168.1.2.smtp > 192.168.1.4.1128: R 0:0(0) ack 683924147 win 0 > 02:55:44.618911 IP 192.168.1.4.1128 > 192.168.1.2.smtp: S 683924146:683924146(0) win 16384 <mss 1460,nop,nop,sackOK> > 02:55:44.618943 IP 192.168.1.2.smtp > 192.168.1.4.1128: R 0:0(0) ack 1 win 0 > 02:55:45.120498 IP 192.168.1.4.1128 > 192.168.1.2.smtp: S 683924146:683924146(0) win 16384 <mss 1460,nop,nop,sackOK> > 02:55:45.120531 IP 192.168.1.2.smtp > 192.168.1.4.1128: R 0:0(0) ack 1 win 0 > > というように表示がされました。 > > はじめて使うコマンドで、どういう風に解釈していいのか > 分からないのですが、パケットはサーバまで届いているように思えます。 tcpdumpの見方はググレばわかりますので、少し勉強されるといいです。 まず、上記でわかることは、サーバまでパケットが来ているのは間違いないので、ファイヤウォールを含めてネットワーク的な問題 はないと言えます。(この時点では、FC4のファイヤウォールは止めているでしょうからいいですが、ファイヤウォールを動かしたら それなりの設定は必要ですよ。) 但し、クライアントからのSMTP接続要求に対して、サーバ側が接続を拒否してますのでこれではつながりません。 本来なら、上記の2行目は細かいところは不定ですが、つながる時は下記のようにならなければなりません。 1行目: 02:55:43.130187 IP 192.168.1.4.supfiledbg > 192.168.1.2.smtp: S 208140634:208140634(0) win 16384 <mss 1460,nop,nop,sackOK> 2行目: 02:55:43.130218 IP 192.168.1.2.smtp > 192.168.1.4.supfiledbg: S xxxxxx:xxxxxx(0) ack yyyyyy win zzzzzz ^^^ ^^^ 3行目: 02:55:43.130255 IP 192.168.1.4.supfiledbg > 192.168.1.2.smtp: . ack 1 win xyz ^^^^^^ TCPのセッションは下記にもあるように、正常なら上記のように SYN -> SYN/ACK -> ACK とフラグは遷移していきますが、tcpdumpの 結果の2行目はRST/ACKになっているので、サーバ側から接続を拒否しています。 http://www.aconus.com/~oyaji/router/tcp.htm 従って、localhostではつながるということですから、Postfixの設定でlocalhost以外からの接続を許容しない設定になっていて 拒否されていると考えるのが自然と思います。 ただ、最初から拒否する設定が思いつかないのですよね。 「netstat -an --tcp」 した時、25番ポートは0.0.0.0でlistenされてますか? もし違うなら、「inet_interfaces」はコメントアウトされていますか? おやじの正常に動作している例です。 22:54:09.225757 IP oyaji.aconus.com.vfo > server.aconus.com.smtp: S 691107607:691107607(0) win 65535 <mss 1460,nop,nop,sackOK> 22:54:09.225878 IP server.aconus.com.smtp > oyaji.aconus.com.vfo: S 4251925242:4251925242(0) ack 691107608 win 5840 <mss 1460,nop,nop,sackOK> 22:54:09.226919 IP oyaji.aconus.com.vfo > server.aconus.com.smtp: . ack 1 win 65535
おやじさん
ありがとうございました。
おやじさんのおっしゃる通り、postfixが接続を拒否していました。
ありがとうございました。
> 私のADSLモデムはTE4121Cを使用しており
> 自宅サーバも最近立てたばかりです。
>
> 自宅サーバは、fedora core4をインストールし
> postfixをインストールしました。
>
> メールクライアントから送受信のテストを行おうとした場合、
> 受信は正常に出来るのですが、送信する際にメールサーバへ接続が出来ない状態になります
>
> サーバのターミナルから、telnet localhost 25
> と入力すると、接続が出来るのですが、
> クライアントとなるWindowsPCからtelnet サーバIP 25で
> 接続することが出来ません。
> また、ポートを調べるサイトでサーバのポートを調べてみたところ
> smtpはクローズされています。
>
> 多分、ADSLモデム(ルータ)の部分に問題があるのかと思うのですが
> 今ひとつ分からないので、ご教授いただけましたら、お願い致します。
>
> NATアドレス変換
> No. 優先度 接続先の名称 LAN側IPアドレス ADSL側IPアドレス プロトコル ポート番号
> 1 3 接続先1 192.168.1.2 自ADSL側アドレス TCP www
> 2 4 接続先1 192.168.1.2 自ADSL側アドレス TCP pop3
> 3 1 接続先1 192.168.1.2 自ADSL側アドレス TCP smtp
>
> NATアドレス・ポート変換
> No. 優先度 接続先の名称 LAN側IPアドレス ADSL側IPアドレス プロトコル LAN側ポート番号 ADSL側ポート番号
> 1 2 接続先1 192.168.1.2 自ADSL側アドレス TCP www www
> 2 4 接続先1 192.168.1.2 自ADSL側アドレス TCP pop3 pop3
> 3 1 接続先1 192.168.1.2 自ADSL側アドレス TCP smtp smtp
>
> と設定しており、IPフィルタは特に掛けておりません。
原因は、1点しかないように思えます。
ローカルでつながらない(サーバ機以外の家庭内クライアントからのアクセス)件は、瀬戸っぷ さんが言っているようにFC4のファイアウォールで止まっていると思われます。これは、外部からのポートスキャンが開かない原因にもなっていると思います。
後、一点、論理的におかしいところがあります。内部動作がわからないので単に冗長になっているだけかもしれませんが、 NATアドレス変換とNATアドレス・ポート変換は論理的にはどちらか一方を使うべきものです。つまり、外部からきたパケットのポートをいじらずに通すのがNATアドレス変換であり、ポートを変更するのが(するかしないかは設定に基づく結果論であって処理上は変換する)NATアドレス・ポート変換ですから、同じ到着ポートで両方実施しろと言われたらどうして良いかルータはわからないですよね。下記にもありますが、ポートを変更する必要がなければNATアドレス変換だけにすれば良いです。
http://www.aconus.com/~oyaji/router/te4121c_conf.htm