[[Squid]]

#contents
#br

* シンプルな二段構成プロキシ [#hc670670]

現在稼働しているプロキシ(proxy.example.com:8080, aaa.bbb.ccc.ddd)があり、それを参照する子プロキシを構成する場合。

squid をインストールした素の状態から、squid.conf の変更点は以下。

 http_prot 8080    <--- サービスポート。初期値は 3180 になってる
 cache_peer aaa.bbb.ccc.ddd parent 8080 0 no-query
 
- 8080は上位プロキシのサービスポート番号
- 0 は上位プロキシのICPサービスポート番号。使わないので0を指定。
- no-queryはICPを使わない場合のオプション。他に沢山オプションがある。

あとは、この子プロキシを使うクライアントをACLに書く。

 acl localnet src 192.168.253.0/24 <--- 自NWのみ
 http_access allow localnet  <--- 初期値から変えてない
 http_access allow localhost <--- 初期値から変えてない
 http_access deny all <---------- あとは全部不許可

確認は以下。ちゃんとするなら、さらにクライアント(192.168.253.0/24中)から。

 telnet localhost 8080


* InterScanのための多段プロキシ構成 [#j05f9b8a]

InterScan VirusWallは上位プロキシが必須なので、某環境では次のようにしていた。
&color(red){等幅で見ないと図が乱れるので、ずれて読めない時は、テキストエディタにコピペして見てちょうだい};

 +--------+       +-------------+       +---------------+
 | Client | ----> |(8080) Squid | ----> |(81)Interscan  |
 +--------+       +-------------+       |     ↓        |
                                        |(8080)Delegate |----> インターネット
                                        +---------------+

このDelegateが非常にシステムリソースを食っている疑いがあり、Windowsサーバでもあることから、同居はよくないと言うことになり、リソースが余っているLinuxサーバ(1段目のSquidサーバ)にもうひとつ別のSquidを載せて、↓のような環境で動かしてみることにした。


 +--------+       +-------------+       +---------------+
 | Client | ----> |(8080) Squid | ----> |               |
 +--------+       |             |       |(81)Interscan  |
                  |    Squid(81)| <---- |               |
                  +-------------+       +---------------+
                        |
                        +---> インターネット

この環境の実験環境として、下記を用意した。

インターネット部分の代わりに既存の上位プロキシを設定した。

                     Proxy-1                Proxy-2
 +--------+       +-------------+       +---------------+
 | Client | ----> |(8080)Squid1 | ----> |               |
 +--------+       |             |       |(81)Squid      |
                  |   Squid2(81)| <---- |               |
                  +-------------+       +---------------+
                        |
                        +---> (8080)インターネット(Proxy3)


各サーバのIPアドレスは下記の通り

|サーバ|IPアドレス|h
|Client|192.168.1.30|
|Proxy-1|192.168.1.80|
|Proxy-2|192.168.1.99|
|Proxy-3|192.168.1.2|

この場合の各squid設定ファイルは下記の通り。

ただし、セキュリティなどはほとんど考慮していないので注意

 <Proxy-1>
 http_port 8080
 icp_port 3130
 cache_peer 192.168.1.99 parent    81  3130 no-query
 
 cache_mem 8 MB
 maximum_object_size 4096 KB
 cache_dir ufs /usr/local/squid1/var/cache 100 16 256
 cache_access_log /usr/local/squid1/var/logs/access.log
 cache_log /usr/local/squid1/var/logs/cache.log
 cache_store_log none
 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 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
 acl localnet src 192.168.1.0/255.255.255.0
 
 never_direct allow all
 
 http_access allow manager localhost
 http_access deny manager
 http_access deny !Safe_ports
 http_access deny CONNECT !SSL_ports
 http_access allow localnet
 http_access deny all
 
 http_reply_access allow all
 icp_access allow all
 
 cache_effective_user squid
 dns_testnames (上位プロキシのFQDN(別に何でも良い))
 
 logfile_rotate 10
 emulate_httpd_log yes
 

 <Proxy-2>
 http_port 81
 icp_port  3130
 cache_peer 192.168.1.80 parent    81  3131 no-query
 
 cache_mem 8 MB
 maximum_object_size 4096 KB
 cache_dir ufs /usr/local/squid/var/cache 100 16 256
 cache_access_log /usr/local/squid/var/logs/access.log
 cache_log /usr/local/squid/var/logs/cache.log
 cache_store_log none
 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 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
 acl localnet src 192.168.1.0/255.255.255.0
 
 never_direct allow all
 
 http_access allow manager localhost
 http_access deny manager
 http_access deny !Safe_ports
 http_access deny CONNECT !SSL_ports
 http_access allow localnet
 http_access deny all
 
 http_reply_access allow all
 icp_access allow all
 
 cache_effective_user squid
 dns_testnames (上位プロキシのFQDN(別に何でもいい))
 
 emulate_httpd_log yes
 logfile_rotate 10

 <Proxy-3>
 http_port 81
 icp_port  3131
 cache_peer 192.168.1.2 parent 8080 3130 no-query
 
 cache_mem 8 MB
 maximum_object_size 4096 KB
 cache_dir ufs /usr/local/squid2/var/cache 100 16 256
 cache_access_log /usr/local/squid2/var/logs/access.log
 cache_log /usr/local/squid2/var/logs/cache.log
 cache_store_log none
 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 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
 acl localnet src 192.168.1.0/255.255.255.0
 acl interscan src 192.168.1.99/255.255.255.255
 
 never_direct allow all
 
 http_access allow manager localhost
 http_access deny manager
 http_access deny !Safe_ports
 http_access deny CONNECT !SSL_ports
 http_access allow interscan
 http_access allow localhost
 http_access deny all
 
 http_reply_access allow all
 icp_access allow all
 
 cache_effective_user squid
 dns_testnames  (上位プロキシのFQDN(別に何でもいい))

 logfile_rotate 10
 emulate_httpd_log yes

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS