win10创建VPN连不上

您所在的位置:网站首页 win10加速器不能用 win10创建VPN连不上

win10创建VPN连不上

#win10创建VPN连不上| 来源: 网络整理| 查看: 265

2020是不平凡的一年,全国上下都沉浸在抗击新冠状病毒的浪潮中。受疫情的影响,春节假期无限制延长,很多返工的人不能及时到岗,企业因此只能停工。为了降低损失,尤其是互联网/it类公司就需要及时开通远程办公,所以我研究了一下vpn网络的构建,好我们直接步入正题。

网络拓扑

公司电脑ip段192.168.0.0 公司vpn服务分配的ip段10.9.0.0 公司vpn服务网关端口1194,需要在出口(公网ip)路由器上做端口映射(我的是映射到192.168.91.45:1194) 家里ip段10.12.0.0

安装openvpn的证书制作工具

我是在centerOS7上执行的证书制作。(为什么没直接选win10环境,大家也不要多问,直接干就是了。)

git clone https://github.com/OpenVPN/easy-rsa.git

在release上下载一个linux版本的(我使用的EasyRSA-unix-v3.0.6.tgz),解压到这里。/home/gary/easy-rsa

生成CA

首先先进入easyrsa的脚本目录:

cd easy-rsa/easyrsa3 然后将其中vars.example的文件复制一份:

cp vars.example vars 接着用文本编辑器打开vars文件:

nano vars

这个文件很长,包含了很多注释和说明,这些我们都不用管,直接翻到图中所示部分,然后按照自己的需求进行修改,但是不能留空,修改完成后保存文件。 在这里插入图片描述

修改配置文件

然后用下面的命令生成公钥体系,此外easyrsa还有一些其他命令和参数,有些参数下面还会用到:

./easyrsa init-pki

会生成如下的信息,这样就成功了:

Note: using Easy-RSA configuration from: ./vars init-pki complete; you may now create a CA or requests. Your newly created PKI dir is: /home/gary/easy-rsa/easyrsa3/pki

之后就是最后一步创建CA证书了,如果不想每次都输入一个密码,可以用nopass参数来取消密码。在输出中还会提示你输入CA的公共名称,直接默认即可,当然你想改也随意。

./easyrsa build-ca nopass 会生成如下的信息,这样一来就完成了:

Note: using Easy-RSA configuration from: ./vars Generating RSA private key, 2048 bit long modulus ....................................................................................+++ ..............................................+++ e is 65537 (0x010001) You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Common Name (eg: your user, host, or server name) [Easy-RSA CA]: CA creation complete and you may now import and sign cert requests. Your new CA certificate file for publishing is at: /home/gary/easy-rsa/easyrsa3/pki/ca.crt

这样一来,在pki和pki/private文件夹中会生成ca.crt和ca.key文件,正是SSL证书所用的公私钥对。

生成服务器证书和加密文件 生成私钥

首先输入下面的命令,这里的server是服务器的名称,可以修改,但是由于接下来好几处命令以及生成的文件都受这个名称影响,所以还是用默认的server省事一点:

./easyrsa gen-req server nopass

输出如下:

Note: using Easy-RSA configuration from: ./vars Generating a 2048 bit RSA private key ......................................................................+++ ...................................................................+++ writing new private key to '/home/gary/easy-rsa/easyrsa3/pki/private/server.key.IuKiwcpofq' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Common Name (eg: your user, host, or server name) [server]: Keypair and certificate request completed. Your files are: req: /home/gary/easy-rsa/easyrsa3/pki/reqs/server.req key: /home/gary/easy-rsa/easyrsa3/pki/private/server.key

这样就生成了服务器私钥server.key和证书请求文件server.req。

然后将服务器私钥复制到openvpn配置文件目录下: sudo cp pki/private/server.key /etc/openvpn

生成公钥

由于我只有一台服务器,同时充当CA服务器和VPN服务器,所以需要自己给自己签发,会产生同名文件,所以首先先把服务请求文件server.req重命名一下:

mv pki/reqs/server.req pki/reqs/server2.req

然后导入请求,这里的server是前面指定的服务器名称:

./easyrsa import-req pki/reqs/server2.req server

成功之后,用下面的命令签发请求,注意这里的第一个server是请求类型,可以是client或者server,第二个server是前面指定的服务器名称:

./easyrsa sign-req server server

在这一步出了一点小问题,输出提示index.txt.attr文件不存在,导致出现了部分失误,所以生成的文件被保存到了pki/issued目录下,不过后来全弄完我发现这个小错误不影响VPN连接,但是如果你运行的时候没有错误,记得改一下这里的文件路径。

这样会生成server.crt文件,将它和ca.crt一起复制到openvpn中:

sudo cp pki/ca.crt pki/issued/server.crt /etc/openvpn/

生成加密文件

然后生成Diffie-Hellman密钥文件,这会让VPN更加安全,不过生成过程可能需要几分钟时间:

./easyrsa gen-dh

等待生成完成之后,生成Diffie-Hellman签名:

openvpn --genkey --secret ta.key

然后将生成的几个文件也复制给openvpn:

sudo cp ta.key pki/dh.pem /etc/openvpn/

这样一来,服务器端的所有文件就全部生成完毕,下面开始生成客户端所需文件。

生成客户端证书和密钥对

首先准备一个目录存放客户端文件:

mkdir -p ~/client-configs/keys

然后修改权限确保安全:

sudo chmod -R 700 ~/client-configs

然后生成客户端请求文件,考虑到可能会有几个客户端,所以这里叫client1,当然名称也可以修改:

./easyrsa gen-req client1 nopass

将其复制到存放目录中:

cp pki/private/client1.key ~/client-configs/keys/

和前面一样,首先修改一下客户端请求文件的名称:

mv pki/reqs/client1.req pki/reqs/client.req

然后导入请求文件:

./easyrsa import-req pki/reqs/client.req client1

再签发请求:

./easyrsa sign-req client client1 这样会生成client1.crt文件,最后将几个文件复制到存放目录中(这里注意一下文件路径,我前面出现错误,所以文件生成在issued文件夹中,如果你没错误记得改一下路径):

cp pki/issued/client1.crt ta.key pki/ca.crt ~/client-configs/keys/

这样,所有证书文件就准备就绪了。

配置openvpn服务端

设置服务端网络共享在这里插入图片描述 win10直接安装下载链接,在vpn安装目录根目录下新建config目录,新建server.ovpn,粘贴下面的配置, 同时把上面生成的服务端证书也放进来(ta.key,server.crt,dh.pem,server.key,ca.crt),双击运行vpn-gui程序(会看到是server模式启动,图标从黄变绿说明连接成功)

#绑定宿主机本地ip local 192.168.91.45 port 1194 # TCP or UDP server? proto udp explicit-exit-notify 0 dev tun ca ca.crt cert server.crt key server.key tls-auth ta.key 0 dh dh.pem # 配置vpn网段 server 10.9.0.0 255.255.255.0 ifconfig-pool-persist ipp.txt # 为客户端打通全路由 push "route 0.0.0.0 0.0.0.0" push "redirect-gateway def1 bypass-dhcp" push "dhcp-option DNS 208.67.222.222" push "dhcp-option DNS 208.67.220.220" keepalive 10 120 auth SHA256 comp-lzo max-clients 100 persist-key persist-tun status openvpn-status.log verb 3

服务端的config目录 服务端配置文件

配置openvpn客户端

win10直接安装下载链接,在vpn安装目录根目录下新建config目录,新建client.ovpn,粘贴下面的配置, 同时把上面生成的服务端证书也放进来(ta.key,client1.crt,client1.key,ca.crt),运行vpn(会看到是client模式启动,图标从黄变绿说明连接成功)

client dev tun proto udp #注意 这里的192.168.91.45为vpn服务宿主机的ip,而不是vpn服务的虚拟ip remote 192.168.91.45 1194 resolv-retry infinite nobind persist-key persist-tun ca ca.crt cert client1.crt key client1.key remote-cert-tls server tls-auth ta.key 1 auth SHA256 key-direction 1 comp-lzo verb 3

客户端上的config目录 在这里插入图片描述 客户端连接成功后可以在 cmd 输入 ipconfig ,看到能获取到vpn网关分发的ip地址,同时也可以ping通vpn服务宿主机所能访问的全部网络。

在这里插入图片描述

mac使用openvpn,使用tunnelblick(去github下载),和windows的客户端配置一样拿过来就可以用了。

相关vpn参数的配置介绍可以看这篇文章

纯脚本安装请移步这里



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3