OpenVpn配置与NAT共享上网

admin 2016年12月1日06:58:09评论511 views字数 3471阅读11分34秒阅读模式

OpenVpn配置与NAT共享上网

    这是一篇没什么技术含量的文章,也许对某些学校,公司有帮助(学校C段为准)
    我们学校网络架构是全校C段互通,但是可恶的学校与电信合作,把宿舍楼网段必须登陆天翼校园(得买手机交月租和上网费,坑!),把教学楼,老师办公室等网段解放,同时,也鉴于VPN服务器常常被一些自认为电脑很厉害的半桶水技术的逗B常常把2003的路由和远程访问PPTP VPN给弄坏[他们弄是为了想弄个vpn上网,但是技术不行弄坏了](尼玛,撸着撸着,那男的准备插进去的时候卡着断网了,很火大的你知道不!),所以我决定弃用系统原生VPN,转用OpenVpn。
    好了,话就扯到这里,本人是个电脑白痴,没什么技术含量,在此谢过!


1.安装不说了,这里不用教,另外最好把图中框着的打个勾。

OpenVpn配置与NAT共享上网


OpenVpn配置与NAT共享上网


安装完后要求装驱动,直装好了,接下来开始建立证书。
2.在此之前,得先初始化,如下图,按顺序执行

   可以在安装目录里的easy-rsa文件夹建一个启动cmd的bat文件(我是安装在默认的地方C:Program FilesOpenVPNeasy-rsa),执行初奴化工作,如下图

OpenVpn配置与NAT共享上网


   这里面分别执行了init-config.bat,init-config.bat会自动把vars.bat.sample文件复制一遍(vars.bat文件是用于登记VPN的详细信息,个人喜欢填了,像我不喜欢的全部默认得了)

   复制完后,执行刚生成的vars.bat,然后再执行clean-all.bat进行清理(不知道清理什么)
   至此,初始化完成!

3.建立CA证书
   继续执行build-ca.bat,出现要求输入的详细信息,如果为空,只要输入“.”即可(刚才那个vars初始化在这里起作用了,在下再也会起作用,所以上面的初始化操作不能忽略)
   注意:Common Name 项一定要输入,这是这个ca证书的账号,除此之外可以全部输入点。

OpenVpn配置与NAT共享上网


4.建立服务端的证书
   CA证书为共同认证的证书,同时服务端也要生成属于服务端的证书,[同理,客户端也会生成证书,下面说到]。
   执行build-key-server.bat server
   前面的build-key-server.bat大家都明白,后面的server是建立服务端证书的名字,可以改,不过为了方便识别,就这样吧
如下图

OpenVpn配置与NAT共享上网


   图中画线部分除了命令,还要求你写详细信息的,同上面一样,我人懒,全部都输入"."了,不过有两个地方要注意,建立证书时,要求你输入账号和密码,图中第2,3个画线部分分别是账号,密码,其它输“.”就好了。

   完成后它会问你是否顺便注册并写出证书,输入y注册就好了
   建立服务端证书完成
5.建立迪菲·赫尔曼密钥(不知道是啥东西)
   等待执行build-dh完成即可,如下图

OpenVpn配置与NAT共享上网


6.建立客户站证书,[如果多台电脑登陆,就要建立多个证书了]
   执行build-key client
   与上面建立服务端证书一样,client是名字,随你怎么改,如下图

OpenVpn配置与NAT共享上网


   与上面也一样,要求你输入详细信息,我不说了,你懂的,另外注意的是,客户端中的Common Name是所有证书中唯一的,不能与服务端的Common Name名字相同,也不能与它其客户端证书的Common Name相同,我这里就建立我自己的
   还有密码的设置,基本一样了
   至此,客户端证书制作完成,可以在easy-rsakeys中看到我们刚才生成的证书了,我这里列一个服务端要用到的文件和客户端用到的文件
服务端用到的文件:

1 ca.crt
2 ca.key
3 dh1024.pem
4 server.crt
5 server.key
6 server.ovpn(接下来说明)

客户端要用到的文件:

OpenVpn配置与NAT共享上网

7.配置服务端的ovpn文件

   OpenVpn是通过ovpn文件来断定自己是以服务端的形式启动还是以客户端形式启动,ovpn中也存在一些比如连接那个ip,那个端口,用什么协议连接这些信息
   服务端的ovpn文件名叫:server.ovpn,可以在sample-config文件夹中找到模版,如下图有几样要注意的。

OpenVpn配置与NAT共享上网


   local IP地址,这里是定义单个ip允许连接,如果想什么ip都能连接的话,请在前面加“;”号把它注释了,不然的话,像我上图那样的话,只允许ip是192.168.5.25的机器才能连入(好像是)
   port 1194,这里懂的了,自己喜欢吧(注意下面client.ovpn的同步更改)
   proto tcp
   proto udp
   这里,看明白的了,就是用udp协议传送还是用tcp传送,我不会用udp,所以还是tcp吧,把udp禁了
   dev tap
   dev tun
   这里是以用什么协议来启动,网上有人说,用温斗死,最好用tap协议,tun协义对linux比较好,所以我用了tap了

OpenVpn配置与NAT共享上网


   ca ca.crt
   cert server.crt
   key server.key
   定义证书位置及名称,这里就是用到刚才我们生成的服务端证书了,看你刚才那个证书叫什么名字,就按个人不同作修改吧
   dh dh1024.pem,还记得那个迪菲·赫尔曼密钥么,这个就是加密的位数,建议1024位够了不要改
   server 10.8.0.0 255.255.255.0 ,vpn的虚拟ip地址池,自己定义吧,随便
   ifconfig-pool-persist ipp.txt ,这里,是记录ip的意思,就是说,如果一台电脑连接进来,分配了个虚拟ip了,这个ip会记录,那下次再连接时会再次把先前分配的ip给回客户端,不用再分配了,而记录的文件是ipp.txt

   至此,服务端配置完成了,其它的都可以不用动了(OpenVpn的默认配置做得真周到)

Now,配置客户端的ovpn文件了

OpenVpn配置与NAT共享上网


   client 定义OpenVpn使用客户端模式运行
   dev tap
   dev tun
   这里要注意了,如果服务端的配置是tap的话,那这里也一定要配置为tap,不然就连不上了
   proto tcp
   proto udp
   这里也是,如果服务端启用了tcp协议的话,这里也要使用tcp协议,必须相图
   remote my-server-1 1194
   remote my-server-2 1194
   这里是设定客户端连接的服务端地址,只要开启一个就可以了,如果是我这里的话,我就会填写

  1. remote 192.168.5.25 1194

OpenVpn配置与NAT共享上网


   这里和服务端说的一样,如果是我的情况的话,我就会填写为

  1. ca ca.crt

  2. cert tzming.crt

  3. key tzming.key

至此,客户端的文件也配置完成了

   接下来,把上面服务端所列出来的文件放到服务端的config文件夹中,把上面客户端所列出来的文件放到客户端的config文件夹中,如下图。

OpenVpn配置与NAT共享上网


8.启动OpenVpn服务

OpenVpn配置与NAT共享上网


   启动后,客户端中启动OpenVpn Gui版,然后右键点击Connect,会进行连接(当然,得先看看你的客户端能不能连接服务端),如下图

OpenVpn配置与NAT共享上网


   连接成功后,会隐藏连接窗口并提示

OpenVpn配置与NAT共享上网


至此,OpenVpn配置完成!

   但是!如果以这样的方式配置的话,你会发现,连接成功,却什么数据都没发送和接收,其实,以我们现在所配置的,仅仅是提供客户端与客户端之间的通讯,并没有做到NAT功能,所以,如果以这样,是不能共享上网的,接下来,配置NAT,这里要依赖到系统的地址与端口转发功能和虚埃路由功能。

9.NAT配置共享上网
   要地址转换,要有几个选决条件
   1).服务端开启了虚拟路由
   2).服务端开启了NAT
   3).OpenVpn服务端开启地址转发功能

   
第一步。开启服务器虚拟路由功能(如果之前开启了路由与远程访问的话,先禁用了)
   打开注册表,HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters
   把IPEnableRouter项从0改为1(如果本来就是1的话,说明你以前开启过路由与远程访问的NAT功能了)

第二步。打开CMD,执行netsh如下图

OpenVpn配置与NAT共享上网


OpenVpn配置与NAT共享上网
完成对本地连接的转换设置

OpenVpn配置与NAT共享上网


第三步,配置server.ovpn文件

OpenVpn配置与NAT共享上网

把图中的push "redirect-gateway def1 bypass-dhcp"的注释去掉(这里重要,不开启的话,怎么配NAT都不会生效的)

第四步,把服务中的“OpenVPN Service”和“Routing and Remote Access”服务设为“自动”

OpenVpn配置与NAT共享上网


第五步,重启服务器,至此,NAT共享上网设置完成!


OpenVpn配置与NAT共享上网

本文始发于微信公众号(T00ls):OpenVpn配置与NAT共享上网

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2016年12月1日06:58:09
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   OpenVpn配置与NAT共享上网https://cn-sec.com/archives/351159.html

发表评论

匿名网友 填写信息