Ubuntu16.04LTSにSquidを導入しプロキシサーバを構築します。Squidはウェブキャッシュサーバを構築するフリーソフトウェアの1つで事実上のデファクトスタンダードです。
今回構築するプロキシサーバはLAN内からアクセス可能とし共有のWebキャッシュサーバとして動作させます。これによりPCやモバイル端末等からWebサイトをアクセスする際の応答性向上とインターネットトラフィックスの削減が期待できます。特にVPN経由でインターネットアクセスする際には効果が高いと思います。
1.インストール
以下の通り簡単にインストールできます。
1 2 |
$ sudo apt upate $ sudo apt install squid3 |
2.環境ファイル設定
/etc/squid/squid.confを修正しSquid3の動作環境を設定します。今回はキャッシュサーバとして動作し、ある程度のセキュリティを確保できる最小限の修正のみを行います。
1 |
$ sudo vi /etc/squid/squid.conf |
修正箇所
1 2 3 4 5 6 7 8 9 10 |
acl localnet src 192.168.0.0/16 http_access allow localnet forwarded_for off request_header_access X-Forwarded-For deny all request_header_access Via deny all request_header_access Cache-Control deny all maximum_object_size_in_memory 1 MB maximum_object_size 64 MB cache_dir ufs /var/spool/squid 1000 16 256 logformat squid %tl %6tr %>a %Ss/%03>Hs %<st %rm %ru %[un %Sh/%<a %mt |
LAN内接続を許可する設定
1行目:LAN内のネットワークグループを登録します
2行目:LAN内からsquidのアクセスを許可します
セキュリティに関する設定
3行目:アクセス元IPを表示させない
4行目:接続元のIPアドレスを隠蔽(プロキシサーバのIPアドレスを使用)
5行目:プロキシのバージョン情報を通知しない
6行目:キャッシュに関する情報を通知しない
キャッシュパフォーマンスに関する設定
7行目:メモリーにキャッシュする最大サイズ
8行目:ディスクに保存する最大サイズ
9行目:使用するディスク領域で今回は1GB。変更する場合は左(1000)の数字を修正
ログフォーマット設定
10行目:squidのログファイルは「/var/log/squid」に出力されます。デフォルトでログに出力されるタイムスタンプ情報は判別しがたいUNIX時間のフォーマットのため、通常の日付時間に変更します。
修正後確認
Squid.confを修正したので以下で構文チェックをします。
1 |
$ sudo squid -k parse |
問題があればERRORと出力されますので指摘箇所を修正します。無ければ再起動をして設定をSquidに反映させます。
1 |
$ sudo systemctl restart squid |
3.ufw設定
ufwを有効にしている環境ではsquidが使用するデフォルトポートの3128に接続できませんので有効化設定を行います。
1 |
$ sudo ufw allow 3128 |
4.ブラウザ設定
Proxyサーバが使用できるようになったのでFirefoxにProxyへの接続設定を追加します。Firefoxの右上端にあるメニューからオプションを選択し下方にあるネットワーク設定欄にある「接続設定」ボタンをクリックします。
下記のように「インターネット接続」画面で「手動でプロキシを設定」のラジオボタンを選択し「HTTPプロキシ」欄にSquidをインストールしたサーバのURL(IPアドレス)と「ポート」欄に使用するポート番号を入力し「すべてのプロトコルでこのプロキシを使用する」にチェックします。
5.LOG確認
上記設定をしたFirefoxからWebサイトにアクセスした後、squidが出力するアクセスログファイル「var/log/squid/access.log」を確認します。
1 2 3 4 5 6 7 8 9 10 11 |
$sudo tail /var/log/squid/access.log 28/Nov/2018:14:25:16 +0900 145837 192.168.1.111 TCP_TUNNEL/200 11128 CONNECT hailstorm.c.yimg.jp:443 - HIER_DIRECT/183.79.217.124 - 28/Nov/2018:14:25:16 +0900 145839 192.168.1.111 TCP_TUNNEL/200 13477 CONNECT iwiz-yvpub.c.yimg.jp:443 - HIER_DIRECT/183.79.217.124 - 28/Nov/2018:14:25:16 +0900 146542 192.168.1.111 TCP_TUNNEL/200 49389 CONNECT weather.yahoo.co.jp:443 - HIER_DIRECT/182.22.25.124 - 28/Nov/2018:14:25:16 +0900 144189 192.168.1.111 TCP_TUNNEL/200 1083 CONNECT b7.yahoo.co.jp:443 - HIER_DIRECT/183.79.249.124 - 28/Nov/2018:14:25:16 +0900 169259 192.168.1.111 TCP_TUNNEL/200 6042 CONNECT b3.yahoo.co.jp:443 - HIER_DIRECT/183.79.249.124 - 28/Nov/2018:14:25:16 +0900 170003 192.168.1.111 TCP_TUNNEL/200 32133 CONNECT logql.yahoo.co.jp:443 - HIER_DIRECT/182.22.67.72 - 28/Nov/2018:14:25:16 +0900 170252 192.168.1.111 TCP_TUNNEL/200 4683066 CONNECT s.yimg.jp:443 - HIER_DIRECT/183.79.249.124 - 28/Nov/2018:14:25:16 +0900 170728 192.168.1.111 TCP_TUNNEL/200 180988 CONNECT www.yahoo.co.jp:443 - HIER_DIRECT/183.79.250.251 - 28/Nov/2018:14:25:16 +0900 145150 192.168.1.111 TCP_TUNNEL/200 12048 CONNECT ybx.yahoo.co.jp:443 - HIER_DIRECT/182.22.31.124 - 28/Nov/2018:14:25:16 +0900 2325990 192.168.1.111 TCP_TUNNEL/200 3704 CONNECT push.services.mozilla.com:443 - HIER_DIRECT/34.212.113.60 - |
Firefoxからプロキシサーバに接続できていることが確認できました。
6.参考にさせて頂いたサイト
ありがとうございます。