如何在VPS上配置VPN服务,从基础搭建到安全优化全攻略

作为一名网络工程师,我经常被问到:“怎样在自己的VPS(虚拟专用服务器)上搭建一个安全、稳定的VPN服务?”尤其是在远程办公、跨境访问或保护隐私需求日益增长的今天,自建VPN不仅成本低,还能完全掌控数据流向,本文将手把手教你如何在Linux VPS(如Ubuntu 20.04/22.04)上部署OpenVPN或WireGuard两种主流协议,并提供实用的安全优化建议。

第一步:准备环境
确保你已拥有一台VPS(推荐使用DigitalOcean、Linode或阿里云等服务商),并登录到服务器,建议使用SSH密钥认证而非密码登录,提升安全性,执行以下命令更新系统:

sudo apt update && sudo apt upgrade -y

第二步:安装OpenVPN(传统方案)
OpenVPN是成熟稳定的选择,适合大多数用户,安装步骤如下:

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

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

    make-cadir /etc/openvpn/easy-rsa
    cd /etc/openvpn/easy-rsa
    sudo cp vars.example vars
  3. 编辑vars文件,设置国家、组织名等信息(可按需修改)。

  4. 执行签名操作生成CA证书和服务器证书:

    sudo ./easyrsa init-pki
    sudo ./easyrsa build-ca nopass
    sudo ./easyrsa gen-req server nopass
    sudo ./easyrsa sign-req server server
  5. 生成Diffie-Hellman参数和TLS密钥:

    sudo ./easyrsa gen-dh
    sudo openvpn --genkey --secret ta.key
  6. 复制证书到OpenVPN配置目录:

    sudo cp pki/ca.crt pki/private/server.key pki/dh.pem ta.key /etc/openvpn/
  7. 创建服务器配置文件 /etc/openvpn/server.conf参考官方模板并添加以下关键项:

    port 1194
    proto udp
    dev tun
    ca ca.crt
    cert server.crt
    key server.key
    dh dh.pem
    tls-auth ta.key 0
    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
  8. 启动服务并开机自启:

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

第三步:配置客户端
生成客户端证书后,将证书、密钥和配置文件打包发送给客户端设备(Windows/macOS/Linux均可使用OpenVPN GUI),客户端配置中只需指定服务器IP、端口和证书路径即可连接。

第四步:替代方案——WireGuard(现代高效选择)
如果你追求更高性能和更简洁配置,推荐使用WireGuard,它基于UDP协议,延迟更低,配置更简单:

  1. 安装:

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

    wg genkey | tee privatekey | wg pubkey > publickey
  3. 配置服务器 /etc/wireguard/wg0.conf,示例:

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

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

第五步:安全优化

  • 开启防火墙(ufw)仅允许VPN端口(如1194/udp或51820/udp)
  • 使用fail2ban防止暴力破解
  • 定期更新证书(OpenVPN)或轮换密钥(WireGuard)
  • 禁用root直接SSH登录,改用普通用户+sudo权限

通过以上步骤,你就能在VPS上成功部署一个功能完整、安全可靠的VPN服务,无论是个人使用还是小团队协作,这都是值得掌握的技能,配置只是开始,持续维护和监控才是长期稳定的关键!

如何在VPS上配置VPN服务,从基础搭建到安全优化全攻略

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