Ubuntu使用Dante(dante-server)建立Socks5代理,Socks5(Socket Secure)服务器搭建,代理服务器搭建,可配置单用户认证,防止端口裸奔,可实现网络加速
如果只想配置一个外部网络接口,记下相应的网络接口名称,如果不知道哪个适合,可以全部记下,后面全部配置。作为身份验证,也可以再新增一个用户专门进行SOCKS5的身份验证。您可先查看配置内容,理解配置项后,进行配置准备。是固定的,不是自己任意取的用户名。指定了是否开启身份验证,值为。
本文仅介绍服务端搭建,客户端不限,客户端本人用的是Proxifier,使用教程点击此处前往
目录
1. 安装
sudo apt update
sudo apt install dante-server
2. 配置
您可先查看配置内容,理解配置项后,进行配置准备
2.1. 配置准备
- 获取当前的网络接口名称,后面步骤用到,一般为eth或者eno等开头
如果只想配置一个外部网络接口,记下相应的网络接口名称,如果不知道哪个适合,可以全部记下,后面全部配置
ifconfig - 查看你需要的代理端口号,确认是否已放行,默认配置为1080
# 放行命令 sudo ufw allow 1080
2.2. 编辑命令
- 编辑文件,并清空现有内容
# 编辑 sudo vi /etc/danted.conf # 依次按以下键清空当前文件 ggdG - 按
i键插入你编辑好的配置或者自行编辑,然后按ESC键,然后输入命令:wq保存 - 完成编辑后,需要重启服务即可生效
# 重启服务 sudo systemctl restart danted # 查看服务状态 sudo systemctl status danted # 启动服务 sudo systemctl start danted # 停止服务 sudo systemctl stop danted
2.3. 三种配置,按需采用
external就是网络名称,指定了 Dante 代理服务器的外部接口,即用于与外部网络通信的接口port=指定了代理服务的端口号socksmethod指定了是否开启身份验证,值为username或none,其中username是固定的,不是自己任意取的用户名
配置1. 无用户名/身份验证的配置
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. 多个网口这样配置,可以把所有网口加进来
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. 有用户名/身份验证的配置
dante仅支持用系统用户(比如Ubuntu、CentOS系统的用户)的方式登录,但是通过下面的配置可以实现新增一个没有shell权限的用户专门用于dante身份认证,同时其他系统用户的账密无法用于dante身份认证
将最外层的
socksmethod设为username,username是固定的值,不是自己任意取的用户名,值为none代表端口不需要认证就能连接
如果需要指定部分系统用户登录,在socks pass {}中新增一个ocksmethod: username 和 group: 用户组,其中,group为想用于认证的用户名或新增的用户名(用户组名默认为用户名),自己配置即可,这里配置成了dante,此用户后面会有创建命令
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
socksmethod: username
group: dante
}
也可以用系统现有的用户名密码作为身份验证,使用下面的配置即可
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
}
A. 新增用户步骤
- 新增登录用户,此用户是没有shell权限的,前面
group配置自定义名字dante,实际上是因为这个用户所在的组默认为用户名sudo useradd -r -s /bin/false dante - 为用户名配置密码,根据提示设置密码和确认密码,完成新增
sudo passwd dante
B. 移除用户步骤
- 首先,如果用户当前已登录,请确保该用户已经退出系统
- 运行以下命令以删除用户,将
dante替换为想要移除的用户名,以下两种命令按需选择:# 普通删除 sudo userdel dante # 删除用户的家目录和邮件文件夹 sudo userdel -r dante
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)