softether server的安装配置(ubuntu、debian)

很多时候我们需要从外面访问公司或者家里的文件或者网络,这个时候就可以通过搭建vpn来实现,这里我推荐用softether来实现。

softether同时支持sslvpn,openvpn,ms-sstp,l2tp四种协议,可以实现对用户的单账号登录、限速、访问内容限制等功能。其中softether自己的sslvpn协议可以同时32链路连接,速度超过openvpn。

本文softether服务端配置基于Ubuntu12.04

1.配置softether安装环境:

1
apt-get install build-essential

2.下载softether服务器端程序:

1
wget http://www.softether-download.com/files/softether/v4.06-9435-beta-2014.03.26-tree/Linux/SoftEther%20VPN%20Server/32bit%20-%20Intel%20x86/softether-vpnserver-v4.06-9435-beta-2014.03.26-linux-x86-32bit.tar.gz

最新的下载地址

下载server包

3.解压程序:

1
tar zxf softether-vpnserver-v4.06-9435-beta-2014.03.26-linux-x86-32bit.tar.gz

进入softether目录编译:

1
2
cd vpnserver/
make //安装过程用一路选择Y(yes)

然后执行:

1
2
3
4
5
6
cd ..
mv vpnserver /usr/local
cd /usr/local/vpnserver/
chmod 600 *
chmod 700 vpncmd
chmod 700 vpnserver

4.配置启动项:

新建启动项:

1
vim /etc/init.d/vpnserver

在启动项中加入以下命令行:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/bin/sh
### BEGIN INIT INFO
# Provides: vpnserver
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable Softether by daemon.
### END INIT INFO
DAEMON=/usr/local/vpnserver/vpnserver
LOCK=/var/lock/subsys/vpnserver
test -x $DAEMON || exit 0
case "$1" in
start)
$DAEMON start
touch $LOCK
;;
stop)
$DAEMON stop
rm $LOCK
;;
restart)
$DAEMON stop
sleep 3
$DAEMON start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit 0

5.其他配置:

1
2
3
4
chmod 755 /etc/init.d/vpnserver
mkdir /var/lock/subsys
update-rc.d vpnserver defaults
/etc/init.d/vpnserver start

6.softether服务端验证:

1
2
3
4
cd /usr/local/vpnserver/
./vpncmd
3
check

4个都是ok的话就表示安装成功。

7.softether服务端相关配置:

1
2
3
4
5
6
./vpncmd
1
回车
回车
VPN Server>ServerPasswordSet
设置管理员密码

这里服务器端就配置完成了,下面配置本地管理段。

8.本地管理端配置

下载本地管理端

下载本地客户端

安装完成后开始配置:

配置1

配置2

然后连接进入,第一次运行时会有个服务端初始化过程,按照图片的选项勾选就行了

配置3

配置4

配置5

配置6

配置7

配置8

配置9

配置10

配置11

9.配置完成,赶紧用客户端连接服务器吧

客户端下载:

客户端

具体连接教程在这里就不说了。自己百度下,如果有时间我可以做个说明。

10.所在最后

  • linux上softether服务端的配置就结束了,Ubuntu外的linux系统操作方法大同小异。

  • softether比较吃cup,如果你连接上服务器后,发现网速很慢,你可以边上网边看服务器cpu,是不是100%。如果是100%那么说明你服务器的cpu运算能力不强(主机商超售了)。我搞了几天才把这个cpu占用率高的问题给解决了,方法在Softether server使用本地网桥中。

  • 有问题大家可以探讨。


由于softether的官网已被墙,所以我在国内做了一个备用下载地址:

百度网盘,密码:v2cf;

注意区分cpu构架(intel或者ARM等),系统(linux或者win),和系统位数(32位 or 64位)!

softether的连接方法,博客中也有介绍,大家可以找一找。


补充-l2tp端口修改方法(未测试)

关于l2tp更改端口的问题,我在github上的softether源码中搜索了下,l2tp的端口定义在源码中src/Cedar/IPsec.h文件中:

1
2
3
#define IPSEC_PORT_L2TP 1701 // L2TP
#define IPSEC_PORT_IPSEC_ISAKMP 500 // ISAKMP
#define IPSEC_PORT_IPSEC_ESP_UDP 4500 // IPsec ESP over UDP

如果需要修改l2tp的默认端口,就只需要更改定义中的1701端口

不过安装方法就需要更改了,具体步骤如下:

1
2
3
4
5
6
1. git clone https://github.com/SoftEtherVPN/SoftEtherVPN.git
2. cd SoftEtherVPN
3. 更改src/Cedar/IPsec.h中定义的l2tp端口
4. ./configure
5. make
6. make install

理论方法,未测试,如果测试能通过,请在下面留言反馈下

其它的用法请参考github上Softether中的README