在现代网络环境中,尤其是远程办公和跨地域协作日益普及的背景下,通过Linux系统搭建并共享一个安全、稳定的VPN服务,已成为许多企业与个人用户的刚需,本文将详细介绍如何在Linux服务器上配置OpenVPN或WireGuard(当前更推荐后者),实现单机共享VPN连接供多个设备使用,并确保安全性与性能优化。

选择合适的协议至关重要,虽然OpenVPN历史悠久、兼容性强,但WireGuard因其轻量、高性能和更高的安全性正逐渐成为主流,以Ubuntu 22.04为例,我们以WireGuard为例进行说明:

第一步:安装WireGuard

sudo apt update && sudo apt install -y wireguard

第二步:生成密钥对

wg genkey | tee private.key | wg pubkey > public.key

这一步会生成私钥(private.key)和公钥(public.key),用于客户端和服务端的身份验证。

第三步:配置服务器端(/etc/wireguard/wg0.conf)
示例配置如下:

[Interface]
PrivateKey = <你的私钥>
Address = 10.0.0.1/24
ListenPort = 51820
SaveConfig = true
[Peer]
PublicKey = <客户端A的公钥>
AllowedIPs = 10.0.0.2/32
[Peer]
PublicKey = <客户端B的公钥>
AllowedIPs = 10.0.0.3/32

第四步:启用IP转发和NAT规则
为了让局域网内的其他设备也能通过该VPN访问外网,需要开启Linux的IP转发功能:

echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf
sysctl -p

然后添加iptables规则:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i wg0 -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -o wg0 -m state --state RELATED,ESTABLISHED -j ACCEPT

第五步:启动服务并测试

wg-quick up wg0
systemctl enable wg-quick@wg0

你可以在局域网中为每个设备配置WireGuard客户端,设置其IP地址(如10.0.0.2)、服务器公网IP及端口(如51820),即可通过该共享VPN访问互联网资源,且所有流量经过加密隧道传输。

额外建议:

  • 使用Cloudflare Tunnel或DDNS服务动态绑定公网IP,避免IP变更导致连接中断;
  • 启用fail2ban防止暴力破解;
  • 定期轮换密钥以提升安全性;
  • 若需更多用户接入,可使用管理工具如wg-easy简化配置流程。

Linux下的VPN共享不仅成本低、灵活性高,还能满足中小团队甚至家庭网络的需求,掌握这一技能,意味着你拥有了构建私有网络基础设施的核心能力,是每位网络工程师值得深入学习的方向。

Linux下实现VPN共享,从基础配置到多用户访问的完整指南  第1张

VPN加速器|半仙VPN加速器-免费VPN梯子首选半仙VPN