海外在住でその国にサーバーがあるVPS(CentOS 5)でSquid(v2.6 Stable21)を構築しましたが応答しません。
VPSにあるWebサーバー(Apache)にはアクセスでき、正常に表示されるのですが、Squidはうんともすんともいわないです。
Squidは起動しており、sudo /etc/init.d/squid status を実行すると、
squid (pid 2649) is running...
と表示されます。
しかし、IEでプロキシの設定をしてアクセスすると「プロキシ サーバーは応答していません」と表示され、そのままネットワーク診断をすると「リソース(Webプロキシ)はオンラインですが、接続試行には応答していません。」と表示されます。
アクセスログは空のままで、リスタートした際のキャッシュログは以下のようになっています。
Basic認証等もしておらず、http_access allow allとしています(そもそもアクセスログに何も残っていないですが)
VPS側から他のネットワークにpingを飛ばしてみても正常に動いていますし、クライアントからVPS側にpingを飛ばしても正常に返ってきます。
squid.outには何もエラーは表示されておらず、store.logも空です。
/etc/sysconfig/iptables に下記を追加し、ポート3128も解放しています。
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3128 -j ACCEPT
また、クライアント側で他の公開されているプロキシを利用した際は正常に動いています。
何か考えられる原因や解決方法がありましたら、ご教示ください。
Preparing for shutdown after 0 requests
Waiting 30 seconds for active connections to finish
FD 14 Closing HTTP connection
Shutting down...
FD 15 Closing ICP connection
Closing unlinkd pipe on FD 12
storeDirWriteCleanLogs: Starting...
Finished. Wrote 0 entries.
Took 0.0 seconds ( 0.0 entries/sec).
CPU Usage: 0.012 seconds = 0.008 user + 0.004 sys
Maximum Resident Size: 23984 KB
Page faults with physical i/o: 2
Memory usage for squid via mallinfo():
total space in arena: 2508 KB
Ordinary blocks: 2430 KB 5 blks
Small blocks: 0 KB 5 blks
Holding blocks: 244 KB 1 blks
Free Small blocks: 0 KB
Free Ordinary blocks: 77 KB
Total in use: 2674 KB 97%
Total free: 77 KB 3%
Squid Cache (Version 2.6.STABLE21): Exiting normally.
Starting Squid Cache version 2.6.STABLE21 for i686-redhat-linux-gnu...
Process ID 2649
With 1024 file descriptors available
Using epoll for the IO loop
DNS Socket created at 0.0.0.0, port 41221, FD 7
Adding nameserver 8.8.8.8 from /etc/resolv.conf
Adding nameserver 8.8.4.4 from /etc/resolv.conf
User-Agent logging is disabled.
Referer logging is disabled.
Unlinkd pipe opened on FD 12
Swap maxSize 102400 + 8192 KB, estimated 0 objects
Target number of buckets: 425
Using 8192 Store buckets
Max Mem size: 8192 KB
Max Swap size: 102400 KB
Local cache digest enabled; rebuild/rewrite every 3600/3600 sec
Rebuilding storage in /var/spool/squid (CLEAN)
Using Least Load store dir selection
Set Current Directory to /var/spool/squid
Loaded Icons.
Accepting proxy HTTP connections at 0.0.0.0, port 3128, FD 14.
Accepting ICP messages at 0.0.0.0, port 3130, FD 15.
WCCP Disabled.
Ready to serve requests.
Done reading /var/spool/squid swaplog (0 entries)
Finished rebuilding storage from disk.
0 Entries scanned
0 Invalid entries.
0 With invalid flags.
0 Objects loaded.
0 Objects expired.
0 Objects cancelled.
0 Duplicate URLs purged.
0 Swapfile clashes avoided.
Took 0.3 seconds ( 0.0 objects/sec).
Beginning Validation Procedure
Completed Validation Procedure
Validated 0 Entries
store_swap_size = 0k
storeLateRelease: released 0 objects
お礼
回答ありがとうございます。 はい、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を提供している側のルーターの問題の可能性が高いのでしょうか? それともポート開放の方法が間違っているのでしょうか? あまり長時間プロキシサーバーを起動しておくつもりはないので、そこまで問題があるわけではないのですが、セキュリティー上あまり好ましくないと思うので、できたら適当なポートに変更したいのですが。
補足
いずれにせよ、とりあえず解決しましたので、回答を締め切りますね。ありがとうございました。