作为一名网络工程师,我经常需要为公司或客户搭建安全、稳定的远程访问解决方案,OpenVPN 是一个开源且功能强大的虚拟私人网络(VPN)工具,广泛应用于企业级环境和个人用户场景,本文将详细介绍如何在Linux系统(以Ubuntu 20.04为例)上部署和配置OpenVPN,实现加密的远程访问通道。

确保你有一台运行Linux的服务器,并具备root权限或sudo权限,你需要一台公网IP地址的服务器(云主机如阿里云、腾讯云、AWS均可),以及一个域名(可选,但推荐用于证书管理),我们使用EasyRSA来生成SSL/TLS证书,这是OpenVPN的核心认证机制。

第一步:安装OpenVPN和EasyRSA
更新系统包列表:

sudo apt update

安装OpenVPN和EasyRSA:

sudo apt install openvpn easy-rsa -y

第二步:初始化PKI(公钥基础设施)
复制EasyRSA模板到指定目录:

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

编辑vars文件(nano vars),设置国家、组织等信息,

set_var EASYRSA_COUNTRY "CN"
set_var EASYRSA_PROVINCE "Beijing"
set_var EASYRSA_CITY "Beijing"
set_var EASYRSA_ORG "MyCompany"
set_var EASYRSA_EMAIL "admin@example.com"
set_var EASYRSA_CN "MyCA"

执行初始化并生成CA证书:

./easyrsa init-pki
./easyrsa build-ca

第三步:生成服务器证书和密钥
生成服务器证书(默认名称为server.crt):

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

第四步:生成Diffie-Hellman参数和TLS密钥

./easyrsa gen-dh
openvpn --genkey --secret ta.key

第五步:配置OpenVPN服务端
创建配置文件 /etc/openvpn/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
tls-auth /etc/openvpn/ta.key 0
topology subnet
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
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(假设使用ufw):

sudo ufw allow 1194/udp
sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

第七步:启动OpenVPN服务

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

为客户端生成证书和配置文件(使用easyrsa gen-req client1 nopasssign-req client client1),然后打包证书、密钥和配置文件分发给用户,客户端只需安装OpenVPN客户端软件,导入配置即可连接。

通过以上步骤,你就可以在Linux环境中成功部署OpenVPN,实现安全、加密的远程访问,这不仅适用于远程办公,也适合多分支机构互联,是现代网络架构中不可或缺的一环,作为网络工程师,掌握这类技术能极大提升网络安全性与灵活性。

如何在Linux系统中配置OpenVPN实现安全远程访问  第1张

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