Softether(下文简称SE)的安装其实很简单,但是针对Ubuntu系统和CentOS的教程较多。对于目标系统Debian9 x64的教程不多,而且有些细节上的东西搞不清,总有一些问题,最主要的就是无法开机自启动。其实SE现在的版本安装后,都自动生成了开机启动脚本,但是在Debian环境下基本都无效。其实有很简单的解决办法。

SoftetherVPN简介:SE是一个开源的虚拟网卡VPN项目。最初是通过实现虚拟网卡来实现多个子网内计算机通信的软件,经过多年发展,现在已经形成了一个完善强大的VPN系统。其自身的服务器与客户端连接协议采用加密的类https协议实现,具有很好的隐蔽性,并且由于采用纯TCP连接,避免了一些防火墙或者UDP限制环境的不稳定因素。同时SE还支持传统SSTP、L2TP、OPENVPN等VPN协议。也就是说部署一套SE服务端,即可使用多种客户端进行连接。当然传统的那几个VPN协议早就被GWF盯上了,实际意义已经不大,SE自有的加密协议才是我们真正需要的。

SE-VPN的意义:我们需要SE的目的一般不是为了FQ,因为科学上网的需要一般使用V2RAY或者SSRR等手段,轻量化,速度快。不过一般V2或SSRR方式重点是解决WEB的代理,对于一些应用软件和游戏来说,使用起来就效果很差(尤其多UDP的支持是重灾区)。虽然有SSTAP,Kool-GameServer,Proxifier之类的工具存在解决UDP问题,但是首先这些工具实际效果并不太理想,有的速度特慢,有的NAT失败;其次还有有相当软件游戏还是无法使用这些工具的。所以还是标准的VPN方式对这些软件和游戏最友好,最稳定。所以SE的意义在于海外加速(TCP、UDP完全支持NAT)

划重点!!!! 以上两个小节告诉我们什么?
SE通过tcp(https)协议工作,而tcp可以被v2ray包裹!也就是说,我们可以在v2ray的内部实现一个安全的Vpn,而不暴露真实服务器。如果你的PC使用SE-vpn,而你的路由器部署了V2ray,那么结果太美好了。

一:准备
建议去 http://www.softether-download.com/cn.aspx 下载最新的服务器版本。因为虽然后边可以wget,但是文件名不固定,每次查找版本号,还不如直接下载回来,用SSH FTP传上去方便。
SSH登录系统,拿到root权限之后,先更新服务并安装相关软件。
apt-get update && apt-get upgrade
安装必须的软件包:
apt-get install build-essential -y

如果你没有事先在你的PC下载好最新版服务端,那么可以使用wget方式,命令类似下边,版本号自己找。
wget http://www.softether-download.com/files/softether/v4.21-9613-beta-2016.04.24-tree/Linux/SoftEther_VPN_Server/64bit_-_Intel_x64_or_AMD64/softether-vpnserver-v4.21-9613-beta-2016.04.24-linux-x64-64bit.tar.gz

二:安装
无论你是上传还是WGET,请注意文件存放的位置,找到文件目录位置后,可以解压缩文件(下边的文件名很长,注意根据你下载的版本,别写错):
tar xzvf softether-vpnserver-v4.21-9613-beta-2016.04.24-linux-x64-64bit.tar.gz
解压完成后,会在你当前目录出现一个vpnserver目录。
比如我将服务端文件上传到 /usr目录下,在这里解压,则server的安装目录就是 /usr/vpnserver
接下来安装编译:
cd vpnsever
make
输入make之后,会出现几个协议,需要你选择1同意,大概是三个。否则安装退出。

之后出现一大段文字,请向上翻一些,确认上边出现了以下内容即可:
————–
The preparation of SoftEther VPN Server is completed !
————–

随后我们修改一下默认语言
vim lang.config
把 en 改成 cn 存盘退出。

三:启动和基本配置
在/usr/vpnserver 目录下执行命令:
./vpnserver start
The SoftEther VPN Server service has been started.
启动成功后,执行命令打开控制界面
./vpncmd
进入控制界面的时候选择默认服务器的时候,如果443端口被其他程序占用,会连接不上,所以建议手输
127.0.0.1:5555
我们建议有Https站点的服务器,在后边的详细配置中先把443删掉,改为其他端口,以防它与网站冲突。

在控制界面首先设置一下服务器管理员密码
VPN Server>ServerPasswordSet
ServerPasswordSet command – Set VPN Server Administrator Password
Please enter the password. To cancel press the Ctrl+D key.

Password: *****
Confirm input: *****
The command completed successfully.

有了管理员密码,后边其他各种设置就都可以在PC上的管理端进行了。
以下我们直接继续建立一个HUB,主要是为了介绍一下控制界面下可以通过命令方式完成各种操作,可以通过help命令获得帮助。

建立HUB,并给这个HUB设置密码(此处与服务器管理密码建议不同)
VPN Server>HubCreate VPN
HubCreate command – Create New Virtual Hub
Please enter the password. To cancel press the Ctrl+D key.
Password:
Confirm input:
The command completed successfully.

现在可以选中刚才创建的HUB,此后的配置都是基于这个HUB。
VPN Server>Hub VPN
Hub command – Select Virtual Hub to Manage
The Virtual Hub “VPN” has been selected.
The command completed successfully.
之后可以通过命令行进行继续配置,不过我们已经可以通过管理客户端进行操作了,没必要继续使用不方便的命令行了。
以上工作完成后,使用exit命令退出控制界面。

四:完成自启动
vim /etc/rc.local
在合适位置(如果有exit 0,则在它之前) 加入一行
/usr/vpnserver/vpnserver start
保存退出,然后可以重启服务器了。

五:回到PC运行管理器,进一步配置Server
主要的配置工作包括(图片见下文):
下载 Softeher VPN Server Manger for windows 连接接服务器
通过IP地址和账号密码进行连接服务端,注意端口号使用你配置的端口,默认443,5555,992 。连接模式可以选择服务器管理,或虚拟HUB管理,从而区分管理级别,注意密码的不同。
配置端口、HUB、加密选项
服务器管理模式登陆进来,主要关注的是:监听的端口号,服务器已配置的HUB,加密与网络等内容。其他配置根据需要选择,如果不明白,建议不要改动。

—–
配置NAT
配置IP地址
配置用户账号
每个Server可以建立多个HUB,而每个HUB里配置的用户是各自HUB的,NAT配置也是各自的,并不是对整个Server通用。
启用 SECURENAT 并继续配置转发和IP地址

通过IP地址和账号密码进行连接服务端,注意端口号使用你配置的端口,默认443,5555,992 。连接模式可以选择服务器管理,或虚拟HUB管理,从而区分管理级别,注意密码的不同。
服务器管理模式登陆进来,主要关注的是:监听的端口号,服务器已配置的HUB,加密与网络等内容。其他配置根据需要选择,如果不明白,建议不要改动。
启用 SECURENAT 并继续配置转发和IP地址
每个Server可以建立多个HUB,而每个HUB里配置的用户是各自HUB的,NAT配置也是各自的,并不是对整个Server通用。

最后:畅玩网络
下载客户端,填写服务器地址、端口,输入账号密码即可连接VPN网络。通过浏览器查看你的IP地址是否已经改变。