安装OpenVPN服务器
步骤 1.1:安装OpenVPN
- Linux(Ubuntu/Debian):
sudo apt update sudo apt install openvpn
- Windows:
下载OpenVPN安装包,安装并运行。
步骤 1.2:生成证书和私钥
- 生成证书:
openssl req -x509 -newkey -days 365 -keyout server.key -out server.pem -nodes
- 参数解释:
-x509:生成X.509证书。-newkey:创建新的密钥。-days 365:证书有效期365天。
- 参数解释:
- 生成私钥:
openssl genrsa -out server.key
- 生成证书签名请求(CSR):
openssl req -out server.csr -key server.key
- 签名CSR并生成完整证书:
openssl x509 -req -days 365 -in server.csr -out server.pem -signkey server.key
- 合并证书和私钥:
cat server.pem server.key > server.pem
步骤 1.3:配置OpenVPN服务
- 创建配置文件(server.conf):
# 服务器IP和端口 local_ip=192.168.1.1 local_port=1194 # 使用TCP协议 protocol=udp # 128位AES加密 cipher=AES-128-CBC # SHA1签名 auth=SHA1 # 认证类型 user_pass=yes # 访问控制列表(仅允许特定IP) push "route 192.168.1.1 255.255.255. 0..." push "route 10.10.10. 255.255.255. 0..." push "dhcp-option DNS 192.168.1.1"
- 生成客户端配置文件:
cp /etc/openvpn/easy-rsa/keys/issued/vpnuser.pem /etc/openvpn/server.conf
步骤 1.4:启动OpenVPN服务
- 启动服务:
sudo service openvpn start
- 设置开机启动:
sudo update-rc.d openvpn default
测试服务配置
步骤 2.1:检查服务状态
- 查看服务状态:
sudo systemctl status openvpn
- 查看端口状态:
sudo netstat -tuln | grep 1194
步骤 2.2:防火墙设置
- Linux:
sudo iptables -A INPUT -p udp --dport 1194 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 1194 -j ACCEPT sudo service iptables save sudo service iptables restart
- Windows:
在防火墙设置中,允许OpenVPN的UDP和TCP端口通过。
安装并配置客户端
步骤 3.1:获取客户端配置文件
- 将配置文件复制到客户端:
scp server.pem server.key /path/to/client/config/
步骤 3.2:安装客户端
- Windows:
- 下载并安装OpenVPN客户端,导入
server.pem和server.key。
- 下载并安装OpenVPN客户端,导入
- Linux:
安装OpenVPN客户端包,配置客户端连接选项。
步骤 3.3:配置客户端
- 输入服务器IP和端口:
- TCP/UDP协议:
- 服务器IP:
168.1.1 - 端口:
1194
- 服务器IP:
- 选择协议和加密方法:
- 协议: UDP或TCP
- 加密: AES-128-CBC
- 签名: SHA1
- TCP/UDP协议:
- 导入证书和私钥:
在客户端中添加VPN服务器,输入详细信息。
- 设置DNS服务器:
- 在客户端配置中添加
168.1.1作为DNS服务器。
- 在客户端配置中添加
步骤 3.4:连接测试
- 在客户端启动OpenVPN:
./openvpn --connect "server_ip:1194"
- 检查连接状态:
sudo netstat -tuln | grep 1194
提供服务
步骤 4.1:限制并发连接
- 修改服务配置:
# 限制最大并发连接数 max_instances=10 # 设置保留连接数 keepalive 10
步骤 4.2:防止DDoS攻击
- iptables限流:
sudo iptables -A INPUT -p udp --dport 1194 -j limit 10:100 sudo iptables -A INPUT -p tcp --dport 1194 -j limit 10:100
- 保存和重启防火墙:
sudo service iptables save sudo service iptables restart
高级优化
步骤 5.1:优化服务设置
- 配置文件修改:
# 限制并发连接数 max_instances=20 # 设置保留连接数 keepalive 5 # 禁用多播 disable_multibyte
步骤 5.2:使用防火墙脚本
- 创建防火墙脚本:
# 生成防火墙脚本 echo '#!/bin/sh' > /etc/openvpn/firewall.sh echo 'iptables -A INPUT -p udp --dport 1194 -j ACCEPT' >> /etc/openvpn/firewall.sh echo 'iptables -A INPUT -p tcp --dport 1194 -j ACCEPT' >> /etc/openvpn/firewall.sh echo 'service iptables save' >> /etc/openvpn/firewall.sh echo 'service iptables restart' >> /etc/openvpn/firewall.sh chmod +x /etc/openvpn/firewall.sh
步骤 5.3:设置开机启动脚本
- 创建脚本:
echo '#!/bin/sh' > /etc/init.d/openvpn echo 'service openvpn start' >> /etc/init.d/openvpn chmod +x /etc/init.d/openvpn
部署服务器
步骤 6.1:部署到云服务器
- **选择合适的云服务提供商(如AWS、DigitalOcean、阿里云等)。
- 安装OpenVPN服务器:
sudo apt update sudo apt install openvpn
- 配置并启动服务:
sudo service openvpn start
步骤 6.2:处理带宽和成本
- 监控带宽使用情况:
sudo iptables -L -n
- 设置带宽限制:
sudo iptables -A INPUT -p udp --dport 1194 -j limit 100:100
提供支持
步骤 7.1:日志监控
- 查看日志:
sudo tail -f /var/log/openvpn.log
- 配置日志轮转:
sudo nano /etc/logrotate.conf
添加:
/var/log/openvpn.log { daily size 5M max-log-size 5M create 10 old }
步骤 7.2:用户支持
- 提供详细的使用说明:
包括安装客户端的步骤,配置文件的使用。
- 设置FAQ和帮助文档:
上传文档,解答常见问题。
故障排除
步骤 8.1:解决连接问题




