在当今高度互联的世界中,隐私保护和网络安全变得愈发重要,无论是远程办公、访问内网资源,还是绕过地理限制获取信息,虚拟私人网络(VPN)都已成为不可或缺的工具,如果你希望摆脱对第三方商业VPN服务的依赖,拥有完全掌控权与更高安全性的解决方案,那么搭建一个属于自己的私有VPN服务器就是最佳选择,本文将详细介绍如何基于OpenVPN协议,在Linux系统(以Ubuntu为例)上搭建一个稳定、安全的个人或企业级VPN服务器,并指导你如何在不同设备上进行安全连接。

第一步:准备环境
你需要一台具备公网IP的服务器,可以是云服务商提供的VPS(如阿里云、腾讯云、AWS等),也可以是家里的老旧电脑配置成NAS服务器,确保服务器操作系统为Ubuntu 20.04 LTS或更高版本,并已安装SSH访问权限。

第二步:安装OpenVPN及相关工具
通过SSH登录服务器后,运行以下命令更新系统并安装OpenVPN:

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

Easy-RSA用于生成SSL证书和密钥,这是OpenVPN身份认证的核心。

第三步:配置证书颁发机构(CA)
进入Easy-RSA目录并初始化PKI:

make-cadir /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa
sudo cp vars.example vars

编辑vars文件,根据需要修改国家、组织名称等字段,然后执行:

./easyrsa init-pki
./easyrsa build-ca nopass

这会创建一个根证书颁发机构(CA),后续所有客户端和服务端证书都将由它签名。

第四步:生成服务器证书和密钥

./easyrsa gen-req server nopass
./easyrsa sign-req server server

第五步:生成Diffie-Hellman密钥交换参数(提升安全性)

./easyrsa gen-dh

第六步:配置OpenVPN服务器
复制生成的证书和密钥到OpenVPN配置目录,并创建主配置文件:

sudo cp pki/ca.crt pki/issued/server.crt pki/private/server.key pki/dh.pem /etc/openvpn/
sudo nano /etc/openvpn/server.conf

在配置文件中设置如下关键参数:

  • port 1194(默认UDP端口)
  • proto udp
  • dev tun
  • ca ca.crt
  • cert server.crt
  • key server.key
  • dh dh.pem
  • server 10.8.0.0 255.255.255.0(分配给客户端的IP段)
  • push "redirect-gateway def1 bypass-dhcp"
  • push "dhcp-option DNS 8.8.8.8"

第七步:启用IP转发并配置防火墙

echo 'net.ipv4.ip_forward=1' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
sudo ufw allow 1194/udp
sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

第八步:启动服务并开机自启

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

第九步:客户端连接
在Windows、macOS或移动设备上,下载OpenVPN客户端软件,导入服务器证书(ca.crt)、客户端证书(需用easyrsa gen-req client1 nopasssign-req client client1生成),并创建.ovpn配置文件,内容包括服务器地址、端口、协议和证书路径。

完成以上步骤后,你就可以使用自己的私有VPN服务器安全地访问互联网或内网资源了,相比商业服务,自建服务器不仅成本低、控制力强,还能避免数据被第三方记录的风险,务必定期更新证书、打补丁,并考虑使用Fail2Ban等工具防止暴力破解攻击。

网络自由,从掌握自己的连接开始!

手把手教你搭建专属VPN服务器并安全连接—从零开始的网络自由之旅  第1张

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