Centos 下安装 Squid 透明代理

相关介绍: Linux代理软件squid可以实现正向、反向代理,我们用正向代理的功能来实现多人上网,用反向代理来提高WEB的响应能力。反向代理的维护复杂得多,这篇小文只介绍正向代理部分,起因也是多人通过Linux主机共享上网。

程序部署

# 安装 Squid 程序:
yum -y install squid

# 开启IP转发功能
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p

# 修改配置文件 vim /etc/squid/squid.conf
可以参照官方文档进行个性化配置

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)、一级缓存目录数量、二级缓存目录数量
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%时停止。 http_access allow all  //允许所有网络访问 visible_hostname proxy.tomey.me  //主机名 cache_mgr i@tomey.me  //管理员邮箱

启动服务

Centos6:
service squid start
Centos7:
systemctl restart squid

配置防火墙规则

Centos6:
iptables -I INPUT -p tcp --dport 3128 -j ACCEPT
service iptables save
Centos7:
firewall-cmd --permanent --add-port=3128/tcp
firewall-cmd --reload

配置浏览器代理

MAC: a.png b.png c.png