透過型proxyの構築まで~その1~
キャッシュサーバとしてsquidを入れたのは良いものの、すべての端末に対してproxy登録するのは非常に面倒である為、透過型proxyにして構築してみた。
ネットワーク構成(通常proxy)
<192.168.1.0/24>
WAN────ルータ─┬──クライアント
└──proxyサーバ(固定IP:192.168.1.3)
まずはsquidのインストール
次にFirewallの設定をする。これが一番しんどかった。
まずは通常proxyとしての設定を行う。
Firewallにserviceとしてsquidを登録する。
#cd /etc/firewalld/services
<port protocol="tcp" port="8080"/>
次にfirewalldにserviceを登録する。
#firewall-cmd --permanent --add-service=squid
squidの設定を行う。
acl Safe_ports port XXXX #ポートの定義 SSHなど追加しておく
acl localnet src 192.168.1.0/24 #ローカルネットの定義
http_access allow localnet #アクセス許可
http_access deny all #すべてのアクセス拒否
http_port 8080 #HTTPポートの指定
# Proxyの秘匿性を上げる為の設定
request_header_access Referer deny all
request_header_access User-Agent deny all
request_header_access X-Forwarded-For deny all
request_header_access Via deny all
request_header_access Cache-Control deny allvisible_hostname unknown
forwarded_for off
#Proxyキャッシュ量の設定
cache_mem 256 MB
maximum_object_size 262144 KB
cache_dir ufs /var/spool/squid 2000 16 256
#エラー時のNoticeを日本語のものにする。
error_directory /usr/share/squid/errors/ja-jp/
#ログのフォーマットを見やすいCLF形式へ。
logformat combined %tl %6tr %>a %Ss/%03Hs %<st %rm %ru %un %Sh/%<A %mt
ここまでできたら通常のproxyとしては動くはず。
最後にFirewallとSquidを有効化する。
#firewall-cmd --reload
#firewall-cmd --list-all
#systemctl start squid
#systemctl enable squid
後はクライアントにproxy設定を登録し、HTTPアクセスできるかどうか確認する。
参考URL: