如何用Windows VPS搭建VPN服务器

之前发过一篇《如何用Windows VPS搭建翻墙VPN》留言的朋友很多,都是在配置NAT的时候遇到客户机连接VPN后不能访问外网的问题。由于那篇文章引用了景德镇特产导致URL被屏蔽,下面重新整理发布一下(人比较懒,原文复制修改),总结了一些朋友在配置时遇到的问题和困惑,希望在这篇文章中得以解决。

最近从Photonvps.com 租了一台windows主机用来测试网站,512MB的内存,35GB的硬盘空间,每个月500GB的流量和2个独立IP地址。我感觉价格偏贵,不过售后服务还是蛮不错的,每次提交的ticket很快就会得到回复。

既然有两个IP当然不能浪费了,干脆做个windows VPN,当然一个IP也没问题。下面详细图文介绍如何用Windows VPS搭建VPN服务器。首先我们要保证vpn起用的条件“一停四开”
1.停止window自带的防火墙(windows firewall/internet connection sharing (ICS)服务
2.远程注册表服务(Remote Registry)必须开启
3.server服务 (Server)必须开启
4.route路由服务(Routing and Remote Access)必须开启
5.Workstation 服务必须开启
如果服务器是默认配置的情况下,只需要关闭防火墙就并设置启动方式为禁用。然后在管理工具中打开“路由和远程访问”在列出的本地服务器上点击右键,选择“配置并启用路由和远程访问”。

由于Windows VPS服务器是公网上的一台一般的服务器,不是具有路由功能的服务器,是单网卡的,所以这里选择“自定义配置”这里选“VPN访问”和“NAT/基本防火墙”。下一步,配置向导完成。


点击“是”,开始服务。看启动了VPN服务后,“路由和远程访问”的界面下面开始配置VPN服务器,在服务器上点击右键,选择 “属性”,在弹出的窗口中选择“IP”标签,在“IP地址指派”中选择“静态地址池”。这里有些朋友会问为什么不用DHCP,因为咱租的机器配置太低用DHCP会浪费不必要的资源。另外静态地址池中的地址是随便添的,只要是保留的私有IP就OK,不明白的朋友可以直接和我添一样的。

然后点击“添加”按钮设置IP地址范围,这个IP范围就是VPN局域网内部的虚拟IP地址范围,每个拨入到VPN的服务器都会分配到一个范围内的IP,在虚拟局域网中用这个IP相互访问。这里设置为 10.10.10.1-10.10.10.10,一共10个IP,默认的VPN服务器占用第一个IP,所以,10.10.10.1实际上就是这个VPN服务器在虚拟局域网的IP。
每个客户端拨入VPN服务器都需要有一个帐号,默认是 windows身份验证,所以要给每个需要拨入到VPN的客户端设置一个用户,并为这个用户制定一个固定的内部虚拟IP以便客户端之间相互访问。在管理工 具中的计算机管理里添加用户,这里以添加一个vpnuser用户为例:先新建一个叫“vpnuser”的用户,创建好后,查看这个用户的属性,在“拨入” 标签中做相应的设置,如图:


远程访问权限设置为“允许访问”,以允许这个用户通过VPN拨入服务器。点选“分配静态IP地址”,并设置一个VPN服务器中静态IP池范围内的一个IP 地址,这里设为10.10.10.10 。如果有多个客户端机器要接入VPN,请给每个客户端都新建一个用户,并设定一个虚拟IP地址,各个客户端都使用分配给自己的用户拨入VPN,这样各个客 户端每次拨入VPN后都会得到相同的IP。如果用户没设置为“分配静态IP地址”,客户端每次拨入到VPN,VPN服务器会随机给这个客户端分配一个范围 内的IP。这里有的朋友问可不可以不分配静态IP地址,答案是当然可以,分配静态IP地址是为了方便统计每个用户的所使用的VPN流量。

至此,客户端就可以直接通过windows连接向导连接VPN服务器了,但是服务器还没有完全配置完,这里需要特别说明一下:我们搭建VPN服务器的目的是¥翻¥墙¥,而不是访问服务器所在的内网。如果仅仅是为了访问内网资源而搭建VPN请看《windows2003架设VPN穿越Juniper防火墙设置步骤》这篇文章介绍了用Windows2003搭建VPN需要注意的细节及通过VPN跨网段访问内网资源的设置。

再回到路由和远程控制,找到“NAT/基本防火墙”右键点击新建接口并选择本地区域链接。这里是最关键的哦,也是好多朋友配置出错的地方,前面可以完全按照我的来配置,这里就需要根据自己的环境来配置了。如图:

在NAT/基本防火墙设置中选择公共接口链接到Internet,并在这个接口上启用NAT。如图:

选择IP地址池选项卡,将ISP也就是你的主机供应商分配给的公网IP地址添上。注意!!!就是这里了!好多朋友不知道这里的IP是什么,这个IP是你主机商分配给你的,如果只有一个IP就添你主机的IP,掩码也必须是主机商提供的,可不能写我的掩码(MASK)哦,不然连接VPN的客户机会找不到外网网关,就不能访问外网了。如果是两个可以都添,也可以随便选一个添。如图:

为了维护起来方便,我们可以将VPN用户名和IP绑定起来,也就说每个用户连接VPN会分到固定的IP地址,点击预留IP将公网IP和私有IP进行 绑定,我刚刚建立了一个vpnuser的用户并给此用户分配了私有IP:10.10.10.10 那么我就把这个私有IP绑定在多余的IP地址上。如果你有多个公网IP,这个配置能够实现每个用户每次拨入VPN后都会得到一个固定的公网IP。如图:

OK!到这里VPN就配置完成了。如果还遇到问题请描述清楚留言!

《如何用Windows VPS搭建VPN服务器》有46个想法

  1. VPN配置好了如何使用呢?

    2.远程注册表服务(Remote Registry)必须开启
    3.server服务 (Server)必须开启
    5.Workstation 服务必须开启

    这3个服务怎样确认已经开启呢?

    多谢博主解惑

  2. 你好, 用了你的方法果然可以翻墙了~
    不过还有一个问题, 这种方法似乎只能使一个账号登陆VPN翻墙, 因为为一个内网地址保留了公用地址
    如果想要用多个账号登陆之后都可以翻墙需要怎么做呢?
    我的邮箱是bjutales@hotmail.com
    QQ是335256702
    如果方便希望向你请教, 谢谢!

      1. 我将账户的”拨入”选项卡中的分配静态IP地址取消掉了, 地址池中的保留公用地址删除
        然后连上VPN后就无法ping通外网了
        是我的设置哪里不对吗?

      2. 我将账户的”拨入”选项卡中的分配静态IP地址取消掉了, 删除地址池中的保留公用地址
        然后连上VPN后就无法ping通外网了
        是我的设置哪里不对吗?

        1. 只内网设置地址池,别设置用户静态IP(第四张图一般不用设置)。用户拨入时会自动获取预先设置的IP地址池中的IP,这样多地登陆就是不同的内网IP。你可能把NAT地址池的内容删了,那个地方必须设置ISP提供的IP地址,这样拨入VPN的用户才能有公网地址达到翻墙的目的。

          1. 我还是把我的设置详细说一下吧, 可能其他哪个环节出问题了
            NAT/基本防火墙地址池按照ipconfig命令得来的, 起始地址为50.115.44.107, 掩码255.255.255.240, 结束地址是控件自动算出的50.115.44.111
            没有添加保留公用地址
            路由和远程访问中服务器的静态地址池设置为起始10.10.10.1, 结束10.10.10.20, 地址数20 (这里应该就是内网IP地址了吧)
            账户的静态IP地址关闭.
            VPN连接后可以ping通10.10.10.1 (这应该是VPN服务器), 自己的IP是10.10.10.9
            但是此时就ping不同外网了
            会不会是因为没有设置保留地址, 导致NAT不通呢? 谢谢

    1. 首先10.10.10.2是个IP地址不是网段 掩码自然是全255 。NAT地址池中的IP地址必须是你主机能使用的IP地址 你可以看下ISP给你提供的地址,例如我的主机商分给我的IP是两个,其中一个添加到网卡上,另外一个添加到NAT地址池,当然也可以两个都添加到地址池,我注意的你添加到地址池中的IP不是一个是多个,你确定那些IP都是ISP分配给你的吗?

      1. ISP只给我一个IP, IPV4的属性都是静态的, 给我设好了的.
        设置里给我设置的IP是50.115.44.107, 掩码是255.255.255.240
        如果我的地址池设置为
        起始50.115.44.107
        掩码255.255.255.255
        结束50.115.44.107
        然后就连不到外网了

        1. 掩码必须是ISP提供的,不要按照我的掩码来写。如果之前设置成功,也能正常翻墙,只是想实现同一用户多地同时登陆的话,试试用户不绑定内网IP(图4不设置),其他设置不变。我没测试过,你可以找几个朋友一起登陆试试看看能不能同时登陆。

          1. 好的 谢谢~
            我这试出的结果是, 只要没分配到保留公用地址中的内网IP, 就连不到外网了
            我再试下^^

  3. 我按照你的方法去配置了,链接vpn后只能上qq,发现DNS不生效了,只能访问ip地址。请问是什么原因呢

  4. 我是单网卡,单外网IP。按照你这样的设置后,DNS无效,ping任何域名都是无法解析。但其他非依赖域名的软件可以使用。请问什么原因呢?

  5. 我根据此方法去搭建vpn,最后出现一个情况,我的ios和mac连接成功,约三分钟左右,出现网络不通现象,需要手动断开vpn重连,然后又是几分钟后问题重现。请问是什么回事呢?

  6. 我根据你的方法设置,用win系统的电脑接入vpn完全没有问题,就是出现用iphone,mac电脑接入就出现问题。连接3分钟左右,出现没有流量,能ping通的。就是浏览网站时没有流量。请问这个是什么问题呢?是否设置没有兼顾到mac系统?

  7. 我按照您的教程在VPS上搭建了VPN,用电脑连接VPN显示是连接成功的,但是上网IP还是没有变化,很奇怪,我在百度上面查了很多都没有用,能否交流指导下?我的QQ:289073187

  8. 您好。非常感谢你的文章。我照着操作了几次,但始终是VPN800,网上搜了很多资料,还是没解决。请问能帮助我一下吗?

  9. 请教楼主, 我用同样的方式架设了VPN之后. 已经可以通过VPN上网了, 但是无法访问https协议的网站. 这是怎么回事? 如何处理 ?

  10. 请问一下,如果我想将现有服务器做VPN,其中一个条件是要关了防火墙,因为服务器同时还放了网站的,这样是否会很不安全呢?还有没其他办法呢(如设置防火墙规则之类)?谢啦!

  11. 四大服务已经默认开启. 防火墙因为已经开启route 的原因,自动关闭了.
    创建好用户之后, 分配了一个 静态IP 10.10.10.xx
    然后完全按照楼主的教程来. 特地将 公网IP 分配给了 唯一的用户IP , 客户端可以正常连接VPN , 但是无法连接外网, 无法实现cross fire .

    请教楼主, 是不是还需要哪些配置才能上网啊?

  12. 获取不到默认网关怎么办?碰到了客户机不获取默认网关就能上网,但是获取默认网关时得不到服务器的外网网关,得到的是个0,0,0,0

  13. 客户端通过VPN成功连接,但是无法访问网络。
    在服务器段显示的是 远程访问客户端,即连接后的数据并没有通过NAT协议转发,因此无法访问网络,该如何解决?

发表评论

电子邮件地址不会被公开。 必填项已用*标注