docs: 新增部署后必做章节 - Squid 服务端 ACL 放行

踩坑记录: Squid 默认配置里 localnet ACL 定义了 10/8, 172.16/12,
192.168/16 等内网段,但 'http_access allow localnet' 默认被注释掉,
导致内网客户端所有代理请求返回 403 TCP_DENIED。

新增 '⚠️ 部署后必做' 章节,提供:
- 症状描述
- 两种修复方式 (Web UI / 命令行)
- 验证方法
- 安全警告 (不要 allow all,会被全球黑名单)
This commit is contained in:
Hermes Agent
2026-07-15 13:26:12 +08:00
parent 4a1d949e41
commit a875d790b0
+41
View File
@@ -111,6 +111,47 @@ systemctl enable --now squid-manager
**首次登录后请立即修改密码** (左侧导航 → 修改密码)。
## ⚠️ 部署后必做:Squid 服务端 ACL 放行
Squid 安装后默认配置里 `localnet` ACL 虽然定义了 `10.0.0.0/8``172.16.0.0/12``192.168.0.0/16` 等内网段,但 **对应的 `http_access allow localnet` 这一行默认被注释掉**。如果你的 Squid 同时跑在公网或混合网段,内网客户端的所有代理请求会全部返回 `403 TCP_DENIED`
**症状**: 客户端配置了代理,浏览器打不开任何网站;`/var/log/squid/access.log` 里看到 `TCP_DENIED/403` 而不是 `TCP_MISS/200`
**修复** (任选一种):
### 方式一: 通过 Squid Manager Web UI(推荐,有 diff 预览和审计)
1. 登录平台 → **原始编辑** → 在 `http_access allow localhost` 下面、 `http_access deny all` 上面插入一行:
```
http_access allow localnet
```
2. 点保存 → 看 diff 预览 → 确认 → 自动备份 + 写盘
3. 回到 **服务控制** 页 → 点 **平滑重载 (reload)**
### 方式二: 直接编辑 /etc/squid/squid.conf
```bash
cp /etc/squid/squid.conf /etc/squid/squid.conf.bak
# 在 http_access allow localhost 之后插入一行:
sed -i '/^http_access allow localhost$/a http_access allow localnet' /etc/squid/squid.conf
squid -k parse -f /etc/squid/squid.conf # 语法校验
squid -k reconfigure # 让新配置生效
```
### 验证生效
```bash
# 从另一台内网机器(比如你的 Windows 10.168.1.201)
curl -x http://<squid-server>:3128 -I http://example.com
# 应该返回 HTTP/1.1 200 OK
# 之前会是 403 Forbidden 或连接重置
```
> ⚠️ **不要把 `http_access allow all` 加上去** — 那会变成开放代理,服务器 IP 会在 24 小时内被全球黑名单(Spamhaus / Tor exit list / 各种威胁情报)列入。
## 配置路径
默认假设 Squid 安装在本机: