
1. 环境准备与基础配置在CentOS 7系统上部署双代理服务前需要做好基础环境检查。我遇到过不少因为系统版本或依赖问题导致的安装失败案例这里分享几个关键检查点首先确认系统版本执行以下命令查看cat /etc/redhat-release理想输出应为CentOS Linux release 7.x。如果是CentOS 8或其他版本建议重装系统实测发现很多代理工具对7.x版本兼容性最佳。接着更新系统基础组件yum update -y yum install -y wget这个步骤经常被忽略但非常重要。去年给客户部署时就因为openssl版本过低导致加密握手失败更新后问题迎刃而解。防火墙配置是另一个常见坑点建议先放行后续要用到的端口示例为59394/59395firewall-cmd --zonepublic --add-port59394/tcp --permanent firewall-cmd --zonepublic --add-port59395/tcp --permanent firewall-cmd --reload如果遇到防火墙不可用的情况可能是firewalld服务未启动用systemctl start firewalld激活即可。2. HTTP代理服务部署实战Squid是Linux下最成熟的HTTP代理解决方案但默认配置需要优化才能满足实际需求。分享一个我优化过的部署方案先安装基础软件包yum install -y squid关键的配置修改在/etc/squid/squid.conf建议完全替换为以下内容cat /etc/squid/squid.conf EOF acl localnet src 0.0.0.1-0.255.255.255 acl localnet src 10.0.0.0/8 acl localnet src 100.64.0.0/10 acl localnet src 169.254.0.0/16 acl localnet src 172.16.0.0/12 acl localnet src 192.168.0.0/16 acl localnet src fc00::/7 acl localnet src fe80::/10 http_access allow localnet http_port 59394 via off forwarded_for delete request_header_access Via deny all request_header_access X-Forwarded-For deny all request_header_access Referer deny all EOF这个配置做了三处关键改进增加了IPv6地址段支持关闭了via和X-Forwarded-For头防止信息泄露精简了不必要的ACL规则启动服务时建议用组合命令systemctl restart squid systemctl enable squid systemctl status squid这样能一次性完成重启、开机启动和状态检查。遇到过不少案例因为没设置开机启动服务器重启后代理就失效了。3. Socks5代理服务深度配置Dante是Linux下最稳定的Socks5服务实现但官方源没有现成包。推荐用这个经过验证的安装脚本wget --no-check-certificate https://raw.github.com/Lozy/danted/master/install.sh -O install_proxy.sh chmod x install_proxy.sh ./install_proxy.sh --port59395 --useryouruser --passwdyourpass安装完成后需要特别注意日志监控tail -f /var/log/sockd.log这个实时日志能帮助诊断连接问题。曾有个客户案例因为日志爆满导致磁盘写满建议定期用logrotate管理。认证配置方面除了基础的用户名密码还可以通过修改/etc/sockd.conf添加IP白名单client pass { from: 192.168.1.0/24 to: 0.0.0.0/0 method: username }这样就只允许特定网段的设备通过认证使用代理安全性更高。4. 服务验证与性能调优部署完成后必须进行连通性测试。推荐同时使用命令行和图形化工具验证HTTP代理测试curl -x http://youruser:yourpass服务器IP:59394 https://www.example.com如果返回网页源码说明HTTP代理正常工作。Socks5测试更推荐用实际应用验证比如配置Chrome浏览器安装SwitchyOmega插件新建情景模式选择Socks5填入服务器IP、端口59395及认证信息访问ipinfo.io查看出口IP是否变化性能调优方面Squid有两个关键参数需要调整echo cache_mem 256 MB /etc/squid/squid.conf echo maximum_object_size 1024 MB /etc/squid/squid.conf这会将内存缓存提升到256MB支持缓存1GB以下的大文件。对于Dante服务建议修改/etc/sockd.conf中的线程数io.method: pthread io.threads: 4根据服务器CPU核心数调整线程数量4核处理器建议设为4-8之间。5. 安全加固与日常维护代理服务器暴露在公网需要特别注意安全防护。分享几个实战经验首先修改默认端口能避开大部分扫描攻击sed -i s/59394/随机端口/g /etc/squid/squid.conf sed -i s/59395/另一随机端口/g /etc/sockd.conf其次配置fail2ban防御暴力破解yum install -y fail2ban cat /etc/fail2ban/jail.d/socks5.conf EOF [socks5] enabled true port 59395 filter socks5 logpath /var/log/sockd.log maxretry 3 bantime 86400 EOF日志维护建议设置每日切割cat /etc/logrotate.d/squid EOF /var/log/squid/*.log { daily missingok rotate 7 compress delaycompress notifempty create 0640 squid squid } EOF最后提醒一定要定期更新软件yum update squid -y去年Log4j漏洞爆发时很多代理服务器就因为长期不更新成为攻击跳板。