ローカルでproxyを動かしたい

こんにちは
学校の授業でMacを使っているのですが、学生がOS9でWebに
アクセスするのにMTU設定ができないため、プロキシーを
必要としています。
教室に固定マシンがないのでノートパソコンを使っているのですが、
なんとかPowerBookG4でこのプロキシーを動かしたいと思っています。
(現状WindowsのノートPCをやむなく使ってます。)
いろいろ参考文献を探してみたのですが、ほとんど見つからず、
MacOS X 10.2で動作するProxyServerについて教えていただければ
と思い書き込みました。
もしかしたらOS X自体にすでにその機能があって設定するだけ
なのかもしれませんが、資料が見つからないため手も足も出ない状態です。
何かよい参考文献がありましたらURL等お教えください。
よろしくお願いします。

投稿日 2003/07/02 13:55

返信: 31

2003/07/02 14:15 Community User への返信

定番のSquid Proxy Cache Serverをローカルで動かしています。ソースを引っ張ってきてmakeすれば問題なく動きます。SquidManとか使うと楽なのかもしれませんが、使ったことがないので分かりません。
あと、Apacheに簡易プロクシ機能があったような気がするので、もしかしたら標準の状態でも出来るかもしれません。(httpd.confの編集は必要かもしれないけど)

2003/07/02 20:29 Community User への返信

> 学生がOS9でWebにアクセスするのにMTU設定ができないため..
不学にして良く分からないのですが、この MTU とはどういうことなのでしょうか?
教室での利用でプロキシが必要ということになると、PBG4 では不足ではないでしょうか? 教室で使うと、学生(生徒?)が同時にどっとアクセスします。さばききれないのでは? まあ、上流回線の太さとかも関係しますけど。

2003/07/03 00:41 Community User への返信

他に必要以上のものを動かさなければ、PowerBookG4 でも十分に Proxy サーバとして使用できると思いますよ。
どちらかというと、ご指摘の回線の太さや、搭載メモリやHDDの容量、Squid の設定が利いてくるかと思います。
# 実際、PowerPC604e 搭載の IBM RS/6000 というマシンで、去年まで Squid を走らせていましたが、クライアント数300でも十分に耐えられました。
# 晩年はメモリ不足による swap の発生でディスクアクセスが頻繁になり、パフォーマンスが低下しましたが、クライアント側からはそれほどパフォーマンスが低下したようには感じられませんでした。

2003/07/03 05:51 Community User への返信

クライアントの数が問題と思います。
それと、PBG4 をプロキシにするのはもったいないですし、あまり適当といえないと思います。(あっ、もちろんクライアントは自分自身だけという使い方ならかまわないです)。
プロキシサーバに要求されるのは、速い(頑丈な) HDD(よほどクライアントが多くない限り容量はたいしていらない)、十分なメモリーです。cpu 性能はたいして要求されません。ノートの 2.5 インチ HDD ではいかにもひよわに感じます。それと、reiserfs で運用すると(ext2 や ext3 に比べて)パーフォマンスは数倍上がります。この面からも OSX で運用するのが適当だろうか、と思います。hfs+ でどうなんかは知りません。

2003/07/03 06:33 Community User への返信

嗚呼、なるほど。
PowerBook G4 というより 2.5 インチ HDD を懸念していたのですね。
PowerBook G4 自身 CPU 的には申し分ないし、UPS も内蔵しているようなものですから、瞬間停電にも強いしうってつけだと思っていましたが、理解しました。

2003/07/09 06:20 Community User への返信

返事が遅れまして申し訳ありませんでした。
Squid Proxy Cache Serverですね。
まだMakeとかしたことは無いのですが、DeveloperTools放り込んでがんばってみます。
プロクシーはキャッシュを使わずに使用します。
MTU設定問題というのは、大本のルーターが非常に古いタイプの物で
MTU設定などできないタイプの物らしいのです。
このためブラックホールルータ問題が発生しており、
MacOS9を使用している学生では、各自でシェアウェアの調整ソフトを
購入してもらわないと、閲覧できないWebサイトがごろごろ出てきてしまうという物です。
このため、MTUの設定を変えれるマシンをプロキシとして経由することにより、
ブラックホールルータ問題を回避させるようにしています。
現状割り当たっている教室は回線はある物のサーバーを常時
設置しておけない一般教室な物で、持って行って持って帰る
状態が続いています。
授業開始時の移動では4KgくらいのWindowsNotePCとPowerBookG4
12inch+講義資料と教科書という筋トレかぇ!みたいな状態な訳です。
で、これをPowerBookだけにしたいなぁということで。
学生数はそれほどではないので、パワーは全く問題になりません。
心配していただいてありがとうございます。
他の教室でも70〜80名位を、あまりものの古いPCでカバーして(PenII300くらい)
おりますので、パワー的には不安はありませんね。
また設定等で困ることがあればここに書きます。
成功しましたら、経緯等書き込みに来ますね。
いろいろ ありがとうございました。

2003/07/09 09:21 Community User への返信

SquidManを見てみると、単にGUIを用意しているのでなく、
SquidServerを含んでいるものでした。
http://homepage.mac.com/adg/squidman.html
で、これだけをダウンロードして、アプリケーションフォルダに放り込み、
起動すると、初回のみServerインストールの可否を聞いてきました。
これで実にあっさりと起動できたのですが、Preferenceメニューでの
アクセス許可を与えるところで、書き方が分からないのです。
WindowsのProxyでは 192.168.*.* のようにワイルドカードで
指定していたのですが、設定ダイアログのところに
do not use wildcards とあります。
192.168.0.1/24 だとエラー(ワーニング)メッセージを吐いてくれますし、
このところがよく分からず、使えていません。
非常に基本的な質問で恐縮ですが、ローカルのCクラス(1-254)までを
許可する指定方法を教えていただけるでしょうか。
よろしくお願いします。

2003/07/09 10:29 Community User への返信

SquidMan 自体は使ったことがありませんが、squid での設定では、Class C のサブネットを設定する(例: 192.168.0.0〜192.168.0.255)場合には、
192.168.0.0/24
ないしは
192.168.0.0/255.255.255.0
としています。
これでどうでしょう?

2003/07/09 12:15 Community User への返信

SquidManを見てみると、単にGUIを用意しているのでなく、
SquidServerを含んでいるものでした。
http://homepage.mac.com/adg/squidman.html
で、これだけをダウンロードして、アプリケーションフォルダに放り込み、
起動すると、初回のみServerインストールの可否を聞いてきました。
これで実にあっさりと起動できたのですが、Preferenceメニューでの
アクセス許可を与えるところで、書き方が分からないのです。
WindowsのProxyでは 192.168.*.* のようにワイルドカードで
指定していたのですが、設定ダイアログのところに
do not use wildcards とあります。
192.168.0.1/24 だとエラー(ワーニング)メッセージを吐いてくれますし、
このところがよく分からず、使えていません。
非常に基本的な質問で恐縮ですが、ローカルのCクラス(1-254)までを
許可する指定方法を教えていただけるでしょうか。
よろしくお願いします。

2003/07/16 06:46 Community User への返信

もしかしてProxy自身を含むIPって指定できないのでしょうか。
下記のようなエラーが出て、許可されません。
2003/07/16 09:39:34| WARNING: '192.168.23.212' is a subnetwork of '192.168.23.0/255.255.255.0'
2003/07/16 09:39:34| WARNING: because of this '192.168.23.0/255.255.255.0' is ignored to keep splay tree searching predictable
2003/07/16 09:39:34| WARNING: You should probably remove '192.168.23.212' from the ACL named 'allowed'
Proxy自体は 192.168.23.212 のPowerBookで動かしています。
もう少しなのにぃ。
どうも自分自身を許可範囲から外せと言っているようなのですが、
どうやったらそんなことができるのか分かりません。
お手数ですが、お教え頂きたくお願いします。

2003/07/16 07:26 Community User への返信

192.168.23.5 等のように固定で一つだけ指定すると
そのマシンからはきちんとSquid経由でWebが見えます。
範囲指定ができないのです。
よろしくお願いします。

2003/07/16 10:03 Community User への返信

差し支えないようでしたら、Squid の設定ファイル(squid.conf)の内容を以下のコマンドで教えていただけないでしょうか?
アプリケーション > ユーティリティ > ターミナルを起動

% cd [squid.confが置いてあるPATH]※
% grep ^acl squid.conf ←このコマンドを入力後 [Return] キーを押した時の出力結果
% grep ^http_access squid.conf ←このコマンドを入力後 [Return] キーを押した時の出力結果

※ squid.conf が置いてある PATH は、SquidMan がどこに置くかは私はわかりませんが、squid を Make install したときのデフォルトは、/usr/local/squid/etc/ です。

2003/07/16 13:48 Community User への返信

へべれけぇ様 ありがとうございます。
SquidManでもデフォルトの場所は変わりがありませんでした。
local/squid/etc にconfファイルが存在しています。
grepで表示したところ下記のようになっていました。
-----------------------------------------------------------
% grep ^acl squid.conf
acl QUERY urlpath_regex cgi-bin ¥?
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 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
-----------------------------------------------------------
% grep ^http_access squid.conf
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access deny all
--------------------------------------
むぅ deny all とか気になりますね。
それと気が付いたのですがsquid.confとsquid.conf.defaultの
日付けが同じになっているので、もしかしたらSquidManって
別に設定ファイルを持っているのかもしれませんね。
説明書を読んでみると、コマンドラインパラメータを与えて
起動するようなことを書いてありました。
/tmpに設定ファイルを置くようにも書いてあるのですが、
見当たりません。
英語は斜め読みしかできないのですが、説明がpdfファイルに
なっているので、翻訳ソフトにかけれないし(x_x)。
以上です。よろしくお願いします。

2003/07/16 15:23 Community User への返信

SquidMan 使ったことありませんが、この conf ではうまくゆかないと思います。SquidMan には何か別の仕組みがあるのでしょうけど。
まず、acl で allowed の定義(名前は my_network など何でも良い)、
acl allowed src 192.168.23.0/24

http_access allow allowed
が必要です。http_access は書く順番も大切です。上記 http_access は http_access deny all の前に入れておく必要があります。deny all の後に書いても何も起こりません。それより前に入れると今度は接続したくないポートを接続したりしてしまいます。

2003/07/16 15:50 Community User への返信

Squid のウエブサイトの FAQ に acl の定義に包接の関係にあるものを定義するとこの Warning が出ると書いています。
http://www.squid-cache.org/Doc/FAQ/FAQ-10.html#ss10.1
Find で splay とするとすぐ出てきます。
SquidMan がどうなっているのか全然知りませんが、想像するに、
acl allowed src 192.168.23.212 192.168.23.0/255.255.255.0
となっているのではないでしょうか。メッセージはこの書き方はダメだよ、というものです。direction は 192.168.23.212 をさくじょしなさい、です。これは acl 行の書き方に関するもので、自分を含めてはいけないということではありません。

このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

ローカルでproxyを動かしたい

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。