一、Squid 简介
Squid 主要提供缓存加速、应用层过滤控制的功能,能代替客户机向网站请求数据,从而可以隐藏用户的真实 IP 地址。将获得的网页数据(静态 Web 元素)保存到缓存中并发送给客户机,以便下次请求相同的数据时快速响应
二、Squid 的安装与配置
1. 编译安装
环境准备
systemctl stop firewalld && systemctl disable firewalld
setenforce 0
安装依赖环境
yum -y install gcc gcc-c++ make
编译安装
./configure --prefix=/usr/local/squid #指定安装目录
--sysconfdir=/etc/ #指定配置文件路径
--enable-arp-acl #可在 ACL 中设置通过 MAC 地址进行管理,防止 IP 欺骗
--enable-linux-netfilter #使用内核过滤
--enable-linux-tproxy #支持透明模式
--enable-async-io=100 #异步 I/O,提升储存性能,值可修改
--enable-err-language="Simplify_Chinese" #错误信息的显示语言
--enable-underscore #允许 URL 中有下划线
--enable-poll #使用 poll() 模式,提升性能
--enable-gnuregex #使用 GNU 正则表达式
2. 修改 Squid 的配置文件
vim /etc/squid.conf
# And finally deny all other access to this proxy
#56行插入
http_access allow all #放在 http_access deny all 之前,允许任意客户机使用代理服务,控制规则自上而下匹配
http_access deny all
# Squid normally listens to port 3128
http_port 3128 #用来指定代理服务监听的地址和端口(默认的端口号为 3128)
#61行插入
cache_effective_user squid #添加,指定程序用户,用来设置初始化、运行时缓存的账户,否则启动不成功
cache_effective_group squid #添加,指定账号基本组
#68行,缓存文件目录,默认为 /usr/local/squid/var/cache/squid,这里不做修改
coredump_dir /usr/local/squid/var/cache/squid
3. Squid 的运行控制
#检查配置文件语法是否正确
squid -k parse
#-z 选项用来初始