• ベストアンサー

qpopper(POP-3サービス)について

pop3サービスを立ち上げようと思って、 qpopperを入れたのですが、 自分自身(localhost)は接続できるのですが、 その他のクライアントから一切接続できない状況で困っています。 やったことを書くと tar zxvf qpopper4.0.4.tar.gz で解凍 ./configure --enable-specialauth  を実行 その後にmake そして、出来上がったpopperディレクトリを /usr/local/sbin の中に丸ごとcpでコピーしました。 その後に、/etc/xinetd.d/popperを新規作成し、 service pop3 { socket_type = stream protocol = tcp wait = no user = root server = /usr/local/sbin/popper/popper server_args = -s disable = no log_on_success += USERID log_on_failure += USERID } と加え、xinedを再起動しました。 この時点で、telnetでlinuxマシンに繋ぎ、 localhost 110を叩いてやると、 ちゃんとqpopperが起動しているのが分かるんですが、 他のマシンから(LAN内の)  telnet (linuxマシンの内部IP) 110 としても、サーバーに接続できませんでした。 とエラーが帰ってきます。アウトルックやポストペットでも 接続できません。 自分自身からのみしか接続できないようです。 どうしたら、他のクライアントからも ちゃんと接続できるようになるでしょうか? 困っています。教えて下さい。 (Red Hat 8.0 , qpopper4.0.4)

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

  • ベストアンサー
  • astronaut
  • ベストアンサー率58% (303/516)
回答No.2

iptablesが原因だというのに一票です。 /etc/rc.d/init.d/iptables stop とやって外部から接続できるようなら、以下のようにすれば 良いと思います。 # iptablesの現在の設定を読みこむ /etc/rc.d/init.d/iptables start # pop3を許可する /sbin/iptables -A INPUT -p tcp --dport 110 -j ACCEPT # 設定を保存する iptables-save > /etc/sysconfig/iptables ちなみに、redhat8.0 では pop3 サービスは imap パッケージに 含まれています。 デフォルトで /etc/xinetd.d/ipop3 で disable = yes になっています ので、no にして xinetd を再起動してください。

sachiko0927
質問者

補足

おっしゃるとおり、iptablesが原因でした。 astronautさんがおっしゃる設定でなんとかうまくいってますが /etc/sysconfig/iptables ファイルが、上記のコマンドを実行した後、ファイルの中身が (# pop3を許可する /sbin/iptables -A INPUT -p tcp --dport 110 -j ACCEPT # 設定を保存する iptables-save > /etc/sysconfig/iptables )*このコマンド # Generated by iptables-save v1.2.6a on Tue Jan 21 21:12:53 2003 *filter :INPUT ACCEPT [52:3858] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [50:4765] -A INPUT -p tcp -m tcp --dport 110 -j ACCEPT COMMIT # Completed on Tue Jan 21 21:12:53 2003 だけになってしまいました。 デフォルト(一応バックアップを取っていた)ファイルは もっと何かいろいろ書いてあるのですが、消えてしまってるようです。 これはこれで問題ないのでしょうか?

その他の回答 (5)

  • astronaut
  • ベストアンサー率58% (303/516)
回答No.6

>こんな行のポート80の部分を110にかえたら行ける事を確認しました。 これでもOKなのではないでしょうか? WWWサービスを提供しないのならオッケーなのかも. 私はlokkitの設定結果は(勉強不足で)何をやっているのか理解できません. 理解できずに設定してうまくいっても気持ちが悪いので,すでに書いたとおり,全て理解できる範囲で手動で設定してます. > これはこういうものなのでしょうか?プライベートアドレスを隠す方法とかはないのでしょうか? こちらは私の知識を越えますし,新規に質問を起こしたほうが良いと思います.

sachiko0927
質問者

お礼

了解いたしました。 astronautさんのおかげで解決することができました。 ありがとうございました。

  • astronaut
  • ベストアンサー率58% (303/516)
回答No.5

確認しました。 lokkit で設定を行なったあとに、手動で110番を開けてもだめなよ うですね。 おそらく,インストール時に、「ファイアーウォールの設定」という部分で「高」か「中」を選択されたと思います。(実はこれがlokkit…だと思う) lokkitを使いたいなら、以下のようにしてPOP3を許可できました。 ・lokkit を起動 ・「Customize」を選択 ・「Trusted Devices」 で 「eth0」を選択 ・WWW, SSH, FTP など,許可したいサービスを選択 ・Other Ports の欄に 「110」 と記入 ・「OK」「OK」で終了 デバイスやサービスは適宜読みかえてくださいね. もっと細かに設定したいなら,iptables というキーワードで Web を 検索すれば有用なサイトがたくさんありますので,勉強してみて ください. localなネットワークならファイアーウォール無しという選択肢もあ ります. $ /etc/rc.d/init.d/iptables stop $ chkconfig --level 2345 iptables off

sachiko0927
質問者

補足

レス有り難う御座います。 iptablesファイルの元々書いてある -A RH-Lokkit-0-50-INPUT -p tcp -m tcp --dport 80 --tcp-flags SYN,RST,ACK SYN -j ACCEPT こんな行のポート80の部分を110にかえたら行ける事を確認しました。 これでもOKなのではないでしょうか? とにかくどのみち勉強不足ですね。 あと一つだけ気になるんですか、めでたくメーラーで受信が可能になるわけですが、 クライアントからこのメールサーバーを通して外部に送ったメールのヘッダーに 送信に使ったマシンのプライベートアドレスが出ています。 これではLAN内の構成が分かってしまいますし、セキュリティー上 気分のいいものではありません。 これはこういうものなのでしょうか?プライベートアドレスを隠す方法とかはないのでしょうか?

  • astronaut
  • ベストアンサー率58% (303/516)
回答No.4

あれ? 自信が無くなってきました. lokkit なんかで,security level 「high」なんかにしてるとだめかもと思いますが,今ネットワーク環境にいないので確認できません. ちなみに,私はlokkitで設定せずに,以下のようなスクリプトで設定してから iptables-save で設定を保存してます. ネットワーク環境に依存する話なので,参考程度に見て下さい. #!/bin/bash #[ 基本ポリシー ] # 外部からのパケットは原則廃棄. iptables -P INPUT DROP # パケットの転送はしない. iptables -P FORWARD DROP # 外部へのパケットは原則許可. iptables -P OUTPUT ACCEPT #[ 個別ルール ] # 内部から接続を確立したコネクションのパケットは受け入れる. iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT # このあとに,個別に開けたいポートを設定 # 例えば, iptables -A INPUT -p tcp --dport 110 -j ACCEPT

  • astronaut
  • ベストアンサー率58% (303/516)
回答No.3

そんなことにならないように、 # iptablesの現在の設定を読みこむ /etc/rc.d/init.d/iptables start から書いたのに…しくしく。これを飛ばしたでしょう? ファイアーウォールの設定ですから、問題ないかどうかは、 接続環境とセキュリティポリシーによります。 少なくとも、インターネットに接続しているなら、問題ありだと思います。 でも、バックアップをとってあれば大丈夫。 (書こうと思って忘れてて気になってました。) バックアップを元に戻して、 /etc/rc.d/init.d/iptables restart してから、 /sbin/iptables -A INPUT -p tcp --dport 110 -j ACCEPT iptables-save > /etc/sysconfig/iptables をやってください。

sachiko0927
質問者

補足

すみませんでした バックアップを戻してから、上記の通り再びやってみたのですが、 結果的に、元々の/etc/sysconfig/iptables に 「-A INPUT -p tcp --dport 110 -j ACCEPT」 この行が1行加わればいいんですよね? 加わったのですが、接続できない状態が続きます。 iptablesをOFFにすると問題なく繋がりますし、 間違った設定? # Generated by iptables-save v1.2.6a on Tue Jan 21 21:12:53 2003 *filter :INPUT ACCEPT [52:3858] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [50:4765] -A INPUT -p tcp -m tcp --dport 110 -j ACCEPT COMMIT # Completed on Tue Jan 21 21:12:53 2003 だけでも繋がりますが、上記の方法では繋がりません。 どこがおかしいのでしょうか? お手数お掛けしますが、宜しくお願いします。

  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.1

(1) /etc/xinetd.d/popperに only_from = 192.168.1.0/24 のように接続の許可を指定したらどうなりますか? (2) /etc/hosts.allowに サービス名: 192.168.1.0/255.255.255.0 のように接続の許可を指定したらどうなりますか? あと、気になるのは >/usr/local/sbin の中に丸ごとcpでコピーしました。 make installでインストールしてくれますよね?

sachiko0927
質問者

お礼

知恵を貸して頂いて有り難う御座います。 しかし、他の方のアドバイスが今回の質問内容の解決方法に 該当しました。どうも有り難う御座いました。

関連するQ&A