在当今数字化办公日益普及的背景下,企业或个人用户对远程访问内网资源的需求持续增长,OpenVPN作为一款开源、跨平台且高度可定制的虚拟私人网络(VPN)解决方案,因其安全性高、配置灵活、社区支持强大,成为许多网络工程师首选的VPN工具,本文将详细介绍如何从零开始搭建一个稳定、安全的OpenVPN服务器,帮助你实现远程安全接入本地网络。

准备工作
你需要一台运行Linux系统的服务器(推荐Ubuntu 20.04/22.04或CentOS Stream 9),确保该服务器具备公网IP地址,并能通过防火墙访问端口1194(OpenVPN默认端口),建议使用SSH密钥登录以增强安全性。

安装OpenVPN及相关工具
我们以Ubuntu系统为例进行演示:

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

easy-rsa是用于生成SSL/TLS证书和密钥的工具包,是OpenVPN身份认证的核心组件。

配置证书颁发机构(CA)
进入Easy-RSA目录并初始化PKI(公钥基础设施):

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

编辑 vars 文件,根据你的需求设置国家、组织等信息(如CN=YourCompany, O=IT Dept等),然后执行:

sudo ./clean-all
sudo ./build-ca

这一步会生成CA根证书(ca.crt),后续所有客户端和服务端证书都将由它签名。

生成服务器证书与密钥
继续执行:

sudo ./build-key-server server

此命令会生成服务器证书(server.crt)、私钥(server.key)以及Diffie-Hellman参数(dh.pem),注意,build-key-server会提示是否信任该证书,输入“yes”即可。

生成客户端证书
为每个需要连接的设备生成唯一证书,

sudo ./build-key client1

这样就生成了client1的证书(client1.crt)、私钥(client1.key)和加密密钥文件(client1.ovpn)。

配置OpenVPN服务端
创建主配置文件 /etc/openvpn/server.conf如下(可根据实际网络调整):

port 1194
proto udp
dev tun
ca /etc/openvpn/easy-rsa/ca.crt
cert /etc/openvpn/easy-rsa/server.crt
key /etc/openvpn/easy-rsa/server.key
dh /etc/openvpn/easy-rsa/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"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
tls-auth /etc/openvpn/easy-rsa/ta.key 0
cipher AES-256-CBC
auth SHA256
user nobody
group nogroup
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 3

注意:tls-auth 是防止DoS攻击的重要安全机制,需先生成:

sudo openvpn --genkey --secret /etc/openvpn/easy-rsa/ta.key

启用IP转发与防火墙规则
确保服务器能转发流量:

echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf
sysctl -p

配置iptables规则(以Ubuntu为例):

sudo iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT
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

将客户端证书(client1.crt、client1.key、ca.crt、ta.key)打包成 .ovpn 配置文件,并用OpenVPN客户端导入使用。

总结
至此,一个基于OpenVPN的L2TP/IPSec兼容的加密隧道已成功搭建,该方案支持多用户、强认证、可扩展性强,适合中小企业或家庭用户部署,务必定期更新证书、监控日志、配置访问控制列表(ACL)以提升整体安全性。

通过以上步骤,你不仅能掌握OpenVPN的完整搭建流程,还能深入理解SSL/TLS加密机制在网络通信中的核心作用——这是成为一名专业网络工程师不可或缺的实践技能。

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

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