
前言
在AI浪潮席卷全球的今天,我们经常需要下载动辄几十GB的AI模型文件(如 .pth, .safetensors, .gguf 等)。如果团队中每个人都重复下载,不仅浪费公司带宽,也严重影响开发效率。本文将从零开始,手把手教你如何在最新的 Ubuntu 24.04 LTS 系统上搭建一个功能强大的 Squid 代理服务器,并最终结合华为防火墙实现全自动的透明代理,让局域网用户在无感知的情况下享受高速缓存带来的便利。
本文不仅仅是一篇安装教程,更包含了笔者在部署过程中遇到的各种坑(例如找不到关键程序、配置报错、防火墙策略冲突等)以及最终的解决方案,希望能帮助你少走弯路,一篇文章搞定所有问题。
Squid 是什么?为什么需要它?
Squid 是一款经典的开源高性能代理缓存服务器,支持 HTTP, HTTPS, FTP 等多种协议。在我们的场景中,它的核心价值在于:
- Web 内容缓存:将访问过的网页、图片、特别是大文件(如软件安装包、AI模型)保存在本地服务器硬盘上。当局域网内其他人再次请求相同文件时,Squid 直接从本地缓存提供,速度极快,无需从互联网重复下载。
- 访问控制 (ACL):可以精细化地管理哪些人、哪些IP可以访问哪些网站,是企业网络管理的重要工具。
- 透明代理:结合网络设备,可以做到让用户无需任何配置,自动通过代理上网,极大地简化了部署和运维。
准备工作
- 一台安装了 Ubuntu 24.04 LTS 的物理机或虚拟机。
- 服务器具有较大的磁盘空间用于缓存(建议使用SSD以获得最佳性能)。
- 具有
sudo权限的用户。 - 一台支持策略路由(PBR)的防火墙(本例以华为 USG 系列为例)。
第一章:基础安装与配置
步骤 1: 更新系统并安装 Squid
首先,保持系统为最新状态,然后使用 apt 安装 Squid 核心包。
sudo apt update
sudo apt upgrade -y
sudo apt install squid -y
安装完成后,Squid 服务会自动启动。你可以用以下命令检查其状态:
sudo systemctl status squid
如果看到 active (running),说明基础安装成功。
步骤 2: 关键!安装 SSL/TLS 功能扩展包
这是许多教程会忽略,也是第一个大坑所在。默认的 squid 包仅包含基本功能。要实现我们最核心的 HTTPS 拦截(SSL-Bumping),必须安装包含相关帮助程序的扩展包。
# 安装这个包,它提供了 security_file_certgen 等关键工具
sudo apt install squid-openssl -y
排错心得:如果你跳过此步,后续在配置 sslcrtd_program 时会遇到 command not found 的错误。原因是核心包 squid 在 Ubuntu 中被拆分,SSL相关工具被放在了 squid-openssl 包里。
步骤 3: 创建缓存和日志目录
为了方便管理,我们将缓存和 coredump 文件放在独立的目录下(例如 /klai)。
# 创建自定义目录
sudo mkdir -p /klai/squid_cache /klai/squid_coredumps
# Squid 默认以 'proxy' 用户运行,需要赋予其对这些目录的读写权限
sudo chown -R proxy:proxy /klai/squid_cache /klai/squid_coredumps
第二章:HTTPS 拦截 (SSL-Bumping) 核心配置
要缓存 HTTPS 流量,Squid 必须扮演“中间人”的角色,解密流量,缓存内容,再重新加密。这需要我们为 Squid 创建一个自己的 CA 证书,并让所有客户端信任它。
步骤 1: 创建 Squid 的 CA 根证书
这个根证书是信任链的顶端,用来签发所有伪造的网站证书。
# 1. 创建存放证书的目录
sudo mkdir -p /etc/squid/certs
cd /etc/squid/certs
# 2. 生成 CA 私钥 (请妥善保管)
sudo openssl genrsa -out rootCA.key 4096
# 3. 使用私钥生成一个有效期10年的自签名 CA 根证书
# 在提示输入信息时,"Common Name" 可以填写一个有辨识度的名字,如 "My Company Squid CA"
sudo openssl req -new -x509 -key rootCA.key -out rootCA.pem -days 3650
# 4. 设置安全权限,确保只有 proxy 用户可以



被折叠的 条评论
为什么被折叠?



