openvpn如何搭建VPN虚拟专用网

联启 网络工具 13

本文目录导读:

openvpn如何搭建VPN虚拟专用网-第1张图片-电脑手机工具软件下载 - 免费实用工具合集 | 联启科技

  1. 环境准备
  2. 配置证书和密钥
  3. 配置OpenVPN服务器
  4. 配置防火墙
  5. 启动OpenVPN服务
  6. 客户端配置
  7. 客户端连接
  8. 安全建议
  9. 故障排除

我来为你详细介绍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

  1. 下载 OpenVPN客户端
  2. 导入 .ovpn 配置文件
  3. 连接

macOS

  1. 使用Tunnelblick或OpenVPN Connect
  2. 导入配置文件

Linux

sudo openvpn client.ovpn

Android/iOS

  1. 安装OpenVPN Connect应用
  2. 导入配置文件

安全建议

  1. 定期更新证书:设置证书有效期
  2. 使用更强的加密:AES-256-GCM
  3. 启用日志监控:定期检查日志
  4. 限制客户端数量:使用CCD控制

故障排除

检查服务状态

sudo journalctl -u openvpn@server -f

端口连通性

telnet YOUR_SERVER_IP 1194

常见问题

  • 连接失败:检查防火墙规则
  • 认证错误:检查证书配置
  • 路由问题:确认IP转发已启用

搭建完成后,你可以通过VPN安全访问内部网络资源,如果需要更高级的功能(如双因素认证、负载均衡等),可以进一步配置。

标签: VPN配置

抱歉,评论功能暂时关闭!