作为一名网络工程师,我经常被问到:“如何在服务器上设置VPN?”这个问题看似简单,实则涉及网络安全、网络架构、用户权限等多个技术层面,本文将从零开始,带你一步步完成在Linux服务器(以Ubuntu为例)上搭建一个安全可靠的VPN服务——使用OpenVPN作为解决方案。
准备工作必不可少,你需要一台公网IP的Linux服务器(如阿里云、腾讯云或AWS EC2),并确保你拥有root权限或sudo权限,确保防火墙已允许UDP 1194端口(OpenVPN默认端口)通过,若使用云服务商,请额外检查安全组规则。
第一步:安装OpenVPN及相关工具
登录服务器后,执行以下命令更新系统并安装OpenVPN和Easy-RSA(用于证书管理):
sudo apt update sudo apt install openvpn easy-rsa -y
第二步:生成证书和密钥
Easy-RSA是OpenVPN的证书颁发机构(CA)工具,我们先初始化PKI目录:
make-cadir /etc/openvpn/easy-rsa cd /etc/openvpn/easy-rsa
编辑vars文件(可选)以设置国家、组织等信息,然后执行:
./clean-all ./build-ca # 创建根证书 ./build-key-server server # 创建服务器证书 ./build-key client1 # 创建客户端证书(可为多个) ./build-dh # 生成Diffie-Hellman参数
第三步:配置OpenVPN服务
复制示例配置文件并修改:
cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf /etc/openvpn/ nano /etc/openvpn/server.conf
关键配置项包括:
port 1194:指定端口;proto udp:推荐UDP协议,延迟更低;dev tun:使用TUN模式;ca ca.crt、cert server.crt、key server.key:指向刚刚生成的证书;dh dh.pem:DH参数路径;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;user nobody和group nogroup:提升安全性。
第四步:启动服务并配置开机自启
systemctl enable openvpn@server systemctl start openvpn@server
第五步:客户端配置
将服务器生成的ca.crt、client1.crt、client1.key文件下载到本地,并创建一个.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 remote-cert-tls server verb 3
测试连接,在Windows、Mac或移动设备上使用OpenVPN客户端导入该配置即可接入服务器,建议开启日志(verb 3)排查问题,也可用journalctl -u openvpn@server查看服务状态。
通过以上步骤,你可以在服务器上成功部署一个企业级级别的OpenVPN服务,它不仅提供加密通道,还能实现远程访问内网资源、绕过地理限制等功能,但务必注意:定期更新证书、启用防火墙、避免明文密码,才能真正保障安全,如果你需要更高级功能(如双因素认证、负载均衡),可考虑结合WireGuard或商业方案如Pritunl。

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


