在当今数字化办公日益普及的背景下,企业或个人用户对远程访问内网资源的需求持续增长,OpenVPN作为一款开源、稳定且功能强大的虚拟私人网络(VPN)解决方案,因其跨平台支持、灵活配置和高安全性,成为众多网络工程师的首选工具,本文将带你一步步完成OpenVPN的搭建过程,无论你是新手还是有一定经验的运维人员,都能从中获得实用指导。

准备环境,建议使用一台运行Linux系统的服务器(如Ubuntu 20.04或CentOS 7),确保该服务器拥有公网IP地址,并开放UDP端口1194(默认端口,也可自定义),登录服务器后,更新系统并安装必要的依赖包:

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

配置证书颁发机构(CA),OpenVPN基于PKI(公钥基础设施)进行身份认证,因此需要生成证书签名请求(CSR)和私钥,进入Easy-RSA目录,初始化PKI环境:

make-cadir /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa
./easyrsa init-pki
./easyrsa build-ca nopass  # 创建CA根证书,不设置密码便于自动化

为服务器生成证书和密钥:

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

再为客户端生成证书(每台客户端需单独生成):

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

生成完成后,复制证书到OpenVPN配置目录:

cp pki/ca.crt pki/issued/server.crt pki/private/server.key /etc/openvpn/

现在配置OpenVPN主服务文件,创建 /etc/openvpn/server.conf 文件,内容如下(可根据实际需求调整):

port 1194
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
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
keepalive 10 120
tls-auth ta.key 0
cipher AES-256-CBC
auth SHA256
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3

注意:你需要用 openvpn --genkey --secret ta.key 生成一个TLS密钥,用于增强安全性。

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

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

配置防火墙(如UFW)允许UDP流量:

sudo ufw allow 1194/udp
sudo ufw reload

客户端方面,下载上述生成的客户端证书、CA证书和TLS密钥,创建.ovpn配置文件,内容包括服务器IP、端口、协议、证书路径等。

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

将此文件导入OpenVPN客户端(Windows/Linux/macOS均支持),即可连接成功。

通过以上步骤,你已成功搭建了一个安全、可靠的OpenVPN服务,它不仅可用于远程办公,还可用于站点间互联、加密传输等场景,记住定期更新证书、监控日志、优化性能,是保障长期稳定运行的关键,OpenVPN虽强大,但配置需谨慎,建议先在测试环境中验证无误后再部署生产环境。

手把手教你搭建OpenVPN服务,从零开始构建安全远程访问通道  第1张

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