引言

在当今的网络环境中,数据安全和隐私保护变得尤为重要。OpenVPN 是一种开源的 VPN 解决方案,能够帮助用户在公共网络上建立加密的通信通道,以确保数据的安全性和隐私性。本文将介绍 OpenVPN 的基本概念、安装步骤以及配置方法。


1. OpenVPN 简介

OpenVPN 是一个基于 SSL/TLS 协议的虚拟专用网络(VPN)系统,支持点对点和远程访问模式。它具有以下特点:

  • 安全性:采用 OpenSSL 进行加密,支持多种加密算法。

  • 跨平台:支持 Windows、Linux、macOS 以及移动设备。

  • 灵活性:支持静态密钥、证书验证以及基于用户名和密码的身份验证。

  • 稳定性:能够穿透 NAT 和防火墙,适应各种网络环境。


2. 安装 OpenVPN

2.1 在 Linux 服务器上安装 OpenVPN

以 CentOS Stream 9 为例,安装 OpenVPN 服务器:

sudo dnf install -y epel-release
sudo dnf install -y openvpn easy-rsa

2.2 生成服务器证书和密钥

cd /etc/openvpn/
mkdir easy-rsa && cd easy-rsa
git clone https://github.com/OpenVPN/easy-rsa.git
cd easy-rsa
./easyrsa init-pki
./easyrsa build-ca
./easyrsa gen-req server nopass
./easyrsa sign-req server server
./easyrsa gen-dh
openvpn --genkey --secret ta.key

3. 配置 OpenVPN 服务器

创建 OpenVPN 服务器配置文件 /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 /etc/openvpn/easy-rsa/ta.key 0
server 10.8.0.0 255.255.255.0
keepalive 10 120
cipher AES-256-CBC
auth SHA256
persist-key
persist-tun
status /var/log/openvpn-status.log
log-append /var/log/openvpn.log
verb 3

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

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

4. 配置客户端

在客户端创建 client.ovpn 配置文件:

client
dev tun
proto udp
remote <服务器IP> 1194
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
cipher AES-256-CBC
auth SHA256
verb 3
<ca>
# 这里粘贴 CA 证书内容
</ca>
<cert>
# 这里粘贴客户端证书内容
</cert>
<key>
# 这里粘贴客户端密钥内容
</key>

使用 OpenVPN 客户端导入配置文件并连接 VPN。


5. 测试连接

在客户端运行以下命令查看 VPN 连接状态:

ping 10.8.0.1

如果能成功 ping 通服务器,说明 VPN 连接已建立。


6. 总结

OpenVPN 是一个功能强大且灵活的 VPN 解决方案,适用于企业和个人用户。通过合理配置 OpenVPN,可以确保远程访问的安全性,并有效防止数据泄露。希望本文对你有所帮助,欢迎留言交流!