自己搭建VPN,从入门到实战的完整指南

hh785003 2026-01-19 半仙加速器 2 0

在当今数字化时代,网络安全与隐私保护已成为每个互联网用户不可忽视的问题,无论是远程办公、访问被限制的内容,还是防止公共Wi-Fi下的数据泄露,虚拟私人网络(VPN)都扮演着至关重要的角色,许多人选择使用商业VPN服务,但如果你希望拥有更高的控制权、更透明的隐私政策以及更低的成本,自己动手搭建一个私有VPN无疑是最佳选择之一。

本文将带你一步步了解如何在Linux服务器上搭建一个基于OpenVPN的自建VPN,适合有一定Linux基础的网络爱好者或中小型企业IT管理员。

第一步:准备环境
你需要一台可访问公网的服务器(如阿里云、腾讯云或DigitalOcean等),推荐使用Ubuntu 20.04或更高版本,确保服务器已安装最新系统更新,并配置好SSH登录权限,建议使用密钥认证而非密码登录,提高安全性。

第二步:安装OpenVPN及相关工具
通过终端执行以下命令:

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

Easy-RSA用于生成证书和密钥,是OpenVPN身份验证的核心组件。

第三步:生成证书和密钥
运行以下命令初始化PKI(公钥基础设施):

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

为客户端生成证书(每台设备都需要独立证书):

sudo ./easyrsa gen-req client1 nopass
sudo ./easyrsa sign-req client client1

第四步:配置OpenVPN服务
复制示例配置文件并修改:

sudo 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(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(需先生成:sudo ./easyrsa gen-dh

第五步:启用IP转发和防火墙规则
编辑 /etc/sysctl.conf,取消注释 net.ipv4.ip_forward=1,然后执行:

sudo sysctl -p

配置iptables规则以允许流量转发:

sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -m state --state RELATED,ESTABLISHED -i eth0 -o tun0 -j ACCEPT
sudo iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT

建议将规则保存到文件,实现开机自动加载。

第六步:启动服务并测试连接

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

客户端配置:将生成的client1证书、CA证书、密钥和server.conf中的ip地址打包成.ovpn文件,导入到手机或电脑的OpenVPN客户端即可连接。

通过以上步骤,你就可以拥有一个完全私有的、可定制的VPN服务,相比商业方案,它不仅更安全,还能根据需求灵活扩展,比如添加双因素认证、日志审计或负载均衡功能,对于追求技术自主权和数据主权的用户来说,这是一次值得投入的学习实践。

自己搭建VPN,从入门到实战的完整指南

半仙加速器app