CentOS使用Dante建立Socks5代理,Socks5(Socket Secure)服务器搭建,代理服务器搭建,可实现网络加速

本文仅介绍服务端搭建,客户端不限,客户端本人用的是Proxifier,使用教程点击此处前往

Ubuntu系统教程点击此处前往

目录

  • [1. 安装](#1. 安装)
  • [2. 配置](#2. 配置)
    • [2.1. 配置准备](#2.1. 配置准备)
    • [2.2. 编辑命令](#2.2. 编辑命令)
    • [2.3. 三种配置,按需采用](#2.3. 三种配置,按需采用)
      • [配置1. 无用户名/身份验证的配置](#配置1. 无用户名/身份验证的配置)
      • [配置2. 多个网口这样配置,可以把所有网口加进来](#配置2. 多个网口这样配置,可以把所有网口加进来)
      • [配置3. 有用户名/身份验证的配置](#配置3. 有用户名/身份验证的配置)
        • [A. 新增用户步骤](#A. 新增用户步骤)
        • [B. 移除用户步骤](#B. 移除用户步骤)

1. 安装

bash 复制代码
# 添加库
rpm -Uvh http://mirror.ghettoforge.org/distributions/gf/gf-release-latest.gf.el7.noarch.rpm
# 安装dante-server
yum --enablerepo=gf-plus install dante-server -y 

安装后,会生成一个名为sockd的系统服务

创建目录存放该服务的PID

bash 复制代码
 mkdir /var/run/sockd

(非必要步骤)查看该服务的配置,无需修改

bash 复制代码
cat /usr/lib/systemd/system/sockd.service

2. 配置

您可先查看配置内容,理解配置项后,进行配置准备

2.1. 配置准备

  1. 获取当前的网络接口名称,后面步骤用到,一般为eth或者eno等开头 如果只想配置一个外部网络接口,记下相应的网络接口名称,如果不知道哪个适合,可以全部记下,后面全部配置

    bash 复制代码
    ifconfig
  2. 查看你需要的代理端口号,确认是否已放行,默认配置为1080,如果是云服务器查看服务器的安全组配置

2.2. 编辑命令

  1. 编辑文件,并清空现有内容

    bash 复制代码
    # 编辑
    sudo vi /etc/sockd.conf
    # 依次按以下键清空当前文件
    ggdG
  2. i键插入你编辑好的配置或者自行编辑,然后按ESC键,然后输入命令:wq保存

  3. 完成编辑后,需要启动服务即可生效,并可以设置服务自启动

    bash 复制代码
    # 启动服务
    sudo systemctl start sockd
    # 设置服务自启动
    sudo systemctl enable sockd
    # 重启服务
    sudo systemctl restart sockd
    # 查看服务状态
    sudo systemctl status sockd
    # 停止服务
    sudo systemctl stop sockd

2.3. 三种配置,按需采用

  • external 就是网络名称,指定了 Dante 代理服务器的外部接口,即用于与外部网络通信的接口
  • port= 指定了代理服务的端口号
  • socksmethod 指定了是否开启身份验证,值为usernamenone,其中username是固定的,不是自己任意取的用户名

配置1. 无用户名/身份验证的配置

bash 复制代码
logoutput: syslog
internal: 0.0.0.0 port=1080
external: eno2
socksmethod: none
clientmethod: none
user.privileged: root
user.unprivileged: nobody
client pass {
    from: 0.0.0.0/0 to: 0.0.0.0/0
}
socks pass {
    from: 0.0.0.0/0 to: 0.0.0.0/0
}

配置2. 多个网口这样配置,可以把所有网口加进来

bash 复制代码
logoutput: syslog
internal: 0.0.0.0 port=1080
external: eth0
external: eth1
external: eth2
external.rotation: route
socksmethod: none
clientmethod: none
user.privileged: root
user.unprivileged: nobody
client pass {
    from: 0.0.0.0/0 to: 0.0.0.0/0
}
socks pass {
    from: 0.0.0.0/0 to: 0.0.0.0/0
}

配置3. 有用户名/身份验证的配置

socksmethod设为username即可
socksmethod 指定了是否开启身份验证,值为usernamenone,其中username是固定的,不是自己任意取的用户名

bash 复制代码
logoutput: syslog
internal: 0.0.0.0 port=1080
external: eno2
socksmethod: username
clientmethod: none
user.privileged: root
user.unprivileged: nobody
client pass {
    from: 0.0.0.0/0 to: 0.0.0.0/0
}
socks pass {
    from: 0.0.0.0/0 to: 0.0.0.0/0
}

此时,你可以用系统现有的用户名密码作为身份验证,也可以再新增一个用户专门进行SOCKS5的身份验证

A. 新增用户步骤
  1. 新增登录用户名,自定义名字,例如danted

    bash 复制代码
    sudo useradd -r -s /bin/false danted
  2. 为用户名配置密码,根据提示设置密码和确认密码,完成新增

    bash 复制代码
    sudo passwd danted
B. 移除用户步骤
  1. 首先,如果用户当前已登录,请确保该用户已经退出系统

  2. 运行以下命令以删除用户,将 <username> 替换为想要移除的用户名,以下两种命令按需选择:

    bash 复制代码
    # 普通删除
    sudo userdel <username>
    # 删除用户的家目录和邮件文件夹
    sudo userdel -r <username>
相关推荐
网络空间小黑4 小时前
TCP/IP 知识体系
网络·网络协议·tcp/ip·计算机网络·5g·wireshark·信息与通信
Dotrust东信创智5 小时前
面向SDV的在环测试深度解析——仿真中间件SIL KIT应用篇
网络·中间件·汽车
厦门辰迈智慧科技有限公司5 小时前
城市排水管网流量监测系统解决方案
运维·服务器
qq_339282236 小时前
centos中libc.so.6No such file的解决方式
linux·运维·centos
leoufung6 小时前
ECPF 简介
linux·网络·kernel
国际云,接待7 小时前
云服务器的运用自如
服务器·架构·云计算·腾讯云·量子计算
救救孩子把8 小时前
MCP本地高效与云端实时:stdio 与 HTTP+SSE 传输机制深度对比
网络·网络协议·http·sse·mcp·stdio
hao_wujing8 小时前
衡量 5G 和未来网络的安全性
网络·5g
哞哞不熬夜9 小时前
JavaEE--初识网络
java·网络·java-ee
LunarCod9 小时前
Ubuntu使用Docker搭建SonarQube企业版(含破解方法)
linux·运维·服务器·ubuntu·docker·开源·sonarqube