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

dfbn6 2026-04-08 半仙VPN下载 23 0

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

确保你的服务器环境准备就绪,你需要一台运行Linux系统的云服务器或物理机,推荐使用Ubuntu 20.04 LTS或更高版本,安装前请确保已更新系统包列表:

sudo apt update && sudo apt upgrade -y

安装OpenVPN及相关依赖,我们还需要EasyRSA来管理证书和密钥:

sudo apt install openvpn easy-rsa -y

安装完成后,配置EasyRSA,创建证书颁发机构(CA)目录:

make-cadir /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa

编辑vars文件,设置国家、组织等基本信息,

export KEY_COUNTRY="CN"
export KEY_PROVINCE="Beijing"
export KEY_CITY="Beijing"
export KEY_ORG="MyCompany"
export KEY_EMAIL="admin@mycompany.com"
export KEY_OU="IT Department"

然后执行初始化操作并生成CA证书:

./clean-all
./build-ca

接下来生成服务器证书和密钥:

./build-key-server server

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

./build-key client1

生成Diffie-Hellman参数用于密钥交换:

./build-dh

完成证书签发后,复制必要文件到OpenVPN配置目录:

cp ca.crt dh2048.pem server.crt 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 dh2048.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
comp-lzo
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

启用IP转发功能,使客户端能访问内网资源:

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

配置iptables规则允许流量转发(示例):

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 10.8.0.0/24 -d 10.8.0.0/24 -j ACCEPT

至此,OpenVPN服务器已成功搭建!客户端只需导入CA证书、客户端证书和密钥,即可通过OpenVPN客户端连接,整个过程不仅提升了远程访问的安全性,也为团队协作和移动办公提供了可靠保障。

通过以上步骤,你不仅掌握了OpenVPN的核心配置流程,还理解了其背后的网络原理与安全机制,为后续扩展如多用户认证、负载均衡或结合防火墙策略打下坚实基础。

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

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