步骤1:选择服务器操作系统
- 推荐操作系统:选择Debian或Ubuntu,因为它们支持丰富的软件包管理和稳定性。
- 安装OpenVPN:
- Debian:
sudo apt-get update && sudo apt-get install openvpn
- Ubuntu:
sudo apt update && sudo apt install openvpn
- Debian:
步骤2:安装并生成OpenVPN证书
- 安装easy-rsa:
sudo apt-get install -y git && git clone https://github.com/OpenVPN/easy-rsa.git cd easy-rsa && sudo make install
- 生成CA私钥和证书:
./easy-rsa/build-ca.sh
- 生成服务器证书和密钥:
./easy-rsa/build-server.sh <server_name>
- 生成客户端证书和密钥:
./easy-rsa/build-client.sh <client_name>
- 移动证书:
- 服务器:
mv /etc/openvpn/server.pem /etc/openvpn/ - 客户端:
mv /etc/openvpn/client.pem /etc/openvpn/
- 服务器:
步骤3:配置服务器端OpenVPN
-
编辑配置文件:
sudo nano /etc/openvpn/server.conf
dev ovpn proto udp port 1194 keepalive 10 ping 10 max_attempts 5 ns-cert-type server server-override push "route 192.168.1. 255.255.255. 255.255.255.255" push "route 10.10.10. 255.255.255. 255.255.255.255" user-clients group "vpn-group"
-
设置默认网关:
sudo iptables -t nat -A POSTROUTING -o ovpn -j MASQUERADE sudo iptables -A FORWARD -i ovpn -o eth -j ACCEPT sudo iptables -A FORWARD -i eth -o ovn -m state --state RELATED,ESTABLISHED -j ACCEPT
-
重启OpenVPN服务:
sudo systemctl restart openvpn@server
步骤4:配置客户端OpenVPN
-
创建客户端配置文件:
sudo nano /etc/openvpn/client.conf
client dev ovpn proto udp port 1194 ns-cert-type server cert /etc/openvpn/client.pem key /etc/openvpn/client.pem remote my-server-ip 1194
-
设置客户端选项(可选):
# 允许所有IP访问 route-bytes yes route-ipv6 yes
-
启动客户端服务:
sudo systemctl start openvpn@client
步骤5:测试VPN连接
-
从客户端测试:
sudo openvpn --connect client.conf
- 如果使用密码验证,在配置文件中添加:
# 设置密码 auth-user-pass
- 如果使用密码验证,在配置文件中添加:
-
验证IP地址:
ping 192.168.1.1
步骤6:优化和维护
-
设置日志级别:
sudo nano /etc/openvpn/*.log
添加:
log-level 2
-
监控服务状态:
sudo systemctl status openvpn@server
-
定期更新证书:
- 生成新的CA证书:
./easy-rsa/build-ca.sh --force-overwrite
- 更新客户端证书:
./easy-rsa/build-client.sh --force-overwrite <client_name>
- 生成新的CA证书:
步骤7:高级配置(可选)
-
限制并发连接:
sudo nano /etc/openvpn/server.conf # 添加 max_clients 100
-
防火墙设置:
sudo iptables -A INPUT -p udp --dport 1194 -j ACCEPT
工具推荐
- OpenVPN连接测试页面:https://www.openvpn.net/certfp/
- 命令行测试工具:
mtr或traceroute
注意事项
- 证书管理:定期检查证书有效期并重新生成。
- 权限设置:确保服务器和客户端的权限设置符合安全需求。
- 性能优化:根据需求调整线程和连接数,防止过载。
通过以上步骤,您可以成功部署并管理一个安全的VPN服务器,确保您的网络访问安全,提供便捷的远程连接服务。









