在当今高度互联的网络环境中,虚拟私人网络(VPN)已成为企业和个人保障数据传输安全、绕过地理限制和实现远程办公的重要工具,虽然现代操作系统和设备普遍支持一键式VPN连接,但理解并掌握手动配置VPN的过程,对于网络工程师而言不仅是基础技能,更是应对复杂网络环境和定制化需求的关键能力。
本文将详细介绍如何在Linux系统中手动配置OpenVPN,这是一款开源、灵活且广泛使用的VPN解决方案,假设你已具备基本的Linux命令行操作能力和网络基础知识,我们将分步骤进行配置。
第一步:安装OpenVPN和Easy-RSA
在Ubuntu或Debian系统上执行以下命令安装所需软件包:
sudo apt update sudo apt install openvpn easy-rsa
Easy-RSA用于生成证书和密钥,是OpenVPN身份验证的核心组件。
第二步:初始化PKI(公钥基础设施)
进入Easy-RSA目录并初始化证书颁发机构(CA):
make-cadir /etc/openvpn/easy-rsa cd /etc/openvpn/easy-rsa ./easyrsa init-pki
然后生成CA证书:
./easyrsa build-ca
你会被提示输入CA的通用名称(Common Name),my-ca”。
第三步:生成服务器和客户端证书
生成服务器证书:
./easyrsa gen-req server nopass ./easyrsa sign-req server server
接着为客户端生成证书(可为多个客户端生成不同证书):
./easyrsa gen-req client1 nopass ./easyrsa sign-req client client1
第四步:生成Diffie-Hellman参数和TLS密钥
这些用于加密通信的密钥交换过程:
./easyrsa gen-dh openvpn --genkey --secret ta.key
第五步:配置服务器端文件
创建 /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
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
第六步:启动服务并配置防火墙
启用OpenVPN服务:
sudo systemctl enable openvpn@server sudo systemctl start openvpn@server
确保防火墙允许UDP 1194端口通行:
sudo ufw allow 1194/udp
第七步:客户端配置
将CA证书、客户端证书、私钥和ta.key文件打包发送给客户端,并创建客户端配置文件(如client.ovpn):
client
dev tun
proto udp
remote your-server-ip 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
tls-auth ta.key 1
cipher AES-256-CBC
auth SHA256
verb 3
客户端只需导入该文件即可连接到服务器。
手动配置VPN虽然步骤繁琐,但能让你完全掌控网络拓扑、安全性与性能调优,对于企业级部署或高安全要求场景,这种可控性尤为重要,掌握此技能,意味着你不仅会用工具,更懂其原理——这才是真正的网络工程师!

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






