不少人打算自建代理,第一想法就是选购香港服务器。这个选择确实有现实优势。香港距离大陆近,网络延迟低,国内主要城市Ping值大多落在20到50毫秒,南方用户访问体验接近本地网络。香港服务器无需备案,购买完成就能部署,省去整套备案流程。带宽选择丰富,从10M一直到10Gbps规格都有。综合这些特点,想要稳定快速的跨境网络出口,香港服务器是很合适的起步方案。
服务器拿到手,不要直接安装各类软件,优先处理基础系统环境。使用SSH工具连接服务器,系统无论是Ubuntu还是CentOS,第一步更新系统软件包。Ubuntu执行apt update && apt upgrade -y,CentOS运行yum update -y。这个步骤看着不起眼,能避免后续安装软件因为旧依赖包产生各类报错。更新完成配置防火墙,Ubuntu执行ufw allow 22/tcp放行SSH端口,防止修改防火墙后无法登录服务器。再根据计划使用的代理端口,例如3128或者8388,放行对应TCP端口。

Squid:最省事的HTTP代理方案
如果只需要HTTP/HTTPS代理,Squid部署最简单。Ubuntu执行sudo apt install squid -y安装,CentOS换成yum install squid -y。安装完成配置文件路径/etc/squid/squid.conf,找到http_access deny all,在该行上方添加访问许可规则。个人自用可以写acl client src 你的客户端IP,接着http_access allow client。生产环境务必限定具体IP,不要直接允许全部来源访问。默认端口3128,修改端口调整http_port参数即可。保存配置执行systemctl restart squid重启服务,客户端代理地址填写服务器公网IP,端口3128,浏览器测试访问网页。
Squid局限性很明显,它原生设计作为HTTP缓存代理,虽然支持HTTPS的CONNECT请求,但流量在Squid层面不会加密。适合网页浏览场景,游戏、邮件客户端这类非HTTP协议流量无法通过它转发。
Dante:要代理所有流量就用SOCKS5
SOCKS5代理不区分上层协议,全部当作TCP流转发,适用范围比HTTP代理更广。Dante-server是搭建SOCKS5代理常用软件。Ubuntu执行sudo apt install dante-server -y安装,配置文件/etc/danted.conf。基础配置填写监听地址端口,internal: 0.0.0.0 port = 1080代表监听本机全部网卡1080端口。external参数填写网卡名称,ip addr命令查看,一般是eth0或者ens33。认证推荐账号密码模式,配置写入socksmethod: username,相比无密码安全很多。修改配置重启服务,客户端代理类型选择SOCKS5,填入IP和端口,各类应用流量都可以转发。
Shadowsocks:要加密和抗干扰就选它
前面两种方案解决能不能代理的需求,Shadowsocks侧重流量安全与稳定性。传输流量经过加密,不像HTTP代理明文传输,自带混淆能力,香港网络环境下不容易被QoS限速。
Shadowsocks安装方式较多,传统pip方式依旧可用,先安装Python3和pip,执行pip3 install shadowsocks。新建配置文件/etc/shadowsocks.json,server填写0.0.0.0,server_port选用1024至65535区间端口,推荐8388或者443这类常用端口,密码设置复杂,加密算法选用aes-256-gcm或者chacha20-ietf-poly1305,两者在速度、安全性之间平衡较好。配置完成执行ssserver -c /etc/shadowsocks.json -d start后台启动。想要开机自动运行,把启动命令写入/etc/rc.local。
现在更推荐shadowsocks-libev版本,对比python版pip安装的程序,性能更好,内存占用更低。Ubuntu22.04直接apt install shadowsocks-libev,配置文件/etc/shadowsocks-libev/config.json,格式和上面类似,systemctl enable --now shadowsocks-libev开启服务并设置开机自启。
协议怎么选,看你要解决什么问题
这几个方案不是互相替代,适配不同场景。仅浏览网页,追求最简配置,Squid足够。需要转发游戏、邮件等各类应用流量,Dante搭建SOCKS5更合适。在意隐私、担心流量识别限速,选用Shadowsocks。WireGuard是另外一个选项,协议开销低于OpenVPN,吞吐性能强,适合对速度要求高的场景,只是客户端配置比Shadowsocks繁琐。比较务实的思路,先部署Shadowsocks试运行,评估是否满足需求,不够再叠加其他方案。
安全这件事不能省
服务器暴露公网,会持续有端口扫描、密码爆破尝试。几项安全操作必须执行。SSH禁止密码登录,改用密钥认证,再复杂的密码也抵挡不住暴力破解。坚持使用密码登录,至少修改22端口,过滤大部分自动化扫描。代理软件开启身份校验,Squid通过http_access限定客户端IP,Dante启用账号密码,Shadowsocks设置高强度长密码。安装fail2ban,监控日志,多次登录失败IP自动封禁,香港公网IP服务器尤其需要。防火墙规则精简,只放行必要端口,其余全部关闭。
性能还有提升空间
BBR是Google开发的TCP拥塞控制算法,香港到大陆这类存在丢包的跨境链路,开启BBR能够提升传输效率。操作命令,将net.core.default_qdisc=fq、net.ipv4.tcp_congestion_control=bbr两行追加到/etc/sysctl.conf,执行sysctl -p生效。大量教程都有这个操作,实测对跨境链路稳定性有正向作用。
带宽是另一个实际限制。个人单独使用,1核1G搭配2M带宽服务器足够,月成本十几到二十元。多人共用,2核4G配5M带宽基本支撑。需要留意,很多VPS标注不限流量或者大流量包,实际限制带宽峰值。购买10Mbps带宽,理论下载上限约1.25MB/s,单人看视频勉强够用,多人同时使用带宽紧张。
搭建代理本身没有复杂门槛,采购服务器、安装软件、调整配置、开放端口,每一步都有现成命令和配置模板。真正耗费精力的是后续维护:定期更新系统、代理软件,查看日志排查异常连接,监控带宽避免超出套餐限额。做好这些,一台香港服务器就可以提供稳定可靠的代理出口。