跳到主要内容

Linux Squid 服务教程

1. 什么是 Squid?

Squid 是一个功能强大的代理服务器,支持 HTTP、HTTPS 和 FTP 等协议。它常被用作内容缓存代理,提升带宽利用率,同时提供访问控制和隐私保护功能。

2. 安装 Squid

2.1 安装命令

在不同的 Linux 发行版上,可以使用以下命令安装 Squid:

  • Debian/Ubuntu 系列:
    sudo apt update
    sudo apt install squid
  • RHEL/CentOS/Fedora 系列:
    sudo yum install squid

2.2 检查服务状态

安装后,可以通过以下命令检查 Squid 服务状态:

sudo systemctl status squid

3. 配置文件详解

Squid 的主配置文件是 /etc/squid/squid.conf,以下是关键配置的简要说明。

3.1 配置缓存大小

通过 cache_dir 指令设置缓存目录和大小:

cache_dir ufs /var/spool/squid 100 16 256
参数含义
ufs缓存存储类型
/var/spool/squid缓存目录路径
100缓存大小 (MB)
16256一级和二级目录数

3.2 配置监听端口

默认情况下,Squid 监听在端口 3128,你可以修改为其他端口:

http_port 3128

3.3 设置访问控制

Squid 使用 ACL(访问控制列表)来管理访问权限。例如:

# 定义允许的网络范围
acl localnet src 192.168.1.0/24

# 允许 localnet 的访问
http_access allow localnet
http_access deny all

3.4 配置匿名代理

为了隐藏客户端 IP,可以启用匿名代理模式:

forwarded_for delete
request_header_access X-Forwarded-For deny all
request_header_access Via deny all
request_header_access Cache-Control deny all

3.5 配置日志文件

日志文件路径可以在配置文件中设置:

access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log

4. 配置防火墙

确保防火墙开放 Squid 使用的端口(如 3128):

  • UFW(Ubuntu):
    sudo ufw allow 3128
    sudo ufw reload
  • FirewallD(RHEL/Fedora):
    sudo firewall-cmd --add-port=3128/tcp --permanent
    sudo firewall-cmd --reload

5. 启动与测试 Squid

5.1 启动和启用服务

sudo systemctl start squid
sudo systemctl enable squid

5.2 测试代理

在客户端浏览器中配置代理地址为 Squid 服务器的 IP 和监听端口(如 3128),访问网页测试代理功能。

6. 小结

本文介绍了 Squid 代理服务器的安装与配置,帮助你实现网络优化和访问控制。希望这篇教程对你有所帮助!💡 别忘了收藏 在线知识库www.zxzsk.com )哦!😊