Skip to content

socket5服务器配置

Socks5 服务器配置文档

1. 环境

  • 操作系统: Ubuntu 20.04
  • 软件包: dante-server

2. 安装 Dante Server

Terminal window
apt-get update
apt-get install -y dante-server

3. 配置文件检查

查看当前配置文件(去除注释和空行):

Terminal window
cat /etc/danted.conf | grep -v '^#' | grep -v ^$

4. 编辑配置文件

使用 vi 编辑 /etc/danted.conf 文件,配置如下:

Terminal window
logoutput: stderr
internal: eth0 port = 1088
external: 192.155.83.176
socksmethod: pam.username
user.privileged: root
user.unprivileged: nobody
user.libwrap: nobody
# 客户端连接规则
client pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
log: connect disconnect
}
client block {
from: 0.0.0.0/0 to: 0.0.0.0/0
log: connect error
}
# Socks5 连接规则
socks pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
log: error
}
socks block {
from: 0.0.0.0/0 to: 0.0.0.0/0
log: connect error
}

配置说明:

  • logoutput: 日志输出到标准错误 (stderr)。
  • internal: 监听内部网络接口 eth0,端口 1088
  • external: 使用外部网络接口的 IP 地址 192.155.83.176
  • socksmethod: 使用 PAM 进行用户名认证 (pam.username)。
  • user.privileged: 特权用户设置为 root
  • user.unprivileged: 非特权用户设置为 nobody
  • user.libwrap: 使用 libwrap 的用户设置为 nobody

规则说明:

  • client pass: 允许所有客户端连接,并记录连接和断开日志。
  • client block: 阻止所有客户端连接,并记录连接错误日志。
  • socks pass: 允许所有 Socks5 连接,并记录错误日志。
  • socks block: 阻止所有 Socks5 连接,并记录连接错误日志。

5. 启动与检查服务

Terminal window
# 重启 Dante Server
/etc/init.d/danted restart
# 检查服务状态
/etc/init.d/danted status

6. 添加用户

创建用于认证的用户 u1001

Terminal window
# 添加用户,禁止 shell 登录
useradd -s /bin/false u1001
# 设置用户密码
passwd u1001
# 查看用户信息
cat /etc/passwd

7. 客户端连接

在客户端(如 Telegram)中配置代理:

  1. 进入 高级 设置。
  2. 配置 Socks5 代理:
    • 服务器: 192.155.83.176
    • 端口: 1088
    • 认证: 使用用户名 u1001 和密码。

8. 修改规则以允许特定 IP 或网段

  • 允许特定 IP 网段: 修改 client pass 规则中的 fromto 字段为允许的网段,例如:

    Terminal window
    client pass {
    from: 192.168.1.0/24 to: 0.0.0.0/0
    log: connect disconnect
    }

    注意: 单个 IP 地址需使用 /32 表示,例如 192.168.1.100/32

  • 规则顺序: 配置文件中的规则是按从上到下的顺序执行的,确保允许规则在阻止规则之前。

9. 保存并重启服务

修改配置文件后,保存并重启 Dante Server 以应用更改:

Terminal window
/etc/init.d/danted restart

10. 完成

至此,Socks5 服务器已配置完成,客户端可以通过配置的代理进行连接和访问。


备注:

  • 如果需要更复杂的规则,可以参考 Dante Server 的官方文档。
  • 确保防火墙允许 1088 端口的流量通过。