CentOS 安装 Squid 代理服务器
一、Squid 简介
Squid 是一款开源的代理服务器软件,广泛应用于缓存和过滤网络流量,它支持 HTTP、HTTPS、FTP 等多种协议,能够有效提升响应速度并降低带宽需求,在 CentOS 上安装和配置 Squid 可以显著改善网络性能,特别是在需要频繁访问相同资源的场景下,本文将详细介绍如何在 CentOS 7 上安装和配置 Squid 代理服务器。
二、系统要求
1、操作系统:CentOS 7
2、内存与存储:无特殊要求,但内存充足有助于提高缓存命中率
3、权限:root 用户或具备 sudo 权限的用户
三、更新系统包
在开始安装之前,建议先更新系统的包管理器,以确保所有软件都是最新版本:
sudo yum update y
四、安装 EPEL 仓库
由于默认的 CentOS 仓库不包含 Squid,我们需要先安装 EPEL(Extra Packages for Enterprise Linux)仓库:
sudo yum install epelrelease y
五、安装 Squid
通过以下命令安装 Squid:
sudo yum install squid y
六、启动与启用 Squid 服务
安装完成后,使用以下命令启动 Squid 服务,并设置为开机自启动:
sudo systemctl start squid sudo systemctl enable squid
七、查看 Squid 运行状态
可以通过以下命令检查 Squid 是否正常运行:
sudo systemctl status squid
输出示例如下:
● squid.service Squid caching proxy Loaded: loaded (/usr/lib/systemd/system/squid.service; disabled; vendor preset: disabled) Active: active (running) since Fri 20191206 01:44:50 CST; 33s ago Process: 1312 ExecStart=/usr/sbin/squid $SQUID_OPTS f $SQUID_CONF (code=exited, status=0/SUCCESS) Process: 1306 ExecStartPre=/usr/libexec/squid/cache_swap.sh (code=exited, status=0/SUCCESS) Main PID: 1314 (squid) CGroup: /system.slice/squid.service ├─1314 /usr/sbin/squid f /etc/squid/squid.conf ├─1316 (squid1) f /etc/squid/squid.conf └─1317 (logfiledaemon) /var/log/squid/access.log
八、配置防火墙
如果系统中启用了防火墙,需要允许 Squid 的通信,执行以下命令以允许 HTTP 流量通过防火墙:
sudo firewallcmd addservice=http permanent sudo firewallcmd reload
九、配置 Squid
Squid 的主配置文件位于/etc/squid/squid.conf
,使用文本编辑器打开此文件进行配置修改:
sudo vi /etc/squid/squid.conf
常用的配置选项包括:
1、监听端口:默认为 3128,可以根据需要更改,将端口改为 8080:
http_port 8080
2、允许访问的网络或 IP 地址:通过 ACL(Access Control List)设置允许访问 Squid 的网络或 IP 地址,允许本地网络访问:
acl allowed_network src 192.168.1.0/24 http_access allow allowed_network
3、日志记录:取消以下行的注释,并根据需要进行进一步的日志配置:
#access_log /var/log/squid/access.log squid
4、其他配置:根据具体需求添加或修改其他配置项,启用缓存功能:
cache_dir ufs /var/spool/squid 100 16 256
保存并关闭文件后,重启 Squid 服务使配置生效:
sudo systemctl restart squid
十、使用 Squid 代理服务器
配置完成后,Squid 代理服务器已经在 CentOS 系统上运行,以下是一些常见的使用方法:
1、配置客户端设备或应用程序:在需要使用代理的客户端设备或应用程序中,配置代理服务器地址和端口,默认情况下,Squid 监听端口为 3128(或你配置的其他端口),所以在配置中指定代理服务器地址为 CentOS 系统的 IP 地址和端口号。
2、测试代理连接:通过配置的代理服务器地址和端口,在客户端设备或应用程序中进行连接测试,可以使用 curl 命令测试代理是否正常工作:
curl x http://<CentOS_IP>:3128 http://www.example.com
3、监控 Squid 日志:如果启用了日志记录,可以监控 Squid 的访问日志来查看代理服务器的活动和访问情况:
tail f /var/log/squid/access.log
十一、常见问题解答(FAQs)
Q1:如何更改 Squid 的监听端口?
A1:在/etc/squid/squid.conf
文件中,找到http_port
行并修改端口号,将端口改为 8080:
http_port 8080
保存并关闭文件后,重启 Squid 服务使配置生效:
sudo systemctl restart squid
Q2:如何允许特定 IP 地址访问 Squid 代理服务器?
A2:在/etc/squid/squid.conf
文件中,使用 ACL 设置允许访问的网络或 IP 地址,允许 IP 地址为192.168.1.100
的设备访问:
acl allowed_ip src 192.168.1.100/32 http_access allow allowed_ip
保存并关闭文件后,重启 Squid 服务使配置生效:
sudo systemctl restart squid