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

dfbn6 2026-04-08 半仙VPN 21 0

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

准备工作必不可少,你需要一台运行Linux系统的服务器(推荐Ubuntu 20.04 LTS或CentOS 7+),并确保其拥有公网IP地址和必要的端口开放权限(默认UDP 1194端口),建议使用SSH密钥登录方式增强服务器安全性,避免密码暴力破解。

第一步:安装OpenVPN及相关组件
以Ubuntu为例,执行以下命令安装OpenVPN和Easy-RSA(用于证书管理):

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

第二步:配置证书颁发机构(CA)
进入Easy-RSA目录并初始化PKI环境:

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

编辑vars文件,设置国家、省份、组织等信息(如CN=YourCompany, O=MyOrg),然后执行:

./easyrsa init-pki
./easyrsa build-ca nopass  # 创建根证书,无需密码

第三步:生成服务器证书和密钥

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

完成后,将生成的server.crt、server.key复制到OpenVPN配置目录(/etc/openvpn/server/)。

第四步:配置OpenVPN服务器主文件
创建 /etc/openvpn/server/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
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/pki/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

第五步:启用IP转发与防火墙规则
编辑 /etc/sysctl.conf,取消注释 net.ipv4.ip_forward=1 并执行 sysctl -p 生效。
配置iptables允许流量转发:

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

第六步:启动服务并测试客户端连接

systemctl enable openvpn@server
systemctl start openvpn@server

为客户端生成证书和配置文件,即可在Windows、macOS、Android或iOS上使用OpenVPN客户端连接服务器,实现安全远程访问。

通过以上步骤,你已成功搭建了一个功能完整、安全性高的OpenVPN服务器,它不仅能保护数据传输不被窃听,还能让远程用户无缝接入内网资源,掌握这一技能,是每一位网络工程师必备的核心能力之一。

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

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