コンピュータ・インターネットノウハウをみんなで自由に編集し合える!

義経の備忘録 -Windowsでプロキシサーバー構築- コンピュータ・インターネット

ども…皆さんこんにちは義経です。
ちょっとした技術的なことを備忘録として残していこうと思いまして、備忘録というカテゴリを作りました。
え?
そんなもんチラシの裏にでも書いてろ!って?

いや…確かにそうなんですが…
まぁ誰かの役に立つかもしれないじゃないですか…という希望的観測で書きます。

とりあえず今回は、プロキシサーバを構築してみたです。

==========================================================================

仕事でネットワークを構築しているときに、ふと思ったことがある…
あるサーバ配下のネットワーククライアント達はインターネットに接続してはならない。
上記の条件があるのだが、サーバ自身は都合によりインターネットに接続が可能である。(サーバにはNICが2つあり、片方をローカルネットワーク用もうひとつをグローバルネットワーク用とした。)
ローカル側のネットワークのIPは192.168.1.1
インターネット側のネットワークのIPはDHCP(仮に192.168.0.10)
となっている。
上記の設定では確かにサーバはインターネットに接続できるが、ローカルネットワークのクライアントPC達は接続はできない。
(クライアントPCのIPは192.168.1.10〜)
しかし、ここでふと思った。
WindowsUpdateなどをしたい場合、サーバはインターネットにつながってるから勝手にしてくれるが、クライアントはできない。何とかクライアントもこっそりインターネットにつなげることができないだろうか?っと…
どうにか…

そうだ!サーバにプロキシサーバー組み込めばいいんじゃね?
ということでWindowsマシーンでもプロキシサーバを構築できるか調べてみましたよ。

以下構築方法
まず、プロキシサーバとして機能させるためにはSquidというソフトウェアを使用します。
基本的にはLinx、BSD用っぽいのだが、Windows用を作ってくれている人がいるようです。
Downloadはこちらから→Squid related Downloads
上記サイトからmirror 1にはいります。※2009/01/20現在mirror 2はOfflineとなっていますね。
とりあえずStandardでいいでしょう…
ダウンロードします。zipファイルで圧縮されていますのでC:に解凍しましょう。C:Squidというフォルダができます。(別の場所に解凍してもいいのですが、いろいろと面倒なのでここに解凍することが一番です。どうしてもほかのところに解凍したいということであれば後で解説します。)
さて、ここで困ったものでこのSquid落として解凍して実行するだけでは使用できません。
ではどのように使用するのかいろいろと調べてみました。

まずは、Squidフォルダを覘くとなにやらいろいろとフォルダがあります。
そこで、etcというフォルダにコンフィグファイルがあります。
squid.conf.defaultってファイルがありますよねこれそのままではだめなのでdefaultを取ってしまいます。
squid.conf.defaultファイルをコピーし、squid.confというファイルにすればよいです。あと、mime.conf.defaultがありますのでそちらも同様にコピーしてmime.confファイルにしましょう。
上記ではフォルダでコピペ&名前変更をしましたが何かとコマンドプロンプトを使ったほうが楽です。(俺がそっちのほうがなれてるからかもしれないが…)
コマンドプロンプトを起動し、
C:>
C:>cd squidetc
C:squidetc>copy squid.conf.default squid.conf
       1個のファイルをコピーしました。
C:squidetc>copy mime.conf.default mime.conf
       1個のファイルをコピーしました。
上記でsquid.conf、mime.confができます。
次にsquid.confファイルの編集します。C:squidetc>squid.conf
このsquid.confファイルすごい長いです。いろいろと設定ができるっぽいです。しかし、とりあえずつながればいいや的なことであれば、以下の設定だけでよいようです。
プロキシサーバ用のポート設定(別に3128でよければ編集する必要なし。)

Squid normally listens to port 3128

http_port 3128 ←もともとあったやつの頭に#をつける。

http_port 8080 ←追加(別に3128を8080に書き換えでもいいと思うが…一応ね)

環境に合わせたネットワークの指定
#Recommended minimum configuration:
acl all src all
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl mynet src 192.168.1.0/255.255.255.0 ←追加
acl to_localhost dst 127.0.0.0/8

とりあえず、acl (適当な名前) src (IPアドレス)/(サブネットマスク)となりますがIPの第4オクテットは0じゃないと駄目っぽいです。1にしたらエラーが出てました。
上記のネットワーク指定をアクセス許可にする。

Only allow cachemgr access from localhost

http_access allow manager localhost
http_access allow mynet ←追加
http_access deny manager

htto_access allow (適当な名前) 適当な名前はネットワークの指定と共通です。
とりあえずここの設定をいじると問題なく使用できるようになるみたいです。とりあえず保存して閉じましょう。
C:Squid以外の場所にインストールしたい人向け…
なぜC:にインストールするほうがいいのかというと、このsquid.confにいろいろとlogフォルダの場所なんかが記述されていますがデフォルトがC:Squidになっているわけです。ですのでそれをいじくってあげれば変更してもおkってことです。まぁめんどいのでC:にインストールしましたが…

TAG: access_log

     ::

And priority could be any of:

err, warning, notice, info, debug.

access_log c:/squid/var/logs/access.log squid ←任意のフォルダに例:d:/proxy/squid〜など

とまぁこんな感じであるのですが、一個一個設定していくのは面倒なので、置換でやるほうが早いでしょう。検索する文字列(c:/squid)置換後の文字列(d:/proxy/squid)など
この後は、キャッシュエリアの作成を行います。
コマンドプロンプトが先ほどのままであれば
c:squidetc>cd c:squidsbin
c:squidsbin>squid -z
上記を行うことでキャッシュフォルダが作成されます。
次にSquidをwindowsのサービスに登録します。
c:squidsbin>squid -i
ちなみに、サービスから外す場合は
c:squidsbin>squid -r
サービスに登録されたかは、コントロールパネルの管理からサービスに入ってSquidを探してみてください。あるはずです。
次にSquidを起動させます。
サービスからであれば開始ボタンをクリックすればおk
コマンドプロンプトからであれば
c:>net start squid
終了する場合は
c:>net stop squid
これでSquidが起動しますので、つながるかテストをします。
IEでツールのインターネットオプションから接続のタブを開きます。
ローカルエリアネットワーク(LAN)の設定のLANの設定ボタンをクリック
プロキシ サーバーにチェックを入れる。
アドレスはサーバーのアドレス。ポートはsquid.confで設定したポートを使用します。
これでクライアントからインターネットに接続できればおkということです。
とりあえずこれでこっそり、プロキシサーバーを使用するってすればクライアントからでもインターネットに接続ができます。
まぁ今回プロキシサーバーの設定は不純な動機でというか、たまたまというか、設定することになったのですが(別に設定する必要はまったくないのだが…w)
今回構築した環境はサーバーWindows2008Server クライアントXP10台
という感じです。
とにかくWindows2008Serverはセキュリティ関係の設定がメンドクサイ…
もし、Squidは起動するのに、つながらないって場合は、ファイアウォールの確認をしたほうがよいかもしれませんね…
今回はつながるまでってことで書いたが、squid.confを見ている限り色々と設定が出来そうなので、今後も追記する予定です。
また、間違いがあれば指摘していただけると助かります。

[24時間365日] サーバ/インフラを支える技術 ~スケーラビリティ、ハイパフォーマンス、省力運用 (WEB+DB PRESS plusシリーズ)posted with amazlet at 11.06.10安井 真伸 横川 和哉 ひろせ まさあき 伊藤 直也 田中 慎司 勝見 祐己 技術評論社 売り上げランキング: 3327Amazon.co.jp で詳細を見る

http://areda.blog9.fc2.com/blog-entry-578.html

関連ノウハウ

このノウハウを評価する

評価、コメントするにはサービスに登録してください。

サービス登録をする

コメントを見る

コメントするにはサービスに登録してください。

サービス登録をする

この記事を通報する

ノウハウを書く