HCRM博客

如何在CentOS上安装Squid代理服务器?

CentOS 安装 Squid 代理服务

一、Squid 简介

Squid 是一款开源的代理服务器软件,广泛应用于缓存和过滤网络流量,它支持 HTTP、HTTPS、FTP 等多种协议,能够有效提升响应速度并降低带宽需求,在 CentOS 上安装和配置 Squid 可以显著改善网络性能,特别是在需要频繁访问相同资源的场景下,本文将详细介绍如何在 CentOS 7 上安装和配置 Squid 代理服务器。

如何在CentOS上安装Squid代理服务器?-图1
(图片来源网络,侵权删除)

二、系统要求

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:

如何在CentOS上安装Squid代理服务器?-图2
(图片来源网络,侵权删除)
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

常用的配置选项包括:

如何在CentOS上安装Squid代理服务器?-图3
(图片来源网络,侵权删除)

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
分享:
扫描分享到社交APP
上一篇
下一篇