Ubuntu系统下配置OpenVPN实现安全远程访问详解

hk258369 2026-02-05 免费VPN 5 0

在当今数字化办公日益普及的背景下,远程访问企业内网资源成为许多网络管理员和开发者的核心需求,Ubuntu作为一款广受欢迎的开源Linux发行版,因其稳定性、安全性与高度可定制性,被广泛应用于服务器和开发环境中,本文将详细介绍如何在Ubuntu系统中部署并配置OpenVPN服务,以实现安全、稳定的远程访问。

我们需要明确OpenVPN的作用:它是一种基于SSL/TLS协议的虚拟私人网络(VPN)解决方案,能够加密客户端与服务器之间的通信,从而保障数据传输的安全性,相比传统IPSec或PPTP方案,OpenVPN具有更好的兼容性和更强的加密能力,是现代Linux环境下的首选工具之一。

第一步:安装OpenVPN及相关依赖
登录到你的Ubuntu服务器(建议使用SSH),执行以下命令更新软件包列表并安装OpenVPN:

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

easy-rsa 是用于生成数字证书和密钥的工具包,是OpenVPN身份认证的关键组件。

第二步:配置PKI(公钥基础设施)
进入EasyRSA目录并初始化证书颁发机构(CA):

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

最后生成Diffie-Hellman参数(提升加密强度):

sudo ./easyrsa gen-dh

第三步:配置OpenVPN服务端
复制生成的证书文件到OpenVPN配置目录,并创建主配置文件 /etc/openvpn/server.conf

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

编辑配置文件:

sudo nano /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
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3

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

echo 'net.ipv4.ip_forward=1' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

配置iptables规则允许UDP 1194端口并通过NAT转发流量:

sudo iptables -A INPUT -p udp --dport 1194 -j ACCEPT
sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
sudo netfilter-persistent save

第五步:启动服务并测试
启动OpenVPN服务:

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

客户端方面,需将上述生成的证书文件(ca.crt、client1.crt、client1.key)打包成.ovpn配置文件,通过OpenVPN客户端连接即可。


通过以上步骤,你可以在Ubuntu服务器上成功搭建一个功能完整的OpenVPN服务,实现跨地域的安全远程访问,该方案适用于小型团队、远程办公、DevOps运维等多种场景,建议定期更新证书、监控日志、设置强密码策略,进一步提升安全性,OpenVPN的强大之处不仅在于其易用性,更在于其灵活的架构设计,值得每一位网络工程师深入掌握与实践。

Ubuntu系统下配置OpenVPN实现安全远程访问详解