1
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Docker版ローカルプロキシ(Squid)でWEBアクセスを制御する

Last updated at Posted at 2023-05-20

この記事は

イカです

Dockerコンテナを使って、Win11マシンにローカルプロキシをつくる
プロキシはSquid(イカ)を採用する

image.png

キャプチャ元: Dockerハブubuntu/squid

検証内容

ローカルプロキシのアクセス制御の機能を使って、ウェブサイトへのアクセス制限をかける
「サイトAにはアクセスできるが、サイトBにはアクセスできない」といった制御をする

(例)Google検索はできるが、Yahooポータルにはアクセスできないような制御

Dockerコンテナの用意

ubuntuのイメージをプルしておく

docker pull ubuntu

Dockerコンテナを起動する

コンテナを起動する際、ポートはlocalhost:63128を割り当てる
Winマシンからこのポートにアクセスすると、コンテナのSquidを経由してインターネットに出ていく

docker container run -itd --privileged --hostname SquidContainer --name squid-container -p 63128:3128 ubuntu:latest

コンテナの中に入る

docker exec -it squid-container /bin/bash

必要なパッケージをインストールする

主役のsquidをインストールする
ついでに.configファイルを変更するためのエディタvimもインストールしておく

apt update
apt install -y squid vim

Squidの設定

/etc/squid/squid.confファイルに2行追記する

vim /etc/squid/squid.conf
+ acl google dstdomain .google.co.jp
+ http_access allow google
http_access allow localhost

# And finally deny all other access to this proxy
http_access deny all

Googleのドメインにはアクセスできるが、他はすべて拒否denyされる設定とした

設定を反映するために、サービスを再起動する

service squid restart

最後に OK が表示されれば正常完了
リスタートまで数秒はかかる

root@SquidContainer:/# service squid restart
 * Restarting Squid HTTP Proxy squid
 * ...
 * ...
 * ...
 * ...
 * ...
 * ...                                                                                                           [ OK ]
2023/05/20 06:02:51| WARNING: BCP 177 violation. Detected non-functional IPv6 loopback.
                                                                                                                 [ OK ]

OKではなくfailが表示されたらコンフィグの中身を再点検する

ホストマシンのプロキシを変更する

Win11のプロキシを変更する

「Windows ロゴ」を押して「プロキシの設定」で検索する

image.png

http://localhost:63128をプロキシに設定する
イントラネットはプロキシを介さないようにする

image.png

「保存」を押してダイアログを閉じる ※再起動する必要はない

ローカルプロキシの動作確認

まずはGoogle検索のページにアクセスする
ブラウザの余計な機能を無視するためにプライベートブラウジングする

image.png

Google検索結果は表示される

次にQiitaへアクセスする

image.png

QiitaドメインはSquidで許可していないため、アクセスできない
これは意図した結果なので、動作確認はOK

まとめ

Squidを使ってローカルプロキシをつくった
プロキシが持つ機能により、アクセス制御をすることができた

参考

↓特定のクライアントのみアクセスを許可する方法

糸冬了!!

1
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?