牛、豚、鶏、どれか一つ食べられなくなるとしたら?

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)

A 回答 (6件)

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 を再起動してください。

この回答への補足

おっしゃるとおり、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

だけになってしまいました。
デフォルト(一応バックアップを取っていた)ファイルは
もっと何かいろいろ書いてあるのですが、消えてしまってるようです。
これはこれで問題ないのでしょうか?

補足日時:2003/01/21 21:20
    • good
    • 0

>こんな行のポート80の部分を110にかえたら行ける事を確認しました。


これでもOKなのではないでしょうか?

WWWサービスを提供しないのならオッケーなのかも.
私はlokkitの設定結果は(勉強不足で)何をやっているのか理解できません.
理解できずに設定してうまくいっても気持ちが悪いので,すでに書いたとおり,全て理解できる範囲で手動で設定してます.

> これはこういうものなのでしょうか?プライベートアドレスを隠す方法とかはないのでしょうか?

こちらは私の知識を越えますし,新規に質問を起こしたほうが良いと思います.
    • good
    • 0
この回答へのお礼

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

お礼日時:2003/01/22 22:02

確認しました。



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

この回答への補足

レス有り難う御座います。
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内の構成が分かってしまいますし、セキュリティー上
気分のいいものではありません。

これはこういうものなのでしょうか?プライベートアドレスを隠す方法とかはないのでしょうか?

補足日時:2003/01/22 13:39
    • good
    • 0

あれ? 自信が無くなってきました.



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
    • good
    • 0

そんなことにならないように、



# 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

をやってください。

この回答への補足

すみませんでした
バックアップを戻してから、上記の通り再びやってみたのですが、
結果的に、元々の/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

だけでも繋がりますが、上記の方法では繋がりません。
どこがおかしいのでしょうか?
お手数お掛けしますが、宜しくお願いします。

補足日時:2003/01/22 01:00
    • good
    • 0

(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でインストールしてくれますよね?
    • good
    • 0
この回答へのお礼

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

お礼日時:2003/01/21 21:27

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