手把手教你在CentOS上搭个稳如狗的Socket代理
最近不少做网络调试的朋友都在问,怎么自己整一个靠谱的代理服务器。今天咱就用最接地气的方式,教你在CentOS系统上从零开始搭建Socket代理,关键步骤我亲自踩过坑,保你少走弯路。
为什么你需要自建代理服务器
现在很多线上业务都需要固定出口IP或者特定地区IP,比如做数据采集、区域服务测试这些。虽然市面上有现成方案(像神龙IP这种专业服务商),但自己搭建有个好处:可以完全掌控流量走向,特别是需要长期稳定IP的场景。
这里插句嘴,神龙IP的SOCKS5协议支持确实省心,他们的动态ip池能自动切换地址,适合需要频繁更换ip的场景。不过咱们今天重点讲自建,有需要现成方案的朋友可以自行了解。
环境准备别马虎
准备台干净的CentOS 7+系统,内存建议1G起步。先做这三件事:
1. yum update -y (系统更新必须做)
2. systemctl stop firewalld (临时关防火墙,后面再细说)
3. yum install squid -y (主角安装)
特别注意:别用root用户直接操作!新建个专用账号更安全,比如useradd proxyadmin
配置文件要这样改
打开/etc/squid/squid.conf配置文件,重点改这几个地方:
监听端口改成你需要的,比如10086 http_port 10086 访问控制列表要严格(重要!) acl localnet src 192.168.0.0/16 acl SSL_ports port 443 acl Safe_ports port 80 acl Safe_ports port 443 最后一定要加这句允许规则 http_access allow all
避坑提醒:配置文件改完后,记得squid -k parse检查语法,很多新手栽在这儿。
防火墙设置别翻车
重新打开防火墙,只放行必要端口:
firewall-cmd --permanent --add-port=10086/tcp firewall-cmd --reload
这里有个血泪教训:如果客户端连不上,先用telnet 服务器IP 10086测试连通性,八成是防火墙没配置好。
客户端连接实测
以常用工具举例:
| 工具 | 配置要点 |
|---|---|
| 浏览器 | 设置-高级-网络设置-SOCKS代理 |
| Python脚本 | requests库加proxies参数 |
| 手机端 | 用神龙IP安卓版直接选SOCKS5类型 |
测试命令推荐:curl -x socks5://IP:端口 http://ifconfig.me 看返回的IP对不对
常见问题急救包
| 症状 | 排查方法 | 解决方案 |
|---|---|---|
| 连接超时 | 检查防火墙状态 | 开放端口+关selinux |
| 认证失败 | 查看/var/log/squid/access.log | 检查ACL规则 |
| 速度慢 | top查看资源占用 | 调整cache_mem参数 |
维护建议
1. 每月执行squid -k rotate清理日志
2. 重要配置改动前备份cp squid.conf squid.conf.bak
3. 遇到突发流量可以考虑搭配神龙IP的静态ip服务做负载均衡
最后说句实在话,自建代理适合技术团队折腾,如果是个人短期使用,直接上成熟方案更省时间。像神龙IP这种支持多协议切换的,拿来就能用,还不用操心服务器维护。
