如何在 Ubuntu 上搭建一个安全快速的 SoftEther 服务器?
在本指南中,您将学习如何一步一步地、切实地学习如何…… SoftEther 在 Ubuntu 22.04 或 20.04 上安装、配置和保护 VPN。本文面向需要稳定 VPN 的网络管理员、DevOps 工程师、站点管理员和技术用户,该 VPN 支持 OpenVPN、L2TP/IPsec、SSTP 和二层/三层隧道。.
先决条件
开始之前,请确保满足以下条件:
- 具有 root 权限的 Ubuntu 22.04 或 20.04 服务器,或者具有 sudo 权限的用户
- 至少需要1GB内存(用于生产环境) 建议使用 2GB 以上内存。)
- 访问所需端口或配置防火墙的能力
- 如果从源代码构建或下载官方二进制文件,则需要构建工具。
第一部分——安装 SoftEther VPN(从源代码编译)
1. 更新系统并安装必备组件
sudo apt update && sudo apt upgrade -y
sudo apt install -y build-essential gcc make git libreadline-dev libssl-dev libncurses-dev zlib1g-dev liblzma-dev2. 克隆官方仓库并构建
克隆并编译官方 SoftEther 存储库;运行 make 时,系统会要求您接受条款。.
git clone https://github.com/SoftEtherVPN/SoftEtherVPN_Stable.git
cd SoftEtherVPN_Stable
make在制作过程中,该选项 1 输入以继续构建。构建完成后,二进制文件将位于 /etc/bin/bin 文件夹中。 VPN服务器 它们被制造出来了。.
3. 安装到标准路径并设置权限
sudo mv vpnserver /usr/local/
cd /usr/local/vpnserver
sudo chmod 600 *
sudo chmod 700 vpnserver vpncmd4. 创建 systemd 服务
创建服务文件并启用服务:
sudo tee /etc/systemd/system/vpnserver.service > /dev/null <<'SERVICE'
[Unit]
Description=SoftEther VPN Server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/vpnserver/vpnserver start
ExecStop=/usr/local/vpnserver/vpnserver stop
Restart=on-abort
[Install]
WantedBy=multi-user.target
SERVICE
sudo systemctl daemon-reload
sudo systemctl enable --now vpnserver
sudo systemctl status vpnserver第二部分 — 使用 vpncmd 进行初始配置
1. 设置服务器管理员密码
进入管理工具:
sudo /usr/local/vpnserver/vpncmd在第一个菜单中,选择该选项 1(VPN服务器或VPN桥接器的管理) 选择以下命令并运行以设置服务器密码:
ServerPasswordSet2. 创建虚拟中心和用户
HubCreate MyHub
Hub MyHub
UserCreate user1 /GROUP:none /REALNAME:"Trader" /NOTE:"VPS for trading"
UserPasswordSet user1按顺序 用户密码集设置用户密码。.
3. 启用安全NAT
Hub MyHub
SecureNatEnableSecureNAT 是创建具有 DHCP 和 NAT 的内部网络的最快方法,无需本地桥接;适用于公共 VPS 和简单用途。.
4. 设置本地桥接
要将集线器连接到物理接口(例如 eth0):
BridgeCreate MyHub /DEVICE:eth0注意:本地桥接需要 root 权限,并且可能无法在某些具有虚拟机管理程序网络设置的虚拟机上运行。.
第三部分——启用协议:OpenVPN、L2TP/IPsec、SSTP
1. OpenVPN(导出 .ovpn 文件)
OpenVpnEnable yes /PORTS:1194 /HUB:MyHub激活后,您可以导出 .ovpn 文件并将其提供给 OpenVPN 客户端。.
2. L2TP/IPsec
IPsecEnable /L2TP:yes /L2TPRAW:yes /ETHERIP:yes /PSK:YourSharedSecret /DEFAULTHUB:MyHub选择强预共享密钥 (PSK)。L2TP 适用于移动设备和默认操作系统。.
3. SSTP
SstpEnable yes /PORTS:443SSTP 使用 TCP/443 端口,可用于绕过严格的防火墙。.
第四部分——防火墙和NAT(iptables/ufw)
启用IP转发
sudo sysctl -w net.ipv4.ip_forward=1
sudo sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/' /etc/sysctl.confSecureNAT(内部网络 10.10.10.0/24)的 iptables 规则示例
sudo iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -s 10.10.10.0/24 -j ACCEPT
sudo iptables -t mangle -A POSTROUTING -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu使用 ufw 的示例规则
sudo ufw allow 443/tcp
sudo ufw allow 992/tcp
sudo ufw allow 1194/tcp
sudo ufw allow 1701/udp
sudo ufw allow 500/udp
sudo ufw allow 4500/udp如果需要,请移植 5555 仅供内部管理使用 — 建议不要从互联网打开。.
保存 iptables 规则
sudo apt install -y iptables-persistent
sudo netfilter-persistent save第五部分——安全和最佳实践
- 强密码 对于服务器、中心和用户,请选择;使用长而复杂的密码短语。.
- 请勿将管理端口(5555)暴露于互联网。请使用内部 VPN 或 SSH 隧道进行管理。.
- 从 失败2禁止 用于抵御暴力攻击。.
- 使用有效的证书(例如 Let's Encrypt)进行 TLS 加密;文件
fullchain.pem和私钥.pem输入或使用 stunnel/HAProxy 进行 TLS 终止。. - 对敏感用户使用密钥/证书认证,必要时连接到 RADIUS/LDAP。.
- 定期备份配置文件并将其存储在安全位置(S3/云端)。.
- 将日志发送至中央系统(ELK/Graylog)并进行审查,以便更快地识别异常行为。.
第六部分——性能优化(适用于交易/游戏/人工智能)
降低网络延迟、提高稳定性的关键技巧:
- 选择地点: 将 VPN 服务器放置在距离目标服务最近的位置。例如,对于交易,应将服务器放置在靠近交易所的位置;对于游戏,应将服务器放置在靠近游戏数据中心的位置。.
- 硬件: 对于高额加密负载,请使用支持此功能的服务器。 AES-NI 使用。.
- 网络: 高带宽方案、BGP 和 CDN 的使用可以降低延迟。必要时可使用 DDoS 防护服务器。.
- 设置 MTU 和 MSS 对于有长隧道或多座桥梁的路线,防止断裂至关重要。.
- 协议选择: 为了获得最快的速度,请使用 UDP/SSL 端口上的 OpenVPN UDP 或 SoftEther 原生协议;如果您的防火墙限制较多,则 SSTP (TCP/443) 更合适。.
第 7 节 — 应用场景和示例
示例 1 — 用于交易的 VPS
- 地点:靠近经纪商或交易所服务器(例如纽约、伦敦、东京)。.
- 配置:简单安全NAT或本地桥接、QoS和DDoS防护。.
- 建议:缩短 keep-ive 时间,进行 ping 监控,并选择低延迟的 CPU。.
示例 2 — 游戏 VPS
- 位置:靠近游戏服务器或使用多区域服务器。.
- 配置:本地桥接以支持局域网,必要时可减少加密开销。.
- 建议:使用 10Gbps 网络和直连端口,以减少延迟和抖动。.
示例 3 — 远程访问和 DevOps
- 为移动设备启用 OpenVPN 和 L2TP,为开发人员启用密钥管理,并为统一身份验证启用 RADIUS 连接。.
第 8 节 — 监控、备份和维护
日常维护的简要说明:
sudo cp -r /usr/local/vpnserver/ /root/backup/vpnserver-$(date +%F).tar.gzsudo systemctl status vpnserver
sudo journalctl -u vpnserver -fSoftEther 日志正在发送中 /usr/local/vpnserver/ 日志位于此处;使用 rsyslog 或 Filebeat 将其发送到中央日志服务器。.
结论
在 Ubuntu 22.04/20.04 上配置 SoftEther 很简单,但需要考虑一些网络和安全方面的因素。通过使用 SecureNAT 或本地桥接,启用 OpenVPN/L2TP/SSTP,并应用防火墙和 NAT 规则,您可以创建一个安全快速的 VPN,用于交易、游戏和远程访问应用。对于高负载的加密应用,请选择支持特定功能的服务器。 AES-NI 合适的地点非常重要。.
相关服务和选项
如果您需要多位置的VPS或云服务器、图形服务器(GPU)、DDoS防护服务器,或者特殊的交易和游戏方案,您可以使用公司的默认选项选择位置并进行配置。技术团队提供SoftEther、本地桥接、防火墙配置和ping优化等服务。.









