准备工作:VPS 与系统选择
自建代理服务器的前提是一台拥有公网 IP 的 VPS。选购时关注三点:出口带宽是否够用(建议 30Mbps 以上)、月流量配额是否匹配业务量、机房位置是否贴近目标网站。系统推荐 Debian 12 或 Ubuntu 22.04,以下命令均基于 apt 包管理器。拿到服务器后先更新系统并开放代理端口:
apt update && apt upgrade -y
ufw allow 22/tcp
ufw allow 3128/tcp
ufw enable
方案一:Squid 搭建带认证的 HTTP 代理
Squid 是最经典的 HTTP 代理软件,支持缓存、ACL 和多种认证插件。安装软件与密码工具:
apt install -y squid apache2-utils
htpasswd -c /etc/squid/passwd myuser
htpasswd 会提示输入两次密码并写入 /etc/squid/passwd。然后编辑 /etc/squid/squid.conf,在文件末尾追加认证与放行规则:
auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwd
auth_param basic realm MyProxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated
http_access deny all
http_port 0.0.0.0:3128
注意 Debian 自带配置里已有 http_access 规则,追加的 allow authenticated 必须排在 deny all 之前才会生效。完成后重启服务并设置开机自启:
systemctl restart squid && systemctl enable squid
客户端验证(把 your-vps-ip 换成服务器 IP):
curl -x http://myuser:密码@your-vps-ip:3128 http://httpbin.org/ip
方案二:3proxy 与 Dante
资源紧张的小 VPS 可以用 3proxy,它单文件运行、内存占用极小。安装后创建 /etc/3proxy/3proxy.cfg:
daemon
auth strong
users myuser:CL:你的密码
allow myuser
proxy -p3128
socks -p1080
上面同时开启了 HTTP 与 SOCKS5 两种入口。若只需要 SOCKS5,可以选择 Dante(包名 dante-server),其配置文件 /etc/danted.conf 支持 socksmethod username 认证并复用系统用户,适合团队内部使用。
安全加固清单
- 必须启用认证: 无认证的开放代理会在几天内被扫描器盯上,沦为他人滥用与攻击跳板。
- 限制来源 IP: 若只给自己用,在防火墙把 3128 端口限制为您的固定出口 IP 可访问。
- 更改默认端口: 把监听端口改为非标准值可大幅减少扫描噪音。
- 监控日志: 定期查看 /var/log/squid/access.log,发现异常流量立即处理。
- 及时打补丁: 关注 Squid 安全公告,保持软件版本更新。
合规提醒
自建代理仅限个人学习与企业内部正当用途。请确保服务器用途符合服务商条款与所在地法律法规,不要向陌生人开放使用,也不要利用自建节点从事任何违法活动。
Article ID: 15
(本文仅供技术交流,请遵守法律法规)