• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Squidが応答しません)

Squidが応答しない

このQ&Aのポイント
  • 海外在住のVPS(CentOS 5)で構築したSquid(v2.6 Stable21)が応答しない。
  • VPSのWebサーバー(Apache)にはアクセスできるが、Squidは応答しない。
  • Squidは起動しており、プロキシの設定も正しく行われているが、プロキシサーバーとの通信ができない。

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

そのサーバー自体にはsshなどでログインできるのですよね? ログイン後 telnet localhost 3128 など、自分自身で参照してみてください httpサーバーのように Escape character is '^]'. 的な戻りがあれば「GET /」 などでとりあえず戻ってくることを確認し、 access.logが更新されているかみてみてください。 自分自身でOKなら、次は別マシンからテスト、 戻ってこないならポートがうまくあいていないかも

Lmwt3LRf
質問者

お礼

回答ありがとうございます。 はい、SSHで接続しています。 そのSSHからおっしゃる通り、「telnet localhost 3128」で試したところ、access.logが更新されていることを確認しました。 その後、今度はそのSSHクライアントを動かしているPCのコマンドプロンプトから試したところ、 接続中: XXX.XXX.XXX.XXX...ホストへ接続できませんでした。 ポート番号 3128: 接続に 失敗しました と表示されたので、おっしゃる通り、ポートがうまく開いていないようです。 iptablesには -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 20 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 2748 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 3128 -j ACCEPT と記述しており、ポート80、20、21、2748はデフォルトで書かれていたものです。そのうち、80、2748(SSH)にはtelnetで接続が成功しましたが、20と21には接続できませんでした(ソフトを立ち上げていないので)。 また3128の行を記述し、保存したのち、 sudo service iptables save sudo service iptables restart を実行しているので、サーバー側の設定は間違ってないのかな?と思っています。 netstat -napで確認したところ、 Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:3128 0.0.0.0:* LISTEN 10426/(squid) namp 127.0.0.1 で確認したところ、 PORT STATE SERVICE 3128/tcp open squid-http iptables -l で確認したところ、 ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:squid となっていました。 ただ、あくまで待ち受け状態で、接続を確立はしていないようです。 そこでSquidのポートをデフォルトでiptalbesに記載してあった20に変更してみたところ、すべてうまくいき、プロキシサーバーとして使用できるようになりました。 これは、ポート開放に関して、ファイアーウォールの問題というよりも、VPSを提供している側のルーターの問題の可能性が高いのでしょうか? それともポート開放の方法が間違っているのでしょうか? あまり長時間プロキシサーバーを起動しておくつもりはないので、そこまで問題があるわけではないのですが、セキュリティー上あまり好ましくないと思うので、できたら適当なポートに変更したいのですが。

Lmwt3LRf
質問者

補足

いずれにせよ、とりあえず解決しましたので、回答を締め切りますね。ありがとうございました。

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

squidのログには何もかかれていませんか?

Lmwt3LRf
質問者

お礼

回答ありがとうございます。 squidのログが具体的に何を指しているのかわかりませんが、access.logには何も残っていませんでしたし、squid.outには構築時にいくつかつまずいた際のエラーしか表示されていませんでした。構築成功後、リスタートしたり接続を試した時には何も記録されていません。cache.logは質問に書いた通りで、store.logにも何も残っていませんでした。 ちなみに、ポートの開放はnmapで確認したところ、 PORT STATE SERVICE 3128/tcp open squid-http となっていたので、成功しているはずです。 ええと、これが質問した時の状況だったのですが、また何かできないか試していたところ、access.logに XXX.34.22.39 - - [18/Jun/2014:21:27:02 -0400] "CONNECT smtp.mail.yahoo.com:25 HTTP/1.0" 403 1349 TCP_DENIED:NONE XXX.34.22.39 - - [18/Jun/2014:21:28:42 -0400] "CONNECT smtp.mail.yahoo.com:25 HTTP/1.0" 403 1349 TCP_DENIED:NONE と記録されていました。スパムの踏み台にされそうだったのかな? たぶん25番ポートで接続を試みてたみたいなので、失敗していますが、一応何らかのクライアントからは接続できているみたいです。 私のほうのからは依然接続できていませんが…。 上記に関連しての記録はsquid.outとcache.logにはありませんでした。