SoftEther VPN 使用
环境信息
- Centos7 5.4.221
- SoftEther VPN Server 4.41
- iptables
SoftEther VPN Server 有两种模式,Service Mode
和 User Mode
,本文档安装使用 Service Mode
[1]
Service Mode
- 安装之后以系统服务的形式存在(被管理)User Mode
- 安装之后不存在对应的服务,(管理员)用户直接通过进程管理,程序启动停止需要(管理员)用户手动停止相应进程
安装配置过程
安装
安装依赖包
yum -y install gcc zlib-devel openssl-devel readline-devel ncurses-devel |
参考链接 下载最新的安装包,本文档使用版本 4.41 版本 [2]
wget https://github.com/SoftEtherVPN/SoftEtherVPN_Stable/releases/download/v4.41-9782-beta/softether-vpnserver-v4.41-9782-beta-2022.11.17-linux-x64-64bit.tar.gz |
使用以下命令编译生成可执行文件
make |
将编译后的目录移动到 /usr/local/
下,并修改权限
cd .. |
使用 vpncmd check
命令检查 vpn server 是否可以正常运行。在 /usr/local/vpnserver/
目录下执行 ./vpncmd
,根据提示选择 3 (3. Use of VPN Tools (certificate creation and Network Traffic Speed Test Tool)
), 然后执行 check
命令进行检查。
./vpncmd |
执行检查后输出 All checks passed. It is most likely that SoftEther VPN Server / Bridge can operate normally on this system.
,说明系统可正常满足 vpn server 运行的条件。
根据以下内容生成服务启动脚本,将 vpn server 以 service 的形式运行
!/bin/sh |
给服务脚本添加可执行权限,并配置开机启动,之后可以通过 systemctl
管理服务状态。
chmod 755 /etc/init.d/softether-vpn-server |
防火墙添加以下配置 [4]
-A INPUT -m comment --comment "vpn" -m multiport -p tcp --dports 443,1194,5555,992 -j ACCEPT |
启动服务
systemctl start softether-vpn-server |
初始化配置
安装完 vpn server 之后,可以通过 SoftEther VPN Server Manager
管理 VPN Server。windows 上下载 SoftEther VPN Server Manager for Windows
[5]
初次登陆后,建议设置管理员密码
默认情况下,只存在一个名为 DEFAULT
的 Virtual Hub 注册到了 VPN Server,可以使用此 Virtual Hub,或者删除它重新创建自己的 Virtual Hub。
根据提示选择要创建的的 VPN Server 的类型,普通 VPN 选择 Remote Access VPN Server
根据提示,配置要创建的 Virtual Hub 的名称,接着会弹出 Dynamic DNS Function
配置界面。Dynamic DNS Function
的功能,会提供一个 softether.net
域的子域名,通过这个域名,可以解析到 VPN Server 的 IP 地址,如果服务器使用的是动态 IP,此解析会跟着变化。如果服务器只有内网 IP(云主机),此解析会自动解析到公网 IP。
Dynamic DNS Function
配置完成后退出(exit
),进入协议配置界面,此处启用所有协议(手机连接 VPN 需要)
创建 VPN 用户
回到管理界面后,选择刚刚创建的 Virtual Hub,点击 Manage Virtual Hub
按钮管理配置,选择 Virtual NAT and Virtual DHCP Server(SecureNAT)
,启用 SecureNAT
,否则客户端可以连接到 VPN Server,但是 VPN Server 不会分配 IP 地址给客户端。
客户端连接
android 自带 VPN 客户端连接
打开手机 VPN 设置,添加 VPN 配置,主要配置以下项:
Type
:L2TP/IPSec PSK
Server address
: 填写 VPN 服务器 IP 或域名IPSec pre-shared key
: 填写协议配置界面中配置的IPsec Pre-shared Key
对应的值,本文档中为vpn
Username
: 填写 VPN 的用户名Password
: 填写 VPN 用户密码
ios 自带的 VPN 客户端连接
在 IOS 的 通用
–> VPN 与 设备管理
–> VPN
中添加 VPN 配置,主要配置以下项:
类型
:L2TP
服务器
: 填写 VPN 服务器 IP 或域名账户
: 填写 VPN 的用户名密码
: 填写 VPN 用户密码密钥
: 填写协议配置界面中配置的IPsec Pre-shared Key
对应的值,本文档中为vpn
常见错误
VPN Client 可以连接到 VPN Server,但是 client 的出口 IP 未变
问题现象
windows 使用 VPN Client 可以正常连接到 VPN Server,但是检查客户端系统的出口 IP,不是 VPN Server 的 IP。检查客户端系统的 IP 地址信息
$ ipconfig /all |
VPN 适配器的 IP 地址为 169.254.160.75
,说明客户端未获取 VPN 相应的 IP 地址。检查 VPN Server 配置的 Virtual NAT and Virtual DHCP Server(SecureNAT)
部分,看是否启用了 SecureNAT
。启用后重新连接,查看 Windows 系统 IP 地址,看到已经正常分配到 VPN 的 IP,测试公网,变成了 VPN Server 的 IP。