Ubuntu14.04LTSを使って、SOHO用Proxyサーバーを構築する予定です。と言っても、$ apt-get install squidでsquidをインストールし、初期設定を変更するだけです。
【1】まず、squid3のインストールから。
$ sudo apt-get install squid
これで、squidパッケージがインストールされ、必要なファイルがインストールされます。当初は、squid3をインストールしたホスト(サイト管理者の場合はUbuntu01)からしか利用できないません。そこで、設定ファイルは/etc/squid3/squid.confなので、これを他のホストからも利用できるように変更し混ます。だいたい、下図のようになりますが、サイト管理者宅では、ブロードバンド・ルーターとプロキシサーバーは分離しています。
【2】squidの設定
$sudo gedit でファイルを開きますと、898行目くらいに
# Example rule allowing access from your local networks. # Adapt to list your (internal) IP networks from where browsing # should be allowed #acl localnet src 10.0.0.0/8 # RFC1918 possible internal network #acl localnet src 172.16.0.0/12 # RFC1918 possible internal network #acl localnet src 192.168.0.0/16 # RFC1918 possible internal network #acl localnet src fc00::/7 # RFC 4193 local private network range #acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines
とありますから、内部ネットワークのコメントを外し、SOHOLANのホストから利用できるようにします。サイト管理者では、ネットワークは192.168.1.0/24となっていますので、
# Example rule allowing access from your local networks. # Adapt to list your (internal) IP networks from where browsing # should be allowed #acl localnet src 10.0.0.0/8 # RFC1918 possible internal network #acl localnet src 172.16.0.0/12 # RFC1918 possible internal network acl localnet src 192.168.1.0/24 # RFC1918 possible internal network #acl localnet src fc00::/7 # RFC 4193 local private network range #acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines
とします。 ついでに、SOHOのホストからの接続を許可するように設定しますが、Ubuntu14.04LTSでは、既にその設定が行われているようです。1053行目以降。
# Example rule allowing access from your local networks. # Adapt localnet in the ACL section to list your (internal) IP networks # from where browsing should be allowed #http_access allow localnet http_access allow localhost http_access allow localnet
次に、待ち受けポートですが、1495目辺りに初期設定として3128となっているので、慣例としては8080番なので、次のように変更します。
# Squid normally listens to port (default:3128) http_port 8080
次に、キャッシュ容量の設定です。2736行目辺りを
#Default: # cache_mem 256 MB cache_mem 1024 MB
# TAG: maximum_object_size_in_memory (bytes) # Objects greater than this size will not be attempted to kept in # the memory cache. This should be set high enough to keep objects # accessed frequently in memory to improve performance whilst low # enough to keep larger objects from hoarding cache_mem. #Default: # maximum_object_size_in_memory 512 KB maximum_object_size_in_memory 4096 KB
# TAG: maximum_object_size (bytes) # The default limit on size of objects stored to disk. # This size is used for cache_dir where max-size is not set. # The value is specified in bytes, and the default is 4 MB. # # If you wish to get a high BYTES hit ratio, you should probably # increase this (one 32 MB object hit counts for 3200 10KB # hits). # # If you wish to increase hit ratio more than you want to # save bandwidth you should leave this low. # # NOTE: if using the LFUDA replacement policy you should increase # this value to maximize the byte hit rate improvement of LFUDA! # See replacement_policy below for a discussion of this policy. #Default: # maximum_object_size 4 MB maximum_object_size 4096KB
次に、2999行目辺りで、
# Uncomment and adjust the following to add a disk cache directory. #cache_dir ufs /var/spool/squid3 100 16 256 cache_dir ufs /var/spool/squid3 5000 64 512
/var/spool/squid3がキャッシュディレクトリになりますが、その容量を5ギガバイトに設定し、格納用の分散ディレクトリL1、L2をそれぞれ4倍、2倍に設定する仕組みです。
これができると、$sudo service squid3 restartで再起動します。
クライアントの設定は取り敢えず、Google Chromeで設定してみます。VirtualBoxのWindows 7で試してみます。こちらは、Google Chromeの設定でプロキシサーバの設定を行うと、インターネット・サイトにアクセスできました。Ubuntu14.04LTSでは基本的にサーバー構成(network-managerをアンインストール)となっていますので、調べてみたところ、/etc/wgetrcを次のように設定すれば良いようです。
# You can set the default proxies for Wget to use for http, https, and ftp. # They will override the value in the environment. #https_proxy = http://proxy.yoyodyne.com:18023/ #http_proxy = http://proxy.yoyodyne.com:18023/ #ftp_proxy = http://proxy.yoyodyne.com:18023/ https_proxy = http://ubuntu01.it-ishin.com:8080/ http_proxy = http://ubuntu01.it-ishin.com:8080/ ftp_proxy = http://ubuntu01.it-ishin.com:8080/ # If you do not want to use proxy at all, set this to off. use_proxy = on
プロキシサーバー(代理サーバー)はWebサイトへのアクセスの高速化と悪意あるサイトへのアクセスを防ぐことによるセキリティ対策に使います。