squid.conf
squid.conf | 説明 |
---|---|
http_port | ポート番号 |
visible_hostname | ホスト名 |
hierarchy_stoplist | キャッシュを利用しない文字列 |
maximum_object_size | キャッシュ可能な最大サイズ |
minimum_object_size | キャッシュ可能な最小サイズ |
maximum_object_size_in_memory | メモリ上の最大ファイルサイズ |
ipcache_size | キャッシュするIPアドレス数 |
cache_dir | キャッシュを格納するディレクトリと容量などのパラメータ |
cache_mem | メモリ上のキャッシュサイズ |
cache_access_log | クライアントのアクセスログ |
cache_log | キャッシュのログ |
ftp_user | anonymousでFTPアクセスする際のパスワード |
ftp_passive | FTPのパッシブモード |
reference_age | キャッシュの保存期間 |
request_header_max_size | HTTPリクエストヘッダの最大サイズ |
request_body_max_size | HTTPリクエストボディの最大サイズ |
reply_body_max_size | レスポンスの最大サイズ |
acl | アクセスコントロールリストの設定 |
http_access | アクセスコントロールリストの制御 |
アクセス制御
acl
ホストやプロトコルの集合にアクセスコントロールリストを行う。
書式 : acl ACL名 ACLタイプ 文字列もしくはファイル名
ACLタイプ | 説明 |
---|---|
src | クライアント側のIP |
dst | 代理アクセス先サーバーのIP |
srcdomain | クライアントのドメイン名 |
dstdomain | 代理アクセス先サーバーのドメイン名 |
port | 代理アクセスサーバーのポート番号 |
myport | クライアントのポート番号 |
arp | MACアドレス |
proto | プロトコル |
method | HTTPのメソッド |
time | 有効な時間 |
proxy_auth | ユーザ認証 |
http_access
アクセスコントロールリストに対しての制御を、http_access で行う。
書式 : http_access allow|deny ACL名
アクセス制御の設定例
次の例では、192.168.0.0/24からのアクセスを禁止しています。
squid.conf
acl test src 192.168.0.0/255.255.255.0
http_access deny test
やってみる系(Amazon Linux2)
AWSでは、まあ、NAT ゲートウェイを使えばいいでしょうが。
準備
クライアントからプロキシを経由して、yumなどを実行できるようにする。
-
サブネット
-
piblic-subnet(プロキシサーバー)
-
private-subnet(クライアント)
-
セキュリティグループ
-
public-sg:22,3128
-
private-sg:22(public-sgからの接続を許可する。)
プロキシサーバー設定
1
Squidの設定ファイルに直接対象のIPアドレスまたはサブネットのCIDRを記述する。
squid.conf
acl private-subnet src <プライベートサブネットのCIDR>
http_access allow private-subnet
2
/etc/squid/acl/whitelist.txt
にプロキシを経由したいサーバーのプライベートIPアドレスまたは、サブネットのCIDRを記述する。
squid.conf
acl Whitelist dstdomain "/etc/squid/acl/Whitelist.txt"
http_access allow Whitelist
http_access deny all
クライアント側設定
/etc/yum.conf
proxy=http://<proxyのプライベートIP>:3128
/etc/wgetrc.
http_proxy=http://<proxyのプライベートIP>:3128
https_proxy=http://<proxyのプライベートIP>:3128
~/.curlrc
proxy=http://<proxyのプライベートIP>:3128