在现代企业网络架构中,虚拟私人网络(VPN)已成为保障远程访问安全、实现跨地域数据传输和保护敏感信息的关键技术,作为网络工程师,理解如何在服务器上正确配置和部署VPN服务至关重要,本文将详细介绍在Linux服务器(以Ubuntu为例)上搭建OpenVPN服务的全过程,涵盖环境准备、配置文件编写、证书生成、防火墙设置以及客户端连接等核心步骤。
第一步:环境准备
确保你拥有一台运行Linux系统的服务器(如Ubuntu 20.04或更高版本),并具备root权限,安装必要的软件包:
sudo apt update && sudo apt install openvpn easy-rsa -y
easy-rsa用于生成SSL/TLS证书,这是OpenVPN身份认证的核心组件。
第二步:生成证书与密钥
使用easy-rsa创建PKI(公钥基础设施):
make-cadir /etc/openvpn/easy-rsa cd /etc/openvpn/easy-rsa
编辑vars文件,设置国家、组织等信息(如export KEY_COUNTRY="CN"),执行以下命令生成CA证书、服务器证书和客户端证书:
./clean-all ./build-ca # 创建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/
编辑/etc/openvpn/server.conf,关键参数如下:
port 1194:指定监听端口(建议改为非默认值如53222以规避扫描攻击)proto udp:使用UDP协议提升性能dev tun:创建点对点隧道接口ca /etc/openvpn/easy-rsa/pki/ca.crt:指定CA证书路径cert /etc/openvpn/easy-rsa/pki/issued/server.crt:服务器证书key /etc/openvpn/easy-rsa/pki/private/server.key:服务器私钥dh /etc/openvpn/easy-rsa/pki/dh.pem:Diffie-Hellman参数server 10.8.0.0 255.255.255.0:分配给客户端的IP段push "redirect-gateway def1 bypass-dhcp":强制客户端流量通过VPNpush "dhcp-option DNS 8.8.8.8":推送DNS服务器
第四步:启用IP转发与NAT
编辑/etc/sysctl.conf,取消注释:
net.ipv4.ip_forward=1
应用配置:
sysctl -p
配置iptables规则实现NAT:
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
若使用ufw防火墙,则需添加:
ufw allow 1194/udp ufw enable
第五步:启动服务与测试
systemctl start openvpn@server systemctl enable openvpn@server
生成客户端配置文件(client.ovpn),内容包含CA证书、客户端证书、私钥及服务器地址,分发给用户后,用OpenVPN客户端导入即可连接。
注意事项:
- 定期更新证书(有效期通常为1年)
- 使用强密码保护私钥
- 监控日志
/var/log/syslog排查问题 - 考虑结合Fail2Ban防止暴力破解
通过以上步骤,你的服务器已成功部署为安全可靠的VPN网关,可支持多用户并发接入,满足企业级远程办公需求。

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






