前言
本文提供多vpn客户端连接到公网vpn服务端的配置流程,从而建立位于不同局域网的客户端设备之间的网络连接。
服务端配置
服务端通常基于linux系统搭建,但不管是服务端还是客户端,都是通过openvpn来开启,只不过使用的配置文件不同
本教程中,服务端基于linux系统搭建,两个客户端分别基于linux和windows搭建,在下方链接中也提供windows配置openvpn服务端流程
1 | # windows配置openvpn服务端 |
安装openvpn
1 | apt install -y openvpn |
安装证书生成工具easy-rsa
1 | apt install -y openvpn |
制作证书
CA证书
1 | # 进入openvpn文件夹 |
Server端证书
1 | # 创建服务端证书,server111是自定义的服务端名称,中间遇到“Common Name (eg: your user, host, or server name) [server111]:”回车即可 |
1 | # 使用build-server-full参数可直接完成上述创建证书和签名两个步骤 |


Client端-1证书
1 | # 创建客户端证书,client1为自定义的客户端名称,执行过程中间回车即可 |
1 | # 使用build-client-full参数可直接完成上述创建证书和签名两个步骤 |


Client端-2证书
1 | # 创建客户端证书,client2为自定义的客户端名称,中间回车即可 |
1 | # 使用build-client-full参数可直接完成上述创建证书和签名两个步骤 |
创建Diffie-Hellman
1 | ./easyrsa gen-dh |

创建TLS认证密钥
1 | openvpn --genkey --secret ta.key |

整理所有证书到指定文件夹
1 | mkdir /etc/openvpn/keys |
创建服务端配置文件
1 | # 进入指定文件夹下,解压出server.conf |
1 | ;local a.b.c.d |
1 | # 服务端配置流程结束后,生成许多证书文件和配置文件,在此总结说明 |
客户端配置
1 | 客户端linux、windows皆可 |
安装openvpn
1 | # linux |
1 | # windows |
从服务端下载客户端所需证书文件
1 | # 客户端1需要下列文件 |
创建客户端配置文件
1 | # linux中,在/etc/openvpn/下创建client1.ovpn或client2.ovpn |
1 | client |
开启服务端
1 | # 进入server.conf所在目录下 |

开启客户端
Linux中开启
1 | # 进入client1.ovpn所在目录下 |

1 | 成功开启并连接到服务端后,可查看vpn局域网IP |

Windows中开启
1 | 打开openvpn后,在任务栏中找到openvpn图标,右键选择“选项”,打开如下界面,并选择“高级” |

1 | 再次双击任务栏中openvpn图标,开始连接服务端,图标中电脑屏幕变绿即连接成功 |

1 | 可查看vpn局域网ip |
客户端路由配置
1 | 两个客户端开启后都可以ping通服务端,但客户端互相不能ping通,需要添加vpn局域网网段路由 |
1 | # linux系统中 |

1 | # windows系统中 |
1 | 之后即可互相ping通 |
