SoftEther VPN(Software Ethernet VPN)是一款开源、跨平台、高性能的VPN软件,由日本筑波大学开发。它不仅支持常见的VPN协议(L2TP/IPsec、OpenVPN、SSTP等),还拥有自己独创的高效协议。相比OpenVPN等其他解决方案,SoftEther在速度、稳定性和安全性方面均有显著优势,尤其适合企业级和中小型环境部署。
本文将详细介绍如何在Linux系统上安装和配置SoftEther VPN服务端,以及如何从客户端(包括Linux客户端和Windows客户端)连接至VPN服务器。无论你是系统运维工程师,还是需要一个稳定VPN方案的个人用户,本文都能为你提供清晰的参考。
如需获取更多网络管理工具和运维资源,欢迎访问 IT峰哥软件库,这里收录了海量服务器运维、网络安全相关工具,全部安全无毒,持续更新。
SoftEther VPN简介
SoftEther VPN是一个功能强大的VPN解决方案。它的名字是”Software Ethernet”的缩写,从名称就能看出它的核心定位:通过软件实现的VPN通信。以下是它的主要特点:
- 多协议支持:同时支持L2TP/IPsec、OpenVPN、SSTP、EtherIP以及自有的SoftEther协议,同一台服务器可以为不同类型的客户端提供服务。
- 高性能:SoftE Ether采用了优化的数据传输技术,在吞吐量和延迟方面优于许多传统的VPN解决方案。
- NAT穿透:内置NAT穿透功能,即使客户端和服务端都在NAT设备后面,也能正常建立VPN连接。
- SSL-VPN:基于HTTPS的VPN通信,能够有效穿透防火墙,兼容性好。
- 开源免费:基于GPLv2协议开源,可以自由使用和修改,没有许可证费用。
SoftEther VPN支持Windows、Linux、macOS、FreeBSD等多种操作系统。它的架构分为服务端和客户端两部分:服务端负责管理用户、虚拟HUB和连接;客户端负责连接到服务端并建立VPN隧道。
Linux服务端安装与配置
以下以CentOS 7/8、Rocky Linux和Ubuntu 20.04/22.04为例,介绍SoftEther VPN服务端的安装和基本配置。
步骤一:下载SoftEther VPN服务端
首先,从SoftEther VPN的官方网站或GitHub仓库下载最新的Linux版本。建议安装最新的稳定版。以下是下载和安装的基本步骤:
安装必要的编译工具和依赖包:
CentOS/RHEL/Rocky Linux:
sudo yum install -y gcc gcc-c++ make readline-devel ncurses-devel openssl-devel
sudo yum groupinstall -y "Development Tools"
Ubuntu/Debian:
sudo apt update
sudo apt install -y build-essential libreadline-dev libncurses5-dev libssl-dev
步骤二:编译安装
SoftEther VPN以源码形式发布,需要编译安装。下载源码包后执行以下命令:
wget https://github.com/SoftEtherVPN/SoftEtherVPN/stable/v4.42-9798-beta.tar.gz
tar xzf v4.42-9798-beta.tar.gz
cd SoftEtherVPN-4.42-9798-beta
./configure
make
sudo make install
编译过程可能需要几分钟,具体时间取决于服务器的CPU性能。编译完成后,SoftEther VPN服务端可执行文件将被安装在 /usr/local/vpnserver/ 目录下。
步骤三:启动VPN服务端
安装完成后,首次启动服务端需要接受许可协议:
cd /usr/local/vpnserver
sudo ./vpnserver start
首次启动时会提示阅读并接受许可协议,输入”1″即可确认接受。
为了让服务端在系统启动时自动运行,可以创建systemd服务单元:
sudo vim /etc/systemd/system/vpnserver.service
添加以下内容:
[Unit]
Description=SoftEther VPN Server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/vpnserver/vpnserver start
ExecStop=/usr/local/vpnserver/vpnserver stop
ExecReload=/usr/local/vpnserver/vpnserver restart
Restart=on-abort
WorkingDirectory=/usr/local/vpnserver
[Install]
WantedBy=multi-user.target
然后启用并启动服务:
sudo systemctl daemon-reload
sudo systemctl enable vpnserver
sudo systemctl start vpnserver
步骤四:使用vpncmd配置服务端
SoftEther VPN提供了一个强大的命令行管理工具vpncmd,通过它可以完成所有服务端配置。在终端中执行:
cd /usr/local/vpnserver
sudo ./vpncmd
按照提示输入以下选项:
- 选择”1″(Management of VPN Server or VPN Bridge)
- 服务器地址输入”localhost”(本机配置)
- 端口默认为443(或直接回车)
- 选择”1″(Connect to VPN Server)
连接成功后,你将进入VPN Server管理菜单。以下是基本的配置步骤:
1. 设置管理员密码
ServerPasswordSet
输入并确认管理员密码。这个密码在后续远程管理时需要使用。
2. 创建虚拟HUB
虚拟HUB(Virtual HUB)是SoftEther VPN的核心概念,它相当于一个虚拟的网络交换机,所有客户端连接到同一个HUB后即可互相通信。
HubCreate VPNHUB
输入虚拟HUB的名称(例如VPNHUB),然后设置该HUB的管理员密码。
3. 进入HUB管理界面
Hub VPNHUB
4. 创建用户
为VPN连接创建用户账户:
UserCreate dufeng /GROUP:users /REALNAME:"Dufeng" /NOTE:"VPN User"
UserPasswordSet dufeng
创建用户后,需要设置该用户的登录密码。
5. 启用IPsec/L2TP(可选)
如果需要通过L2TP/IPsec协议连接,需要启用IPsec功能:
IPsecEnable
按提示设置L2TP预共享密钥(PSK)、是否启用L2TP、是否启用EtherIP等。
6. 启用NAT和DHCP功能
为了让VPN客户端能够访问外部网络,需要在虚拟HUB上启用NAT:
SecureNatEnable
这个命令会启用虚拟NAT和虚拟DHCP功能,为VPN客户端分配内网IP地址并提供上网能力。
步骤五:配置防火墙端口
为了让客户端能够连接到Services服务器,需要在防火墙中开放相应的端口:
CentOS/RHEL/Rocky Linux:
sudo firewall-cmd --add-port=443/tcp --permanent
sudo firewall-cmd --add-port=500/udp --permanent
sudo firewall-cmd --add-port=4500/udp --permanent
sudo firewall-cmd --add-port=1701/udp --permanent
sudo firewall-cmd --add-port=1194/udp --permanent
sudo firewall-cmd --reload
Ubuntu/Debian(使用UFW):
sudo ufw allow 443/tcp
sudo ufw allow 500/udp
sudo ufw allow 4500/udp
sudo ufw allow 1701/udp
sudo ufw allow 1194/udp
sudo ufw reload
各端口的对应关系:
- 443/tcp: SoftEther协议默认端口(也兼作HTTPS管理端口)
- 500/udp + 4500/udp: IPsec协议端口
- 1701/udp: L2TP协议端口
- 1194/udp: OpenVPN协议端口(
本站提供 免注册版 – 绿色版 下载,安全无毒,持续更新!
👉 SoftEther VPN Linu
SoftEther VPN Linu – 本站提供的专业软件工具,功能强大,安全稳定。
功能强大 – 安全可靠 – 免费下载
本站提供 免注册版 – 绿色版 下载,安全无毒,持续更新!
如启用)
Linux客户端连接设置
SoftEther VPN提供了Linux版的命令行客户端,接下来介绍如何在Linux上使用SoftEther客户端连接到VPN服务器。
安装SoftEther VPN客户端
与服务端的安装方式类似,客户端也需要从源码编译:
wget https://github.com/SoftEtherVPN/SoftEtherVPN/stable/v4.42-9798-beta.tar.gz
tar xzf v4.42-9798-beta.tar.gz
cd SoftEtherVPN-4.42-9798-beta
./configure --enable-vpnclient
make
sudo make install
注意这里的区别是使用 --enable-vpnclient 参数,表示编译客户端版本而非服务端版本。
启动客户端服务
cd /usr/local/vpnclient
sudo ./vpnclient start
配置VPN连接
使用 vpncmd 工具配置客户端连接:
cd /usr/local/vpnclient
sudo ./vpncmd localhost /CLIENT
在客户端管理菜单中,执行以下操作:
1. 创建虚拟网卡
NicCreate vpn_nic
这将创建一个名为”vpn_nic”的虚拟网卡。
2. 创建VPN连接设置
AccountCreate vpn_connection /SERVER:服务器IP:443 /HUB:VPNHUB /USERNAME:dufeng /NICNAME:vpn_nic
将”服务器IP”替换为实际的VPN服务器IP地址或域名。
3. 设置连接密码
AccountPasswordSet vpn_connection
输入对应用户的密码。
4. 连接VPN
AccountConnect vpn_connection
5. 获取虚拟网卡IP地址
连接成功后,虚拟网卡会自动从VPN服务器的DHCP服务获取IP地址。可以使用以下命令查看:
ip addr show vpn_vpn_nic
或者
ifconfig vpn_vpn_nic
如果一切正常,你将看到虚拟网卡获取到了一个内网IP地址(如 192.168.30.x),此时VPN连接已建立成功。
断开VPN连接
cd /usr/local/vpnclient
sudo ./vpncmd localhost /CLIENT /CMD AccountDisconnect vpn_connection
Windows客户端连接
对于Windows用户,SoftEther VPN提供了图形化客户端,配置更为直观:
- 下载并安装SoftEther VPN Client Manager for Windows
- 打开客户端管理器,点击”添加VPN连接”
- 填写连接名称、服务器地址(IP或域名)、端口号(默认443)
- 选择虚拟HUB名称(如VPNHUB)
- 输入用户名和密码
- 点击”确定”保存设置
- 选中新建的连接,点击”连接”按钮
连接成功后,你会看到虚拟网卡获取到了IP地址,状态变为”已连接”。
如果你是Windows用户,需要更多网络工具,欢迎访问 IT峰哥软件库,这里可以下载SoftEther VPN客户端及其他常用网络工具。
常用管理命令汇总
为了方便日常运维,以下汇总SoftEther VPN的常用管理命令:
| 命令 | 说明 |
|---|---|
vpnserver start/stop/restart |
启动/停止/重启服务端 |
vpnclient start/stop/restart |
启动/停止/重启客户端 |
vpncmd localhost /SERVER |
进入服务端管理 |
vpncmd localhost /CLIENT |
进入客户端管理 |
HubCreate HUB名称 |
创建虚拟HUB |
UserCreate 用户名 /GROUP:组名 |
创建用户 |
UserPasswordSet 用户名 |
设置用户密码 |
SecureNatEnable |
启用安全NAT |
IPsecEnable |
启用IPsec/L2TP |
AccountList |
查看连接列表(客户端) |
AccountStatusGet 连接名 |
查看连接状态(客户端) |
常见问题与排错
问题一:连接被拒绝
如果客户端连接时提示连接被拒绝,请检查:服务器防火墙是否开放了对应端口,服务端是否正常运行,以及虚拟HUB名称和用户名是否正确。
问题二:连接后无法上网
请确保在虚拟HUB上执行了 SecureNatEnable 命令启用了NAT功能。如果仍无法上网,检查服务器上的IP转发是否已开启:
echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
并在 /etc/sysctl.conf 中添加 net.ipv4.ip_forward = 1 使其永久生效。
问题三:L2TP连接失败
检查服务端是否正确启用了IPsec,并确认预共享密钥(PSK)设置正确。同时确保防火墙放行了500/udp和4500/udp端口。
问题四:’vpnserver’ 命令未找到
编译安装后,可执行文件在 /usr/local/vpnserver/ 目录下。可以将该目录添加到PATH环境变量中,或者每次都使用绝对路径执行。
问题五:忘记管理员密码
如果忘记了服务端管理员密码,可以停止vpnserver服务,删除服务端目录下的 vpn_server.config 文件(注意备份),然后重启服务端重新配置。
总结
SoftEther VPN是一个功能强大且灵活的VPN解决方案,在Linux平台上可以通过源码编译安装。相比OpenVPN,SoftEther配置更为简便,支持的协议更多,性能表现也更出色。无论是企业级部署还是个人使用,SoftEther都是一个值得考虑的选择。
本文详细介绍了SoftEther VPN在Linux环境下的安装步骤、服务端配置、客户端连接方法以及常见问题的处理方式。希望通过本文,您能够顺利搭建自己的VPN服务器,并在实际使用中获得良好的体验。
如需获取最新的SoftEther VPN安装包、网络管理工具以及其他运维辅助软件,欢迎访问 IT峰哥软件库,海量IT资源持续更新,全部经过安全检测,免费下载使用。
🚀 IT峰哥软件库
国内领先的一站式IT软件资源下载平台,收录超十万款软件资源,覆盖操作系统、办公软件、开发工具、系统工具、安全防护、数据恢复等20余大类,满足IT从业者、程序员、设计师和普通电脑用户的一切软件需求。
🛡️ 安全可靠 · 每日更新
所有资源经过严格安全检测,绿色无毒,提供 免注册版 · 绿色版 · 激活版 · 简体中文版 等多种版本选择。每日更新,紧跟最新版本发布节奏!