在CentOS 7系统中安装和配置Squid代理服务器是企业网络环境中常见的任务,Squid作为一个高性能的代理缓存服务器,能够有效提升网络访问速度并减少带宽消耗,以下是详细的安装步骤和配置方法,帮助用户快速完成部署。

准备工作
在开始安装前,确保系统已更新至最新状态,执行以下命令更新系统软件包:
sudo yum update -y
确认系统网络配置正常,并确保防火墙允许HTTP和HTTPS流量通过Squid的默认端口(3128)。
安装Squid
使用yum包管理器安装Squid,命令如下:
sudo yum install squid -y
安装完成后,启动Squid服务并设置为开机自启:
sudo systemctl start squid sudo systemctl enable squid
通过以下命令检查服务状态:
sudo systemctl status squid
若显示active (running),则表示服务已成功启动。
基础配置
Squid的主配置文件位于/etc/squid/squid.conf,使用文本编辑器(如vim或nano)打开该文件:

sudo vim /etc/squid/squid.conf
关键配置项包括:
http_port:定义监听端口,默认为3128。visible_hostname:设置代理服务器的可见主机名。cache_dir:配置缓存目录和大小,例如/var/spool/squid 100 16 256表示分配100MB缓存空间。acl和http_access:用于访问控制列表的配置,例如限制特定IP或允许匿名访问。
修改配置后,保存文件并退出编辑器,使用以下命令测试配置语法是否正确:
sudo squid -k parse
若输出无错误,则配置有效。
访问控制
为了增强安全性,建议配置访问控制,仅允许局域网内的特定IP访问代理:
acl localnet src 192.168.1.0/24 http_access allow localnet http_access deny all
上述配置仅允许IP段192.168.1.0/24的设备访问代理,其他请求将被拒绝。
防火墙设置
确保firewalld允许Squid端口流量,执行以下命令:
sudo firewall-cmd --permanent --add-port=3128/tcp sudo firewall-cmd --reload
验证端口是否已开放:

sudo firewall-cmd --list-ports
日志管理
Squid的默认日志位于/var/log/squid/目录,包括access.log(访问日志)和cache.log(缓存日志),定期检查日志有助于排查问题,例如通过以下命令查看实时访问记录:
sudo tail -f /var/log/squid/access.log
性能优化
根据实际需求调整缓存策略,增大缓存容量或调整缓存对象的最大大小:
maximum_object_size 4096 KB memory_cache_size 256 MB
优化后需重启Squid服务使配置生效:
sudo systemctl restart squid
相关问答FAQs
Q1: 如何修改Squid的监听端口?
A1: 编辑/etc/squid/squid.conf文件,找到http_port行并修改端口号,例如改为8080,保存后重启Squid服务即可生效。
Q2: Squid代理无法访问外网,如何排查?
A2: 首先检查Squid服务状态和防火墙设置;其次确认http_access规则是否正确;最后查看/var/log/squid/access.log定位具体错误原因。