实验环境

Squid服务器配置
永久性开启路由转发
1 2 3 4
| vi /etc/sysctl.conf net.ipv4.ip_forward = 1
sysctl -p
|
使用yum安装squid服务
修改squid配置文件
1 2 3 4 5 6 7 8 9 10 11
| vi /etc/squid/squid.conf acl local src 1.1.1.0/24 //允许1.0段的IP访问 http_access allow localnet //允许本机同网段访问 http_access allow all //允许所有访问 http_access deny all //拒绝所有 http_port 1.1.1.1:3128 transparent cache_mem 64 MB cache_dir ufs /var/spool/squid 1024 10 200 access_log /var/log/squid/access.log minimum_object_size 0 KB maximum_object_size 102400 KB
|
配置文件详解
http_port 3128 //设置监听的IP与端口号
cache_mem 64 MB //额外提供给squid使用的内存,squid的内存总占用为 X * 10+15+“cache_mem”,其中X为squid的cache占用的容量(以GB为单位),
//比如下面的cache大小是100M,即0.1GB,则内存总占用为0.1*10+15+64=80M,推荐大小为物理内存的1/3-1/2或更多。
maximum_object_size 4 MB //设置squid磁盘缓存最大文件,超过4M的文件不保存到硬盘
minimum_object_size 0 KB //设置squid磁盘缓存最小文件
maximum_object_size_in_memory 4096 KB //设置squid内存缓存最大文件,超过4M的文件不保存到内存
cache_dir ufs /var/spool/squid 100 16 256 //定义squid的cache存放路径 、cache目录容量(单位M)、一级缓存目录数量、二级缓存目录数量
logformat combined %>a %ui %un [%tl] “%rm %ru HTTP/%rv” %Hs %<st “%{Referer}>h” “%{User-Agent}>h” %Ss:%Sh //log文件日志格式
access_log /var/log/squid/access.log combined //log文件存放路径和日志格式
cache_log /var/log/squid/cache.log //设置缓存日志
logfile_rotate 60 //log轮循 60天
cache_swap_high 95 //cache目录使用量大于95%时,开始清理旧的cache
cache_swap_low 90 //cache目录清理到90%时停止。
acl localnet src 192.168.1.0/24 //定义本地网段
http_access allow localnet //允许本地网段使用
http_access deny all //拒绝所有
visible_hostname squid.david.dev //主机名
cache_mgr mchina_tang@qq.com //管理员邮箱
初始化缓存目录
重启squid
放行防火墙、关闭沙盒(squid服务器、web服务器都必须执行)
1 2 3
| firewall-cmd --add-port=3128/tcp --permanent firewall-cmd --reload setenforce 0
|
客户端验证
设置代理
1 2 3 4 5
| vim /etc/skel/.bash_profile export http_proxy=http://服务端内网ip:3128 export https_proxy=http://服务端内网ip:3128
source /etc/skel/.bash_profile
|
访问
1 2
| curl 2.1.1.2 HTTP/1.1 200 OK
|