本文目录导读:

我来为你详细介绍OpenVPN的搭建步骤,OpenVPN是一种安全、灵活的VPN解决方案,适合个人或企业使用。
环境准备
服务器要求
- 操作系统:Ubuntu 20.04/22.04 LTS 或 CentOS 7/8
- 公网IP地址
- 开放端口:UDP 1194(默认)
安装OpenVPN和Easy-RSA
Ubuntu/Debian:
sudo apt update sudo apt install openvpn easy-rsa -y
CentOS/RHEL:
sudo yum install epel-release -y sudo yum install openvpn easy-rsa -y
配置证书和密钥
创建PKI目录
make-cadir ~/openvpn-ca cd ~/openvpn-ca
配置变量
编辑 vars 文件:
nano vars
export KEY_COUNTRY="CN" export KEY_PROVINCE="Beijing" export KEY_CITY="Beijing" export KEY_ORG="Your Company" export KEY_EMAIL="admin@example.com" export KEY_OU="IT"
生成证书
# 初始化PKI source vars ./clean-all ./build-ca # 生成服务器证书 ./build-key-server server # 生成Diffie-Hellman参数 ./build-dh # 生成TLS密钥 openvpn --genkey --secret keys/ta.key # 生成客户端证书(每个客户端都需要) ./build-key client1
配置OpenVPN服务器
复制证书文件
cd ~/openvpn-ca/keys sudo cp ca.crt server.crt server.key ta.key dh2048.pem /etc/openvpn/
创建服务器配置文件
sudo nano /etc/openvpn/server.conf
port 1194 proto udp dev tun ca ca.crt cert server.crt key server.key dh dh2048.pem tls-auth ta.key 0 key-direction 0 server 10.8.0.0 255.255.255.0 ifconfig-pool-persist ipp.txt push "redirect-gateway def1 bypass-dhcp" push "dhcp-option DNS 8.8.8.8" push "dhcp-option DNS 8.8.4.4" keepalive 10 120 cipher AES-256-CBC comp-lzo user nobody group nogroup persist-key persist-tun status openvpn-status.log log-append /var/log/openvpn.log verb 3
启用IP转发
sudo nano /etc/sysctl.conf
取消注释 net.ipv4.ip_forward=1
sudo sysctl -p
配置防火墙
Ubuntu UFW:
sudo ufw allow 1194/udp sudo ufw allow OpenSSH sudo ufw enable
配置NAT(重要):
sudo nano /etc/ufw/before.rules
在文件开头添加:
*nat :POSTROUTING ACCEPT [0:0] -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE COMMIT
启动OpenVPN服务
sudo systemctl start openvpn@server sudo systemctl enable openvpn@server sudo systemctl status openvpn@server
客户端配置
生成客户端配置文件
创建 client.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 tls-auth ta.key 1 key-direction 1 cipher AES-256-CBC comp-lzo verb 3
合并配置文件(推荐)直接写入配置:
# 创建合并脚本
cat > make_config.sh << 'EOF'
#!/bin/bash
# 获取第一个参数作为客户端名称
CLIENT=$1
# 检查参数是否存在
if [ -z "$CLIENT" ]; then
echo "Usage: $0 <client-name>"
exit 1
fi
# 生成配置文件
cat > ${CLIENT}.ovpn <<END
client
dev tun
proto udp
remote YOUR_SERVER_IP 1194
resolv-retry infinite
nobind
persist-key
persist-tun
cipher AES-256-CBC
comp-lzo
verb 3
key-direction 1
<ca>
$(cat ~/openvpn-ca/keys/ca.crt)
</ca>
<cert>
$(cat ~/openvpn-ca/keys/${CLIENT}.crt)
</cert>
<key>
$(cat ~/openvpn-ca/keys/${CLIENT}.key)
</key>
<tls-auth>
$(cat ~/openvpn-ca/keys/ta.key)
</tls-auth>
END
echo "Configuration file ${CLIENT}.ovpn created successfully"
EOF
chmod +x make_config.sh
./make_config.sh client1
客户端连接
Windows
- 下载 OpenVPN客户端
- 导入
.ovpn配置文件 - 连接
macOS
- 使用Tunnelblick或OpenVPN Connect
- 导入配置文件
Linux
sudo openvpn client.ovpn
Android/iOS
- 安装OpenVPN Connect应用
- 导入配置文件
安全建议
- 定期更新证书:设置证书有效期
- 使用更强的加密:AES-256-GCM
- 启用日志监控:定期检查日志
- 限制客户端数量:使用CCD控制
故障排除
检查服务状态
sudo journalctl -u openvpn@server -f
端口连通性
telnet YOUR_SERVER_IP 1194
常见问题
- 连接失败:检查防火墙规则
- 认证错误:检查证书配置
- 路由问题:确认IP转发已启用
搭建完成后,你可以通过VPN安全访问内部网络资源,如果需要更高级的功能(如双因素认证、负载均衡等),可以进一步配置。
标签: VPN配置
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播