Linux 系统下搭建安全高效的 VPN 服务,从零开始的完整指南

dfbn6 2026-04-06 半仙VPN 22 0

在当今远程办公和跨地域协作日益普及的背景下,虚拟私人网络(VPN)已成为企业与个人用户保障网络安全的重要工具,Linux 作为服务器端最稳定、灵活且开源的操作系统之一,非常适合用于架设高性能的自建 VPN 服务,本文将详细介绍如何在 Linux 系统上使用 OpenVPN 和 WireGuard 两种主流协议,搭建一个安全、可扩展的本地或云端 VPN 服务,适用于家庭、小型企业甚至中大型组织。

第一步:准备工作
确保你有一台运行 Linux 的服务器(如 Ubuntu 20.04/22.04 或 CentOS Stream),并具备公网 IP 地址(若为云服务器需配置安全组放行对应端口),建议使用 root 用户或具有 sudo 权限的普通用户进行操作,首先更新系统软件包:

sudo apt update && sudo apt upgrade -y

第二步:安装 OpenVPN(传统但成熟可靠)
OpenVPN 是广泛使用的开源解决方案,支持多种加密方式(如 AES-256),适合对兼容性有要求的场景,安装步骤如下:

  1. 安装 OpenVPN 和 easy-rsa(用于证书管理):

    sudo apt install openvpn easy-rsa -y
  2. 初始化 PKI(公钥基础设施):

    make-cadir /etc/openvpn/easy-rsa
    cd /etc/openvpn/easy-rsa
    nano vars  # 修改默认配置,如国家、组织名称等
    ./build-ca    # 创建根证书颁发机构(CA)
    ./build-key-server server    # 创建服务器证书
    ./build-key client1    # 为客户端创建证书(可多生成)
    ./build-dh    # 生成 Diffie-Hellman 参数
  3. 配置服务器主文件 /etc/openvpn/server.conf,关键参数包括:

    port 1194
    proto udp
    dev tun
    ca /etc/openvpn/easy-rsa/pki/ca.crt
    cert /etc/openvpn/easy-rsa/pki/issued/server.crt
    key /etc/openvpn/easy-rsa/pki/private/server.key
    dh /etc/openvpn/easy-rsa/pki/dh.pem
    server 10.8.0.0 255.255.255.0
    push "redirect-gateway def1 bypass-dhcp"
    push "dhcp-option DNS 8.8.8.8"
    keepalive 10 120
    cipher AES-256-CBC
    auth SHA256
    user nobody
    group nogroup
    persist-key
    persist-tun
    status openvpn-status.log
    verb 3
  4. 启动服务并设置开机自启:

    sudo systemctl enable openvpn@server
    sudo systemctl start openvpn@server

第三步:使用 WireGuard(现代轻量级方案)
WireGuard 是近年来迅速崛起的下一代 VPN 协议,性能优异、代码简洁,适合高并发环境,安装步骤更简单:

  1. 安装 WireGuard:

    sudo apt install wireguard -y
  2. 生成密钥对:

    wg genkey | tee privatekey | wg pubkey > publickey
  3. 创建配置文件 /etc/wireguard/wg0.conf

    [Interface]
    Address = 10.0.0.1/24
    SaveConfig = true
    ListenPort = 51820
    PrivateKey = <你的私钥>
    [Peer]
    PublicKey = <客户端公钥>
    AllowedIPs = 10.0.0.2/32
  4. 启用 IP 转发并启动服务:

    echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf
    sysctl -p
    wg-quick up wg0
    systemctl enable wg-quick@wg0

第四步:客户端连接与测试
无论是 OpenVPN 还是 WireGuard,都需要将客户端配置文件分发给用户,OpenVPN 使用 .ovpn 文件,WireGuard 使用 .conf 文件,连接后可通过访问 https://ifconfig.me 测试公网 IP 是否已变更,确保流量已加密转发。


Linux 架设 VPN 不仅成本低廉,而且安全性可控,OpenVPN 更适合传统场景,而 WireGuard 在速度与稳定性上更具优势,根据实际需求选择合适的协议,结合防火墙规则(如 iptables 或 ufw)进一步加固,即可构建一套高效可靠的私有网络通道,满足远程办公、数据传输加密等多种场景需求。

Linux 系统下搭建安全高效的 VPN 服务,从零开始的完整指南

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