Linux系统下搭建与配置VPN的完整指南,从基础到实战

在当今远程办公和分布式团队日益普及的背景下,虚拟私人网络(VPN)已成为保障数据安全与访问内网资源的重要工具,对于熟悉Linux系统的网络工程师而言,掌握如何在Linux环境中搭建和管理VPN服务不仅提升了技术能力,还为构建安全、灵活的网络架构打下了坚实基础,本文将详细介绍在主流Linux发行版(如Ubuntu、CentOS等)中部署OpenVPN和WireGuard两种常用VPN方案的步骤,帮助你快速上手。

我们需要明确目标:实现客户端通过加密隧道访问服务器所在局域网资源,同时确保通信过程的安全性与稳定性,以下是分步操作流程:

第一步:环境准备
确保你的Linux服务器具备公网IP地址,并开放所需端口(OpenVPN默认UDP 1194,WireGuard默认UDP 51820),使用ufwfirewalld配置防火墙规则,

sudo ufw allow 1194/udp

若使用云服务商(如AWS、阿里云),还需在安全组中放行对应端口。

第二步:安装OpenVPN(传统方案)
以Ubuntu为例,执行以下命令安装OpenVPN及相关工具:

sudo apt update && sudo apt install openvpn easy-rsa -y

接着生成证书和密钥,这是OpenVPN身份认证的核心:

make-cadir /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa
sudo ./easyrsa init-pki
sudo ./easyrsa build-ca nopass
sudo ./easyrsa gen-req server nopass
sudo ./easyrsa sign-req server server

生成客户端证书后,将服务器配置文件(server.conf)放置于/etc/openvpn/目录下,启用IP转发并配置NAT:

echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf
sysctl -p
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

第三步:部署WireGuard(现代轻量方案)
WireGuard是近年来备受推崇的高性能VPN协议,配置简洁且性能优越,安装方式如下:

sudo apt install wireguard resolvconf -y

生成私钥和公钥:

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

创建配置文件(如/etc/wireguard/wg0.conf),定义接口、监听地址及允许的客户端:

[Interface]
PrivateKey = <your_private_key>
Address = 10.0.0.1/24
ListenPort = 51820
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

启用并启动服务:

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

第四步:客户端连接
无论是OpenVPN还是WireGuard,客户端都需要导入证书或密钥文件,OpenVPN可通过图形界面(如NetworkManager)或命令行连接;WireGuard则需在客户端设备上配置.conf文件,运行wg-quick up client.conf即可建立隧道。

Linux下的VPN部署既可满足企业级需求,也适合个人用户,选择OpenVPN(成熟稳定)或WireGuard(高效低延迟),关键在于业务场景与运维复杂度的权衡,熟练掌握这些技能,不仅能提升网络安全防护能力,也为未来深入学习SD-WAN、零信任架构等高级主题奠定基础。

Linux系统下搭建与配置VPN的完整指南,从基础到实战

半仙加速器-海外加速器 | VPN加速器 | VPN翻墙加速器 | VPN梯子 | VPN外网加速