- PR -

Squid(Windows版)を経由してのFTP

1
投稿者投稿内容
おさる
会議室デビュー日: 2004/06/06
投稿数: 3
投稿日時: 2005-07-06 14:57
Squid(Windows版)を経由してFTPサーバーに接続できず難儀しております。

□環境
・Squid(Windows版):2.5.4
・FTPクライアント:Windows2000

□状況
FTPコマンド"Open 192.168.0.11 8080"でSquidに接続するのですが"Connected to 192.168.0.11."が返っきたままで、暫くすると"Connection closed by remote host."で接続が切れてしまいます。
---------------------------------
C:\Documents and Settings\administrator>ftp
ftp> open 192.168.0.11 8080
Connected to 192.168.0.11.
Connection closed by remote host.
ftp>
---------------------------------
同じくSquidを経由したブラウザ(ie)での接続もできません。
Squidを経由しない接続は可能であることは確認しております。

十分なスキルトランスファーができないうちに前任者はいなくなりましたので、Squid自体を理解していません。(恥)
皆様のお知恵をお貸しください。


squid.conf ----------------------
http_port 8080

hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY

cache_dir ufs d:/squid/var/cache 100 16 256
cache_access_log d:/squid/var/logs/access.log
cache_log d:/squid/var/logs/cache.log
cache_store_log d:/squid/var/logs/store.log
mime_table d:/squid/etc/mime.conf
pid_filename d:/squid/var/logs/squid.pid

ftp_user admin@mydomain.co.jp

diskd_program d:/squid/libexec/diskd.exe
unlinkd_program d:/squid/libexec/unlinkd.exe

auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off

refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320

acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl localnet src 192.168.0.0/255.255.255.0
acl mydomainhttp src "d:/squid/etc/mydomainhttp.txt"
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT

http_access allow manager localhost
http_access allow mydomainhttp
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access deny all
http_reply_access allow all
icp_access allow all

cache_mgr admin@mydomain.co.jp
visible_hostname proxy.mydomain.co.jp
logfile_rotate 100
forwarded_for off

icon_directory d:/squid/share/icons
error_directory d:/squid/share/errors/Japanese
coredump_dir d:/squid/var/cache
---------------------------------
cn009
ベテラン
会議室デビュー日: 2004/05/13
投稿数: 72
投稿日時: 2005-07-06 15:59
squidはクライアントとはHTTPで通信し、FTPサーバとはFTPで通信します。
ですから、FTPしか話せないクライアントをsquid経由で使用することは出来ません。

ブラウザの場合はFTPのProxyを指定するとProxyとはHTTPで
通信すると思っていたのですが、違う場合もあるようですね。

http://koba.to/doc/squid.html

「FTPサイト用のフォルダビューを使用する」のチェックを外せば通信できそうですね。
ただしアップロードが出来ないので用途によっては困るかもしれません。
その場合は、Socksやクライアントの通信もFTPを使うProxyを利用するしかないです。
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2005-07-06 21:01
こんばんわ.
引用:

cn009さんの書き込み (2005-07-06 15:59) より:

squidはクライアントとはHTTPで通信し、FTPサーバとはFTPで通信します。
ですから、FTPしか話せないクライアントをsquid経由で使用することは出来ません。


ですね.
squid は ftp proxy としては機能しません.
WWW browser の簡易 ftp 機能のための proxy ですね.
※世の中的に HTTP proxy 経由で利用できる FTP client ってあるのでしょうか?
※ffftp の TODO では対応することを検討されているようですが...
引用:

ブラウザの場合はFTPのProxyを指定するとProxyとはHTTPで
通信すると思っていたのですが、違う場合もあるようですね。


どの辺が「違う場合」なのでしょうか?
WWW browser -- squid 間は HTTP で正しいのでは?
cn009
ベテラン
会議室デビュー日: 2004/05/13
投稿数: 72
投稿日時: 2005-07-07 01:47
引用:

どの辺が「違う場合」なのでしょうか?
WWW browser -- squid 間は HTTP で正しいのでは?



IEで「FTPサイト用のフォルダビュー」を使用すると、クライアントとProxyとの間も
FTPで通信するのだと思い込んでいました。
FTP Proxy は中継開始時のパターンが色々あるようですし、
IDやパスワードもあるようなので、その設定が無いという時点で気づくべきでした。

実際に試してみたところ、「FTPサイト用のフォルダビュー」を使用しない場合は
squidとの間でHTTPで通信していました。
「FTPサイト用のフォルダビュー」を使用した場合は
Proxyの設定の有無に関わらず、直接通信していました。
プロトコルごとにProxyを指定したのにProxyを使わないとは、想定外でした。

そういう動作をするとなると、おさるさんの
引用:

同じくSquidを経由したブラウザ(ie)での接続もできません。


という原因も変わってきそうですね。

設定に、localnet の定義がありますが、それをアクセスリストに追加してないですね。
localnet の定義と「http_access deny all」の間に「http_access allow localnet」が抜けているのでは?
でもそうだとするとHTTPも中継してくれないはずだし、IEでFTPを試したときに
許可されてないというエラーを見ているはず。。。

引用:

※世の中的に HTTP proxy 経由で利用できる FTP client ってあるのでしょうか?
※ffftp の TODO では対応することを検討されているようですが...



ffftp の TODO は見つけることが出来ませんでした。
HTTP Proxy 経由でアップロードも出来るクライアントは聞いたことが無いですね。
HTTP PUT 等を FTP STOR に変換してくれるような HTTP Proxy はあるのでしょうか?
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2005-07-07 02:20
引用:

cn009さんの書き込み (2005-07-07 01:47) より:

実際に試してみたところ、「FTPサイト用のフォルダビュー」を使用しない場合は
squidとの間でHTTPで通信していました。
「FTPサイト用のフォルダビュー」を使用した場合は
Proxyの設定の有無に関わらず、直接通信していました。
プロトコルごとにProxyを指定したのにProxyを使わないとは、想定外でした。


とすると,「FTPサイト用のフォルダビュー」を利用する場合,
firewall もどきな HTTP proxy が置かれている環境では支障アリな話ですね.
引用:

引用:

※世の中的に HTTP proxy 経由で利用できる FTP client ってあるのでしょうか?
※ffftp の TODO では対応することを検討されているようですが...


ffftp の TODO は見つけることが出来ませんでした。
HTTP Proxy 経由でアップロードも出来るクライアントは聞いたことが無いですね。
HTTP PUT 等を FTP STOR に変換してくれるような HTTP Proxy はあるのでしょうか?


実は直接作者さんに問い合わせました.
2年くらい前でしたけど,今のところ実現してませんね.
最近では故あって emftp に乗り換えましたけど,
あちらでもご検討いただいているようです.
仕事場は Wall な HTTP proxy 環境なので,
是非実現して欲しかったりします.
cn009
ベテラン
会議室デビュー日: 2004/05/13
投稿数: 72
投稿日時: 2005-07-07 18:40
http://sonic64.hp.infoseek.co.jp/cat_squid.html

squid も HTTP PUT を FTP STOR に変換する機能があったんですね。
FAQ によると 2.0 から対応らしいので7年近く前からですね。
あまり紹介されていないのは、対応クライアントが少ないからでしょうか。

http://sonic64.hp.infoseek.co.jp/2004-05-11.html

lftp は HTTP Proxy 経由でのアップロードにも対応しているらしいです。
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2005-07-07 22:15
こんばんわ.
引用:

cn009さんの書き込み (2005-07-07 18:40) より:

http://sonic64.hp.infoseek.co.jp/2004-05-11.html
lftp は HTTP Proxy 経由でのアップロードにも対応しているらしいです。


ありがとうございます,勉強になります.
command line based なので,
常用にはちょっとキツイもしれませんが,
batch job には向いていますね.
1

スキルアップ/キャリアアップ(JOB@IT)