作为一名网络工程师,我经常被问到:“如何搭建一个安全、稳定的VPN服务?”无论是为了远程办公、访问内网资源,还是保护隐私浏览,配置一台可靠的VPN服务器都已成为现代网络环境中的必备技能,本文将带你一步步完成基于OpenVPN的Linux服务器端配置,适用于个人或小型企业部署。
第一步:准备环境
你需要一台运行Linux(推荐Ubuntu Server 20.04 LTS或CentOS Stream)的服务器,最好是具备公网IP的云主机(如阿里云、腾讯云或AWS),确保系统已更新并安装了必要工具:
sudo apt update && sudo apt upgrade -y sudo apt install openvpn easy-rsa -y
第二步:生成证书和密钥(PKI)
OpenVPN使用SSL/TLS加密,因此需要一套数字证书体系,我们用Easy-RSA工具来创建CA(证书颁发机构)、服务器证书和客户端证书。
-
复制Easy-RSA模板:
make-cadir /etc/openvpn/easy-rsa cd /etc/openvpn/easy-rsa
-
编辑vars文件(设置国家、组织等信息):
nano vars
修改以下内容(根据实际情况填写):
export KEY_COUNTRY="CN" export KEY_PROVINCE="Beijing" export KEY_CITY="Beijing" export KEY_ORG="MyCompany" export KEY_EMAIL="admin@mycompany.com" -
初始化PKI并生成CA证书:
./clean-all ./build-ca
按提示输入“myca”作为CA名称,确认后生成
ca.crt。 -
生成服务器证书:
./build-key-server server
输入“server”,确认签名。
-
为客户端生成证书(可批量生成):
./build-key client1
之后可继续生成更多客户端证书,如client2、client3等。
第三步:配置OpenVPN服务器
复制示例配置文件并修改关键参数:
cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf /etc/openvpn/ nano /etc/openvpn/server.conf
主要修改项如下:
port 1194:默认UDP端口,可改为其他端口(如443以避开防火墙)proto udp:使用UDP协议(性能更优)dev tun:使用隧道模式ca ca.crtcert server.crtkey server.keydh dh.pem:生成Diffie-Hellman参数:./build-dh
push "redirect-gateway def1 bypass-dhcp":强制客户端流量走VPN(用于内网穿透)push "dhcp-option DNS 8.8.8.8":指定DNS服务器
第四步:启用IP转发与防火墙规则
让服务器能转发数据包:
echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf sysctl -p
配置iptables规则(允许通过1194端口,并启用NAT):
iptables -A INPUT -p udp --dport 1194 -j ACCEPT iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
第五步:启动服务并测试
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
comp-lzo
verb 3
用OpenVPN客户端导入该配置即可连接,建议在生产环境中启用TLS认证、定期更换证书、记录日志,并考虑使用fail2ban防止暴力破解。
通过以上步骤,你不仅成功部署了一个功能完整的OpenVPN服务,还掌握了网络安全的核心原理——身份验证、加密传输和路由控制,配置只是开始,持续维护和监控才是保障长期稳定的关键。

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









