很多中小企业为了隔离办公环境与因特网环境,使用Socks5或者HTTP代理的方式。HTTP代理的方式选择很多,常见的正向代理服务器有squid,privoxy,nginx,windows端有CCProxy等。但是Socks v4/v5协议的Linux代理选择很少,百度上搜索到的都是使用一个叫ss5的服务搭建的,功能比较简陋,最后一次更新是2013年2月。在一些比较新的Linux发行版上,如Ubuntu18.04编译都很困难。所以这里推荐一个产品Dante ,中文名但丁。以Ubuntu18.04为例介绍它的安装和部署方法。
Dante这个产品功能很丰富,有服务端和客户端。服务端可以很快的作为普通socks5代理服务器使用,而且可以输出丰富的日志。指定各种灵活的网络规则。比如允许哪些IP连接该服务,允许或禁止哪些IP地址或段使用代理进行访问,还可以设置多种用户认证方式,代理UDP协议等。非常强大。
首先Ubuntu安装有三种方式,分别是apt源安装,deb包安装和编译安装。
apt源安装最为简易,但是版本会比较旧,有些功能尤其是认证功能可能不能正常使用,安装方法如下
sudo apt-get install dante-server
deb包安装也很简单,是别人编译好打包的,不过版本也不是很新,可以到下面链接去下载http://ppa.launchpad.net/dajhorn/dante/ubuntu/pool/main/d/dante/
最推荐的还是源码编译,编译本身也不麻烦,可以根据自己的需要设置编译参数和依赖库
首先我们可以去官网查找最新版本的源码包,官网地址https://www.inet.no/dante/
然后下载并解压
sudo apt-get install gcc make
wget https://www.inet.no/dante/files/dante-1.4.2.tar.gz
tar -xzvf ./dante-1.4.2.tar.gz
cd ./dante-1.4.2/
然后你可以选择添加编译参数或者不写,它会自动的检测你有哪些依赖库,然后自动配置编译参数,如下
./configure
...
Configure status:
Client: Enabled
Server: Enabled
Preloading: Enabled
Libwrap: Disabled, tcpd.h missing
BSD Auth: Disabled, usable bsd_auth.h not found
PAM: