本文详细介绍在CentOS 6系统下搭建SOCKS5代理服务器的操作流程,涵盖系统更新、依赖安装(如OpenSSH)、SSH服务配置(启用隧道功能)、防火墙端口开放(如1080)及服务启动等关键步骤,通过SSH隧道实现安全代理,并附测试方法,确保代理可用性,适用于需要内网穿透或安全访问的场景。
SOCKS5代理作为一种网络协议,支持TCP和UDP数据转发,能够隐藏客户端真实IP,广泛应用于匿名访问、绕过网络限制等场景,CentOS 6作为经典的Linux发行版,虽然已停止官方维护,但在某些测试或遗留系统中仍有使用,本文将详细介绍如何在CentOS 6系统下通过Dante代理服务器搭建SOCKS5代理服务,并完成配置与测试。
环境准备
- 系统要求:纯净的CentOS 6系统( minimal安装建议安装
net-tools工具包,便于网络管理)。 - 网络配置:确保服务器能访问外网(用于下载安装包),并规划好代理服务监听的IP和端口(如
0.0.0:1080)。 - 权限要求:使用
root用户或具有sudo权限的用户操作。
安装Dante代理服务器
Dante是一款稳定、功能丰富的SOCKS代理服务器,支持多种认证方式和转发规则,是CentOS 6下搭建SOCKS5代理的理想选择。
安装依赖
yum update -y # 更新系统软件包 yum install -y gcc make # 安装编译工具
下载并编译Dante
# 下载Dante源码(以dante-1.4.2为例,可根据需要更新版本) wget https://www.inet.no/dante/files/dante-1.4.2.tar.gz tar -zxvf dante-1.4.2.tar.gz cd dante-1.4.2 # 编译安装 ./configure make make install
验证安装
安装完成后,检查sockd命令是否存在:

which sockd # 应输出 /usr/local/bin/sockd
配置SOCKS5代理
Dante的配置文件位于/etc/sockd.conf,需根据实际需求修改,以下是基础配置示例,支持用户名密码认证,并允许指定客户端访问。
备份原始配置
cp /etc/sockd.conf /etc/sockd.conf.bak
编辑配置文件
vi /etc/sockd.conf
示例
# 内部接口:监听所有IP(可根据需求修改为具体IP,如192.168.1.100)
internal: 0.0.0.0 port = 1080
# 外部接口:出站网卡的IP(可通过`ip addr`查看,如eth0的IP)
external: eth0
# 认证方式:用户名密码(需提前创建系统用户)
method: username
# 客户端访问规则:允许所有用户(可限制IP,如from 192.168.1.0/24)
user.privileged: root
user.notprivileged: nobody
user.libwrap: nobody
# 客户端规则:允许认证通过的用户访问
client pass {
from: 0.0.0.0/0 # 允许所有客户端(建议限制为可信IP)
to: 0.0.0.0/0
}
# 转发规则:允许所有目标地址(可限制特定端口或域名)
socks pass {
from: 0.0.0.0/0
to: 0.0.0.0/0
}
创建认证用户
useradd -s /sbin/nologin proxyuser # 创建用户(禁止登录系统) echo "proxyuser:yourpassword" | chpasswd # 设置密码(替换yourpassword为实际密码)
启动并配置服务
创建systemd服务文件(CentOS 6默认使用init,但Dante可能需手动管理)
由于CentOS 6默认使用init而非systemd,直接通过service命令管理:
# 创建服务脚本 vi /etc/init.d/sockd
服务脚本内容
#!/bin/bash
# chkconfig: 345 85 15
# description: Dante SOCKS5 Proxy Service
case "$1" in
start)
echo "Starting sockd..."
/usr/local/bin/sockd -D
;;
stop)
echo "Stopping sockd..."
pkill sockd
;;
restart)
$0 stop
sleep 2
$0 start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
;;
esac
exit 0
添加执行权限并设置开机自启
chmod +x /etc/init.d/sockd chkconfig --add sockd chkconfig sockd on
启动服务
service sockd start
检查服务状态
service sockd status # 应显示“sockd (pid xxx) is running...” netstat -tuln | grep 1080 # 确认1080端口已监听
安全配置
-
防火墙设置
开放代理端口(1080),并限制访问来源(建议仅允许可信IP):iptables -I INPUT -p tcp --dport 1080 -j ACCEPT iptables -I INPUT -p tcp --dport 1080 -s 192.168.1.0/24 -j ACCEPT # 仅允许192.168.1.0/24访问 iptables -I INPUT -p tcp --dport 1080 -s 0.0.0.0/0 -j DROP # 禁止其他IP service iptables save # 保存防火墙规则
-
SELinux配置
若SELinux开启(getenforce查看),需允许Dante网络访问:setsebool -P allow_execstack on semanage port -a -t socks_port -p tcp 1080 # 添加1080端口到SELinux策略(需安装policycoreutils-python)
测试代理服务
使用curl测试
# 设置代理环境变量(替换IP和端口) export ALL_PROXY=socks5://proxyuser:yourpassword@服务器IP:1080 # �
文章版权声明:除非注明,否则均为xmsdn原创文章,转载或复制请以超链接形式并注明出处。

