在当今远程办公和分布式团队日益普及的背景下,如何为员工或家庭用户提供安全、稳定的远程访问成为网络管理员的重要任务,Linux因其开源、稳定、灵活和安全性高的特性,成为构建虚拟私人网络(VPN)服务器的理想平台,本文将详细介绍如何在Linux系统上搭建一个基于OpenVPN的VPN服务器,帮助用户实现加密、私密且可扩展的远程接入方案。

准备工作必不可少,你需要一台运行Linux的服务器(如Ubuntu 22.04或CentOS Stream 9),具备公网IP地址(或通过DDNS服务绑定动态IP),并确保防火墙允许UDP端口1194(OpenVPN默认端口),建议使用root权限或sudo权限执行后续操作。

第一步是安装OpenVPN及相关工具,以Ubuntu为例,使用以下命令更新系统并安装OpenVPN:

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

配置证书颁发机构(CA),OpenVPN依赖PKI(公钥基础设施)进行身份认证,因此需生成根证书和私钥,执行以下命令初始化证书目录:

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

编辑vars文件,设置国家、组织等信息,然后执行:

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

这将生成根CA证书(ca.crt)和私钥(ca.key),是所有客户端和服务器信任的基础。

第二步是生成服务器证书和密钥,继续执行:

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

之后,生成Diffie-Hellman参数和TLS密钥(用于增强加密强度):

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

这些步骤完成后,你将获得完整的服务器证书链(server.crt、server.key)、CA证书(ca.crt)、DH参数(dh.pem)和TLS密钥(ta.key)。

第三步,创建OpenVPN服务器配置文件,在/etc/openvpn/server/目录下新建server.conf如下:

port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
tls-auth ta.key 0
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

此配置启用TUN模式、UDP协议、自动分配IP段(10.8.0.0/24),并推送DNS和路由规则,确保客户端流量通过VPN隧道传输。

启动OpenVPN服务并设置开机自启:

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

为了确保安全性,还需配置防火墙(如UFW)开放UDP 1194端口,并开启IP转发功能(net.ipv4.ip_forward=1)。

至此,你的Linux OpenVPN服务器已成功部署!客户端只需导入CA证书、服务器证书和密钥,即可连接,这种方式不仅适用于企业远程办公,还可用于家庭NAS、云服务器的安全访问,真正实现“无论你在哪,都能安全连入内网”。

搭建Linux VPN服务器,实现安全远程访问的完整指南  第1张

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