在当今数字化办公和远程协作日益普及的背景下,企业或个人用户对安全、稳定、可控的远程访问需求愈发强烈,虚拟私人网络(VPN)正是解决这一问题的核心技术之一,通过在服务器上部署VPN服务,用户可以在公网环境下建立加密隧道,实现数据传输的安全性和私密性,本文将详细介绍如何在Linux服务器(以Ubuntu为例)上搭建一个基于OpenVPN的VPN服务,涵盖环境准备、配置步骤、客户端连接及常见问题排查。
准备工作
- 一台具备公网IP的服务器(如阿里云、腾讯云或自建服务器)。
- 确保服务器防火墙允许UDP端口1194(OpenVPN默认端口),若使用TCP可改为1194/udp或80/tcp。
- SSH登录权限,建议使用密钥认证而非密码登录以提升安全性。
安装与配置OpenVPN
首先更新系统并安装OpenVPN及相关工具:
sudo apt update && sudo apt install openvpn easy-rsa -y
生成证书颁发机构(CA)和服务器证书,执行以下命令初始化PKI目录:
make-cadir /etc/openvpn/easy-rsa cd /etc/openvpn/easy-rsa sudo cp vars.example vars
编辑vars文件,设置国家、组织名称等基本信息(如C=CN, ST=Beijing, O=MyCompany),然后执行:
sudo ./clean-all sudo ./build-ca # 创建CA证书 sudo ./build-key-server server # 创建服务器证书 sudo ./build-key client1 # 创建客户端证书(可多创建) sudo ./build-dh # 生成Diffie-Hellman参数
配置服务器端
复制证书到OpenVPN配置目录:
sudo cp /etc/openvpn/easy-rsa/keys/{ca.crt,server.crt,server.key,dh2048.pem} /etc/openvpn/
创建主配置文件 /etc/openvpn/server.conf如下:
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh2048.pem
server 10.8.0.0 255.255.255.0
push "route 192.168.1.0 255.255.255.0" # 推送内网路由(如需访问局域网)
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
启动服务并配置转发
启用IP转发功能:
echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf 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 -i tun0 -j ACCEPT sudo iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT
保存规则并启动OpenVPN服务:
sudo systemctl enable openvpn@server sudo systemctl start openvpn@server
客户端连接
将生成的client1.crt、client1.key、ca.crt拷贝至客户端设备,使用OpenVPN客户端软件(如OpenVPN Connect)导入配置文件即可连接。
注意事项
- 定期更新证书,避免过期导致连接失败。
- 建议结合Fail2Ban防止暴力破解攻击。
- 若用于企业办公,应结合AD/LDAP身份验证增强权限管理。
通过以上步骤,即可成功搭建一个安全、高效的OpenVPN服务器,为远程办公提供可靠保障。

半仙加速器-海外加速器|VPN加速器|vpn翻墙加速器|VPN梯子|VPN外网加速
文章版权声明:除非注明,否则均为半仙加速器-海外加速器|VPN加速器|外网加速器|梯子加速器|访问外国网站首选半仙加速器原创文章,转载或复制请以超链接形式并注明出处。


