文章最后更新时间:2025年06月11日
环境要求:
OpenVpn服务器需要一个公网IP,供给客户端访问!
软件下载地址:
easy-rsa-old-master.zip(win7)
easy-rsa-old-master.zip(win10)
一、制作OpenVpn证书(证书制作工具easy-rsa-old-master.zip)
1. 配置vars文件
[root@hk-web openvpn]# unzip easy-rsa-old-master.zip
[root@hk-web 2.0]# pwd
/root/openvpn/easy-rsa-old-master/easy-rsa/2.0
[root@hk-web 2.0]# vim vars
[root@hk-web 2.0]# source vars
NOTE: If you run ./clean-all, I will be doing a rm -rf on /root/openvpn/easy-rsa-old-master/easy-rsa/2.0/keys
[root@hk-web 2.0]# ./clean-all # 多出keys目录
2. 生成根证书和秘钥 ca.crt、ca.key
[root@hk-web 2.0]# ./build-ca
生成根证书、根秘钥
3. 制作服务器根证书、根秘钥 server.crt、server.key
[root@hk-web 2.0]# ./build-key-server server
[root@hk-web 2.0]# ll keys/
total 56
-rw-r--r-- 1 root root 8196 Sep 27 21:36 01.pem
-rw-r--r-- 1 root root 2415 Sep 27 21:33 ca.crt
-rw------- 1 root root 3272 Sep 27 21:33 ca.key
...(省略部分输出)...
4. 制作客户端证书和秘钥 client.crt client.key
[root@hk-web 2.0]# ./build-key client
[root@hk-web 2.0]# ll keys/
total 88
...(省略部分输出)...
5. 生成秘钥交换文件
[root@hk-web 2.0]# ./build-dh dh2048.pem
Generating DH parameters, 2048 bit long safe prime, generator 2
This is going to take a long time
...................................................................+................................+......+..........
[root@hk-web 2.0]# ll keys/
total 92
...(省略部分输出)...
二、配置openvpn服务端
1. 安装OpenVpn
[root@hk-web 2.0]# yum -y install openvpn
2. 配置OpenVpn
[root@hk-web 2.0]# cd /etc/openvpn/
[root@hk-web openvpn]# ll
total 8
drwxr-x--- 2 root openvpn 4096 Mar 18 2022 client
drwxr-x--- 2 root openvpn 4096 Mar 18 2022 server
[root@hk-web openvpn]# mkdir keys
[root@hk-web openvpn]# cp -a /root/openvpn/easy-rsa-old-master/easy-rsa/2.0/keys/{ca.crt,server.crt,server.key,dh2048.pem} /etc/openvpn/keys/
[root@hk-web keys]# ll /etc/openvpn/keys/
total 24
-rw-r--r-- 1 root root 2415 Sep 27 21:33 ca.crt
...(省略部分输出)...
[root@hk-web keys]# cp -a /usr/share/doc/openvpn-2.4.12/sample/sample-config-files/server.conf /etc/openvpn/
修改配置文件
ca keys/ca.crt
cert keys/server.crt
key keys/server.key # This file should be kept secret
dh keys/dh2048.pem
tls-auth keys/ta.key 0 # 拒绝服务攻击的文件
# 修改网段
server 192.168.88.0 255.255.255.0
push "route 192.168.88.0 255.255.255.0"
push "route 192.168.0.0 255.255.255.0" # 真实内网的网段地址
cipher AES-256-GCM # 改为GCM
3. 启用路由转发功能
[root@hk-web openvpn]# echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
[root@hk-web openvpn]# sysctl -p
4. 建立ta.key文件(拒绝服务攻击证书文件)
[root@hk-web keys]# openvpn --genkey --secret ta.key
[root@hk-web keys]# ls
ca.crt dh2048.pem server.crt server.key ta.key
5. 启动openvpn
[root@hk-web openvpn]# openvpn --daemon --config server.conf
[root@hk-web openvpn]# netstat -pltun | grep 1194
udp 0 0 0.0.0.0:1194 0.0.0.0:* 22994/openvpn
三、配置OpenVpn客户端
1. 客户端的配置文件
[root@hk-web ~]# cd /usr/share/doc/openvpn-2.4.12/sample/sample-config-files/
[root@hk-web sample-config-files]# cp -a client.conf /root/
[root@hk-web ~]# mkdir client
[root@hk-web ~]# mv client.conf client
[root@hk-web ~]# cd client/
# 修改配置
vim client.conf
cipher AES-256-GCM
remote 159.138.129.221 1194
2. 生成客户端的证书文件
[root@hk-web client]# cd /root/openvpn/easy-rsa-old-master/easy-rsa/2.0/keys/
[root@hk-web keys]# cp -a {client.key,client.crt,ca.crt} /root/client/
[root@hk-web keys]# cd /etc/openvpn/keys/
[root@hk-web keys]# cp -a ta.key /root/client/
[root@hk-web client]# mv client.conf client.ovpn # Windows端生效
[root@hk-web client]# ll
total 24
-rw-r--r-- 1 root root 2415 Sep 27 21:33 ca.crt
...(省略部分输出)...
3. 打包客户端目录
[root@hk-web client]# cd ../
[root@hk-web ~]# zip client.zip client/
[root@hk-web ~]# ll
total 95356
...(省略部分输出)...
四、Windows 客户端测试
1. 解压导入客户端文件
将服务器生成的 client.zip
拷贝到 Windows 客户端并解压。
2. 安装 OpenVPN 客户端
- Win10 安装:直接按默认步骤点击“下一步”完成安装。
- Win7 安装:需关闭驱动程序签名验证(开机按 F8 选择“禁用驱动程序签名强制”)。
Win7 客户端安装步骤:
以管理员身份运行 OpenVPN 客户端:
可能出现的警报提示:
3. 修改配置文件路径
右键点击右下角 OpenVPN 图标,选择 选项→高级,修改证书和配置文件路径:
将 client.ovpn
、ca.crt
、client.crt
、client.key
、ta.key
导入到 OpenVPN 的 config
目录下:
4. 连接测试
- 重启系统,按 F8 禁用驱动程序签名强制。
- 双击 OpenVPN 客户端图标,选择配置文件并连接:
连接成功后图标变为绿色:
网络说明:
192.168.0.0/24
:VPN 服务器所在局域网。192.168.89.0/24
:VPN 为客户端分配的 IP 网段。172.16.20.0/22
:客户端本机所在局域网。- 通信逻辑:客户端通过 VPN 分配的
192.168.89.0
网段与服务器所在的192.168.0.0
局域网通信。
连通性验证:
连接 VPN 时可访问服务器局域网:
关闭 VPN 后网络不通:
五、网络配置与转发
1、配置server.conf文件
push "dhcp-option DNS 8.8.8.8"
push "redirect-gateway def1 bypass-dhcp"
2、iptables配置
ip add
iptables -t nat -A POSTROUTING -s 客户端地址 -o eth0 -j SNAT --to-source eth0IP地址
iptables -t nat -A POSTROUTING -s 192.168.89.0/24 -o eth0 -j SNAT --to-source 192.168.0.174
3、配置路由转发功能
vim /etc/sysctl.conf
[root@hk-web ~]# sysctl -p
vm.swappiness = 0
net.core.somaxconn = 1024
net.ipv4.tcp_max_tw_buckets = 5000
net.ipv4.tcp_max_syn_backlog = 1024
net.ipv4.ip_forward = 1
文章版权声明:除非注明,否则均为柳三千运维录原创文章,转载或复制请以超链接形式并注明出处。