手把手教你如何在服务器上创建VPN服务:从零开始搭建安全远程访问通道

作为一位网络工程师,我经常被客户或同事问到:“我们公司员工经常出差,怎么才能安全地访问内网资源?”答案往往是——搭建一个属于自己的虚拟私人网络(VPN),我就以最实用的方式,带你一步步在Linux服务器上部署一个稳定、安全的OpenVPN服务,无论你是初学者还是有一定经验的运维人员,都能轻松上手。

你需要一台公网IP的Linux服务器(推荐CentOS 7/8或Ubuntu 20.04以上版本),确保它能被外部访问,如果你使用的是云服务商(如阿里云、腾讯云、AWS等),记得在安全组中开放UDP端口1194(OpenVPN默认端口)。

第一步:安装OpenVPN和Easy-RSA
登录服务器后,执行以下命令安装所需软件包:

# CentOS/RHEL
sudo yum install epel-release -y
sudo yum install openvpn easy-rsa -y

第二步:配置证书颁发机构(CA)
Easy-RSA用于生成数字证书和密钥,这是建立加密连接的基础,运行以下命令初始化PKI环境:

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

编辑 vars 文件,设置你的组织信息(如国家、省份、公司名等),然后执行:

./clean-all
./build-ca    # 创建根证书
./build-key-server server    # 创建服务器证书
./build-dh    # 生成Diffie-Hellman参数

第三步:配置OpenVPN服务器
复制模板文件并修改配置:

cp /usr/share/doc/openvpn/sample-config-files/server.conf /etc/openvpn/
nano /etc/openvpn/server.conf

关键配置项包括:

  • port 1194:指定端口号
  • proto udp:推荐使用UDP协议提升速度
  • dev tun:创建TUN设备(点对点隧道)
  • ca ca.crtcert server.crtkey server.key:引用刚生成的证书
  • dh dh.pem:引入Diffie-Hellman参数
  • server 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服务器

保存后,启动服务:

systemctl enable openvpn@server
systemctl start openvpn@server

第四步:为客户端生成证书和配置文件
使用Easy-RSA为每个用户生成唯一证书:

./build-key client1

将以下文件打包发送给客户端:

  • ca.crt(根证书)
  • client1.crt(客户端证书)
  • client1.key(客户端私钥)

客户端配置文件(client.ovpn)示例:

client
dev tun
proto udp
remote your-server-ip 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
verb 3

测试连接:在Windows/macOS/Linux上安装OpenVPN客户端,导入配置文件即可接入。

通过以上步骤,你不仅拥有了一个可扩展、可管理的个人或企业级VPN服务,还能根据需求添加双因素认证、防火墙规则、日志审计等功能,安全永远是第一位的,定期更新证书、限制访问IP、启用日志监控,才能让这个“数字门锁”真正牢靠。

Ubuntu/Debian  第1张

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