如何在Linux服务器上配置OpenVPN实现安全远程访问

hyde1011 11 2026-03-21 19:37:06

作为一名网络工程师,我经常需要为客户或企业搭建安全、稳定的远程访问通道,OpenVPN 是一个开源、跨平台的虚拟私人网络(VPN)解决方案,被广泛用于企业内网接入、远程办公和数据加密传输等场景,本文将详细介绍如何在一台运行 Ubuntu 20.04 的 Linux 服务器上配置 OpenVPN,从而实现安全可靠的远程访问。

确保你已准备好以下条件:

  • 一台公网 IP 的 Linux 服务器(如阿里云、腾讯云或本地部署)
  • 管理权限(root 或 sudo 权限)
  • 安装了 OpenVPN 和 Easy-RSA 工具包(用于证书管理)

安装 OpenVPN 和 Easy-RSA
使用以下命令更新系统并安装所需软件包:

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

初始化证书颁发机构(CA)
OpenVPN 使用 TLS/SSL 加密通信,因此需要创建 CA 证书和私钥,执行以下命令初始化 PKI(公钥基础设施):

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

编辑 vars 文件(如 nano vars),根据需求修改默认值,例如国家、组织名等,然后生成 CA 证书:

./clean-all
./build-ca

按提示输入 CA 名称(如 "MyCompany-CA")后确认。

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

./build-key-server server

同样按提示操作,确认是否签名该证书,接着生成 Diffie-Hellman 参数(用于密钥交换):

./build-dh

配置 OpenVPN 服务端
复制生成的证书和密钥到 OpenVPN 配置目录,并创建主配置文件:

sudo cp /etc/openvpn/easy-rsa/keys/{ca.crt,server.crt,server.key,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"
push "dhcp-option DNS 8.8.4.4"
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

注意:若未生成 ta.key,可用以下命令创建:

openvpn --genkey --secret ta.key

启用 IP 转发与防火墙规则
编辑 /etc/sysctl.conf,取消注释:

net.ipv4.ip_forward=1

然后应用配置:

sysctl -p

设置 iptables 规则以允许流量转发:

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

启动服务并测试连接
启用 OpenVPN 服务:

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

为客户端生成证书(可使用 ./build-key client1),并将 ca.crtclient1.crtclient1.keyta.key 一起打包成 .ovpn 文件,导入到 OpenVPN 客户端(Windows、macOS、Android、iOS 均支持)即可连接。

通过以上步骤,你就可以成功搭建一个基于 OpenVPN 的安全远程访问通道,这不仅提升了数据传输的安全性,也为企业员工提供了灵活的工作方式,建议定期更新证书、监控日志,并结合 Fail2ban 等工具增强安全性。

如何在Linux服务器上配置OpenVPN实现安全远程访问

上一篇:构建安全防线,企业级安全中心与VPN的协同防护策略解析
下一篇:轻松掌握,如何正确连接VPN以保障网络安全与隐私
相关文章
返回顶部小火箭