在当今高度互联的网络环境中,虚拟私人网络(VPN)已成为保障数据安全、提升网络隐私和访问受限资源的重要工具,对于使用Ubuntu操作系统的用户来说,搭建一个稳定可靠的本地或远程VPN服务不仅能够实现安全通信,还能为家庭办公、远程服务器管理等场景提供便利,本文将详细介绍如何在Ubuntu系统中部署并配置OpenVPN服务,帮助用户快速掌握从安装到测试的全过程。

确保你已经拥有一个运行Ubuntu 20.04或更高版本的服务器或桌面环境,建议使用最小化安装以减少潜在漏洞,打开终端,通过以下命令更新系统软件包列表:

sudo apt update

安装OpenVPN及相关工具,包括easy-rsa(用于生成证书和密钥):

sudo apt install openvpn easy-rsa -y

安装完成后,需要创建PKI(公钥基础设施)环境,执行以下步骤:

  1. 复制EasyRSA模板文件到指定目录:

    make-cadir /etc/openvpn/easy-rsa
    cd /etc/openvpn/easy-rsa
  2. 编辑vars文件,设置国家、省份、组织等信息,

    export KEY_COUNTRY="CN"
    export KEY_PROVINCE="Beijing"
    export KEY_CITY="Beijing"
    export KEY_ORG="MyCompany"
    export KEY_EMAIL="admin@example.com"
    export KEY_OU="IT Department"
  3. 初始化PKI并生成CA证书:

    ./easyrsa init-pki
    ./easyrsa build-ca
  4. 生成服务器证书和密钥:

    ./easyrsa gen-req server nopass
    ./easyrsa sign-req server server
  5. 生成客户端证书(可重复此步骤为多个客户端生成):

    ./easyrsa gen-req client1 nopass
    ./easyrsa sign-req client client1
  6. 生成Diffie-Hellman参数和TLS密钥:

    ./easyrsa gen-dh
    openvpn --genkey --secret ta.key

配置OpenVPN服务,复制示例配置文件并编辑:

cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf /etc/openvpn/
sudo nano /etc/openvpn/server.conf

在配置文件中,关键修改项包括:

  • port 1194(端口可根据需求调整)
  • proto udp(推荐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(分配给客户端的IP段)
  • 启用IP转发:添加 push "redirect-gateway def1 bypass-dhcp" 实现客户端流量全部走VPN隧道。

保存配置后,启用IP转发功能:

echo 'net.ipv4.ip_forward=1' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

启动OpenVPN服务并设置开机自启:

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

你可以将生成的证书(client1.crt)、私钥(client1.key)和ta.key打包成.ovpn文件,分发给客户端设备,在Windows、macOS或移动设备上导入该配置即可连接到你的Ubuntu VPN服务器。

整个过程虽然涉及多个步骤,但逻辑清晰、文档完善,只要按照上述流程操作,即使是初学者也能成功部署一个安全、稳定的个人或小型团队级OpenVPN服务,记住定期备份证书、更新密钥,并结合防火墙策略(如ufw)加强安全性,才能真正发挥VPN的价值。

Ubuntu系统下搭建与配置VPN服务的完整指南  第1张

半仙VPN加速器