在当今高度数字化的工作环境中,企业与个人用户越来越依赖远程访问来提升工作效率和灵活性,虚拟服务器(如云主机、VPS)因其成本低、弹性高、部署快等优势,已成为许多组织的首选,远程访问也带来了网络安全风险——数据传输可能被窃听、身份验证可能被伪造、敏感资源可能被非法访问,为解决这些问题,配置虚拟服务器上的VPN(虚拟私人网络)成为关键一步,本文将详细介绍如何在Linux虚拟服务器上搭建并优化一个安全可靠的OpenVPN服务。
第一步:准备环境
确保你拥有一个运行Linux(推荐Ubuntu或CentOS)的虚拟服务器,并通过SSH登录,建议使用root权限或具有sudo权限的账户进行操作,首先更新系统软件包:
sudo apt update && sudo apt upgrade -y # Ubuntu/Debian
或
sudo yum update -y # CentOS/RHEL
第二步:安装OpenVPN与Easy-RSA
OpenVPN是开源且广泛使用的VPN协议,支持TLS加密和灵活的身份验证机制,安装OpenVPN及用于证书管理的Easy-RSA工具:
sudo apt install openvpn easy-rsa -y
第三步:生成证书与密钥
Easy-RSA帮助我们创建PKI(公钥基础设施),包括CA根证书、服务器证书和客户端证书,初始化证书颁发机构(CA):
make-cadir /etc/openvpn/easy-rsa cd /etc/openvpn/easy-rsa
编辑vars文件,填写国家、组织等信息,然后执行以下命令生成CA证书、服务器证书和Diffie-Hellman参数:
./easyrsa init-pki ./easyrsa build-ca nopass ./easyrsa gen-req server nopass ./easyrsa sign-req server server ./easyrsa gen-dh
第四步:配置OpenVPN服务器
复制模板配置文件到/etc/openvpn目录:
cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf /etc/openvpn/
编辑/etc/openvpn/server.conf,修改以下关键参数:
port 1194:指定端口(可改为其他端口避免扫描)proto udp:使用UDP协议提高性能dev tun:创建TUN设备用于点对点隧道ca /etc/openvpn/easy-rsa/pki/ca.crtcert /etc/openvpn/easy-rsa/pki/issued/server.crtkey /etc/openvpn/easy-rsa/pki/private/server.keydh /etc/openvpn/easy-rsa/pki/dh.pemserver 10.8.0.0 255.255.255.0:分配给客户端的IP段push "redirect-gateway def1 bypass-dhcp":让客户端流量通过VPN路由push "dhcp-option DNS 8.8.8.8":指定DNS服务器
第五步:启用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 -m state --state RELATED,ESTABLISHED -j ACCEPT sudo iptables -A FORWARD -s 10.8.0.0/24 -d 10.8.0.0/24 -j ACCEPT
保存规则以持久化:
sudo netfilter-persistent save
第六步:启动服务与客户端配置
启动OpenVPN服务:
sudo systemctl enable openvpn@server sudo systemctl start openvpn@server
客户端可通过OpenVPN GUI或命令行连接,需提供客户端证书、密钥及CA证书(由服务器生成后分发)。
你的虚拟服务器已成功配置为安全的VPN网关,支持多用户远程访问内网资源,同时具备抗中间人攻击的能力,此方案适用于中小企业、远程办公、混合云架构等多种场景,是构建零信任网络的第一步。

半仙加速器-海外加速器|VPN加速器|vpn翻墙加速器|VPN梯子|VPN外网加速


