工作原理编辑
通常情况下，VPN网关采取双网卡结构，外网卡使用公网IP接入Internet。
网络一(假定为公网internet)的终端A访问网络二(假定为公司内网)的终端B，其发出的访问数据包的目标地址为终端B的内部IP地址。
网络二的VPN网关在接收到终端A发出的访问数据包时对其目标地址进行检查，如果目标地址属于网络二的地址，则将该数据包进行封装，封装的方式根据所采用的VPN技术不同而不同，同时VPN网关会构造一个新VPN数据包，并将封装后的原数据包作为VPN数据包的负载，VPN数据包的目标地址为网络二的VPN网关的外部地址。
网络二的VPN网关将VPN数据包发送到Internet，由于VPN数据包的目标地址是网络一的VPN网关的外部地址，所以该数据包将被Internet中的路由正确地发送到网络二的VPN网关。
网络二的VPN网关对接收到的数据包进行检查，如果发现该数据包是从网络一的VPN网关发出的，即可判定该数据包为VPN数据包，并对该数据包进行解包处理。解包的过程主要是先将VPN数据包的包头剥离，再将数据包反向处理还原成原始的数据包。
网络二的VPN网关将还原后的原始数据包发送至目标终端B，由于原始数据包的目标地址是终端B的IP，所以该数据包能够被正确地发送到终端B。在终端B看来，它收到的数据包就和从终端A直接发过来的一样。
从终端B返回终端A的数据包处理过程和上述过程一样，这样两个网络内的终端就可以相互通讯了。
通过上述说明可以发现，在VPN网关对数据包进行处理时，有两个参数对于VPN通讯十分重要：原始数据包的目标地址（VPN目标地址）和远程VPN网关地址。根据VPN目标地址，VPN网关能够判断对哪些数据包进行VPN处理，对于不需要处理的数据包通常情况下可直接转发到上级路由；远程VPN网关地址则指定了处理后的VPN数据包发送的目标地址，即VPN隧道的另一端VPN网关地址。由于网络通讯是双向的，在进行VPN通讯时，隧道两端的VPN网关都必须知道VPN目标地址和与此对应的远端VPN网关地址。
分类标准编辑
根据不同的划分标准，VPN可以按几个标准进行分类划分：
1、按VPN的协议分类：
VPN的隧道协议主要有三种，PPTP、L2TP和IPSec，其中PPTP和L2TP协议工作在OSI模型的第二层，又称为二层隧道协议；IPSec是第三层隧道协议。
2、按VPN的应用分类：
（1）Access VPN（远程接入VPN）：客户端到网关，使用公网作为骨干网在设备之间传输VPN数据流量；
（2）Intranet VPN（内联网VPN）：网关到网关，通过公司的网络架构连接来自同公司的资源；
（3）Extranet VPN（外联网VPN）：与合作伙伴企业网构成Extranet，将一个公司与另一个公司的资源进行连接。
3、按所用的设备类型进行分类：
网络设备提供商针对不同客户的需求，开发出不同的VPN网络设备，主要为交换机、路由器和防火墙：
（1）路由器式VPN：路由器式VPN部署较容易，只要在路由器上添加VPN服务即可；
（2）交换机式VPN：主要应用于连接用户较少的VPN网络；
（3）防火墙式VPN：防火墙式VPN是最常见的一种VPN的实现方式，许多厂商都提供这种配置类型
4．按照实现原理划分：
（1）重叠VPN：此VPN需要用户自己建立端节点之间的VPN链路，主要包括：GRE、L2TP、IPSec等众多技术。
（2）对等VPN：由网络运营商在主干网上完成VPN通道的建立，主要包括MPLS、VPN技术。
实现方式编辑
VPN的实现有很多种方法，常用的有以下四种：
1．VPN服务器：在大型局域网中，可以通过在网络中心搭建VPN服务器的方法实现VPN。
2．软件VPN：可以通过专用的软件实现VPN。
3．硬件VPN：可以通过专用的硬件实现VPN。
4．集成VPN：某些硬件设备，如路由器、防火墙等，都含有VPN功能，但是一般拥有VPN功能的硬件设备通常都比没有这一功能的要贵。
常用VPN技术编辑
1．MPLS VPN是一种基于MPLS技术的IP VPN，是在网络路由和交换设备上应用MPLS（Multiprotocol Label Switching，多协议标记交换）技术，简化核心路由器的路由选择方式，利用结合传统路由技术的标记交换实现的IP虚拟专用网络（IP VPN）。MPLS优势在于将二层交换和三层路由技术结合起来，在解决VPN、服务分类和流量工程这些IP网络的重大问题时具有很优异的表现。因此，MPLS VPN在解决企业互连、提供各种新业务方面也越来越被运营商看好，成为在IP网络运营商提供增值业务的重要手段。MPLS VPN又可分为二层MPLS VPN（即MPLS L2 VPN）和三层MPLS VPN（即MPLS L3 VPN）。
2．SSL VPN是以HTTPS（Secure HTTP，安全的HTTP，即支持SSL的HTTP协议）为基础的VPN技术，工作在传输层和应用层之间。SSL VPN充分利用了SSL协议提供的基于证书的身份认证、数据加密和消息完整性验证机制，可以为应用层之间的通信建立安全连接。SSL VPN广泛应用于基于Web的远程安全接入，为用户远程访问公司内部网络提供了安全保证。
3．IPSec VPN是基于IPSec协议的VPN技术，由IPSec协议提供隧道安全保障。IPSec是一种由IETF设计的端到端的确保基于IP通讯的数据安全性的机制。它为Internet上传输的数据提供了高质量的、可互操作的、基于密码学的安全保证。
常见问题编辑
错误691：提示“由于域上的用户名和/或密码无效而拒绝访问”
一般的原因是VPN连接时输入的账户和/或密码不正确，或是没有使用VPN服务的权限。
VPN一个账号默认仅限一台电脑使用，检查您的用户名有无登录重复。
若您是在使用的途中掉线了，不要急着再次连接，请耐心等待几分钟。
若还是提示错误，请联系网络管理员。
错误691：提示“端口已断开连接”
市面上有一小部分的路由器对VPN支持不好，从而引起错误691、只能连接几台机、经常掉线等多种问题，有时候还会出现错误800。原因是路由器采用NAT方式，不能让VPN协议穿透。
如果计算机中开启了系统防火墙，可以先关闭后再重试。
如果偶尔出现，重拨几次，或者重新启动计算机及路由器后再重试。
如果是通过局域网或者通过路由器上网的用户，请网络管理员在服务器或者路由器上打开UDP端口1701~1704。
如果路由器中不能设置，可以尝试将计算机直接连到外网，用单机拨号方式连接互联网，再重试VPN拨号。
部分网络如校园网、广电网、长城宽带、宽带通，容易出现691错误，需要与网络接入部门联系。
安装了简化版的操作系统容易缺少相关组件，可以下载安装错误691注册表文件。
错误721：提示“远程计算机没反应”
这种情况可能是网络延迟造成的，可以多连几次试试，如果还是不行，可以尝试以下解决方法：
单击“开始”，然后单击“运行”。
在“运行”中，键入regedit.exe，然后单击“确定”。
在注册表编辑器中，找到以下子项：HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Class/{4D36E972-E325-11CE-BFC1-08002bE10318}/<000x>，其中<000x>是WAN微型端口（PPTP）驱动程序的网络适配器。
在“编辑”菜单上，指向“新建”，然后单击“DWORD 值”。
键入ValidateAddress，然后按 Enter。该值的默认设置为“1”（打开）；因此，您可以通过将其设置为“0”将其关闭。
退出注册表编辑器。
重新启动计算机。
错误742/741：提示“远程服务器不支持加密”
选择VPN连接，右键属性，点击安全。
在数据加密项选择“没有加密也可以连接”（Win7下点击网络共享中心—更改适配器—点击VPN连接图标—查看属性—安全数据加密—选择“没有加密也可以连接”）。
错误800：提示是“不能建立VPN连接，VPN服务器不能到达”
如果计算机中开启了系统防火墙，可以先关闭后再重试。
如果有安装路由器的用户，建议重启一下路由器。
部分网络如校园网、广电网、长城宽带、宽带通，容易出现800错误，需要与网络接入部门联系。
桌面右键单击“我的电脑”或“计算机”，打开“管理”，在“服务和应用程序”中，点击“服务”，找到“IPsec Policy Agent”服务，检查有没有禁用该服务。如果为禁用状态则改为自动状态，启动该服务。
错误619
如果打开了防火墙（包括系统自带的）：关闭防火墙，或者设置防火墙允许UDP 1701端口。
使用路由器上网：不使用路由器，或者映射UDP 1701端口。
如果无以上两种现象存在，但是还出现619错误：关闭所有正在使用网络的软件，重新启动计算机然后重新进行连接。
连上国外VPN后打开国内网页速度很慢
因为连接上了VPN的国外线路，本地网络出口已经变更为了国家带宽出口，因此在连接VPN的状态下访问国内的网页速度是比较慢的，可简单理解成：因为线路的传输需要从国内到国外，再从国外返回国内。而如果是访问国外网页的话，此时线路方式从国内直接传输到国外是相对最快的。而且还取决于您所选的线路距离，如果您选择的是美国的线路，那么访问国内的网页肯定较慢。
移动终端连接不上
当前网络是3G网络：3G网络通常都不稳定，不保证每次都可以连接上。
如果正在办公室使用公司的无线网络但连不上VPN或发生无法响应PPTP服务器错误：请详细咨询相关人员所处的网络宽带服务商是否支持VPN，其次看所处的网络路由器是否禁止了VPN端口。
电脑上可以连接VPN，但手机就不行：请确认电脑中的VPN是否处于“正在连接”的状态，如果是，请先断开电脑中的，再次连接手机试试。请注意一个账号不能同时登录在两个设备中。
错误789
连接尝试失败，因为安全层在初始化与远程计算机的协商时遇到一个处理错误
1. 单击“开始”，单击“运行”，键入“regedit”，然后单击“确定”
2. 找到下面的注册表子项，然后单击它：
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rasman\Parameters
3. 在“编辑”菜单上，单击“新建”->“DWORD值”
4. 在“名称”框中，键入“ProhibitIpSec”
5. 在“数值数据”框中，键入“1”，然后单击“确定”
6. 退出注册表编辑器，然后重新启动计算机
评价编辑
优点

VPN能够让移动员工、远程员工、商务合作伙伴和其他人利用本地可用的高速宽带网连接（如DSL、有线电视或者WiFi网络）连接到企业网络。此外，高速宽带网连接提供一种成本效率高的连接远程办公室的方法。
设计良好的宽带VPN是模块化的和可升级的。VPN能够让应用者使用一种很容易设置的互联网基础设施，让新的用户迅速和轻松地添加到这个网络。这种能力意味着企业不用增加额外的基础设施就可以提供大量的容量和应用。
VPN能提供高水平的安全，使用高级的加密和身份识别协议保护数据避免受到窥探，阻止数据窃贼和其他非授权用户接触这种数据。
完全控制，虚拟专用网使用户可以利用ISP的设施和服务，同时又完全掌握着自己网络的控制权。用户只利用ISP提供的网络资源，对于其它的安全设置、网络管理变化可由自己管理。在企业内部也可以自己建立虚拟专用网。
缺点

企业不能直接控制基于互联网的VPN的可靠性和性能。机构必须依靠提供VPN的互联网服务提供商保证服务的运行。这个因素使企业与互联网服务提供商签署一个服务级协议非常重要，要签署一个保证各种性能指标的协议。
企业创建和部署VPN线路并不容易。这种技术需要高水平地理解网络和安全问题，需要认真的规划和配置。因此，选择互联网服务提供商负责运行VPN的大多数事情是一个好主意。
不同厂商的VPN产品和解决方案总是不兼容的，因为许多厂商不愿意或者不能遵守VPN技术标准。因此，混合使用不同厂商的产品可能会出现技术问题。另一方面，使用一家供应商的设备可能会提高成本。
当使用无线设备时，VPN有安全风险。在接入点之间漫游特别容易出问题。当用户在接入点之间漫游的时候，任何使用高级加密技术的解决方案都可能被攻破。
各个系统下VPN的登陆配置编辑
Windows XP

建立一个新连接；
选择“连接到我工作的地方的网络”；
选择“虚拟专用网络连接”；
设定连接名称（例如：VPN）；
输入主机名称或公网IP地址；
完成新增连接，勾选“将这个连接的快捷方式加到我的桌面”（以便日后连接）；
输入账号，密码，即可连接。
Windows 7

在画面右下角，点选网络连接，然后选择“打开网络共享中心”；
在弹出的对话窗口中，选择“设置新的连接或网络”；
选择“连接到工作区”，然后选择“使用我的Internet连接（VPN），通过Internet使用虚拟专用网络（VPN）来连接”，然后单击“我将稍后设置Internet连接”；
在“Internet 地址”里，填上VPN提供的IP地址。填好IP后，其它东西都不用管它，直接点击下一步。目标名称填写“VPN连接”；
填VPN的用户名和密码，先不要填，点“创建”；
到这里就完成的连接设置导向。点击“关闭”。；
回到桌面右键点击“网络”->“属性”，再点击一下左边的“更改适配器设置”；
找到刚才建好的“VPN连接”并双击打开；
填写提供的VPN用户名和密码，“域”可以不用填写。然后点击属性->安全；
在“数据加密”这一项选中“可选加密（没有加密也可以连接）”选好后点击“确定”。VPN类型自动，使用这些协议选择CHAP，MS-CHAP v2；
整个Windows7 VPN过程都设置完成了。点击“连接”就可以了。
Ubuntu

1.画面右上角最右端图标单击，选择“系统设置”
2.选择“网络”，选择添加网络，接口VPN，创建。
Android

打开手机主菜单，选择“设置”；
选择“无线和网络”；
选择“虚拟专用网设置”；
选择“添加虚拟专用网”；
选择PPTP方式；
输入虚拟专用网名称（如VPN）；
填写服务器域名，点击“确定”。然后按menu键，保存设置；
点击打开刚刚建好的连接，填写用户名和密码，点击“连接”。
iOS

点击桌面上的“设置”图标进入设置；
点击“通用”进入通用设置；
点击“网络”，进入网络设置；
点击“VPN”进入设置；
点击“添加VPN配置”；
在协议类型上选择“PPTP”，在“描述”栏中填入“VPN”，在服务器栏中填入服务器域名，在账户和密码栏中填入用户名和密码，其他设置保持不变，然后点击“存储”。；
点击“VPN”开关，就会开启连接，连接成功后，右上角会出现小图标。
OS X

从任务栏菜单打开系统设置，选择“网络”；
在新对话框中选择“添加”，然后从下拉菜单选择“VPN”；
从VPN类型下拉菜单中选择PPTP。填写服务名称，点击“创建”按钮；
在配置下拉菜单中选择“增加配置”；
填写服务器地址，用户名；
点击“认证配置”按钮，在弹出的对话框中选择“密码”单选框，并输入密码；
回到主设置框，点击“应用”保存设置即可。
相关法律法规编辑
2003年4月，信息产业部颁发了《电信业务分类目录》，取消了国际电信业务的分类，同时将虚拟专用网业务自基础电信业务中分离出来，成为独立的增值电信业务分类。但是此处的“虚拟专用网”概念与行业内的VPN业务是不一样的。新的《电信业务分类目录》中对该分类的解释是：国内因特网虚拟专用网业务（IP-VPN）是指经营者利用自有的或租用公用因特网网络资源，采用TCP/IP协议，为国内用户定制因特网闭合用户群网络的服务。这种分类的解释强调了两个特点，一个是利用因特网网络资源，一个是采用TCP/IP协议。这种解释是与当时的市场状况所对应的，当时关注的是基于互连网的IPSec VPN，虽然该解释可以基本涵盖后出现的SSL VPN模式，但并没有关注MPLS VPN。
2003年8月，信息产业部发布《关于组织开展国内多方通信服务等三项电信业务商用试验的通知》，就“国内多方通信服务业务”、“在线数据处理与交易处理业务”、“国内因特网虚拟专用网业务”等三项增值电信业务组织开展商用试验，有效期至2004年8月底。
2004年11月，信息产业部发布《关于继续开展国内多方通信服务等三项增值电信业务商用试验的通告》，决定将以上三项增值电信业务商用试验期延长一年，至2005年8月31日。
2006年1月，信息产业部发布《关于两项增值电信业务及国内多方通信服务的通告》，正式开放“国内因特网虚拟专用网业务”和“在线数据处理与交易处理业务”两项增值电信业务，上述两项增值电信业务由商用试验转为正式商用。
2008年，正式颁发IP-VPN业务牌照。名为IPSec VPN的中国“国内因特网虚拟专用网”增值电信业务许可证自其诞生之日起即以MPLS VPN为发展方向，导致VPN市场无规可循，实际上是在“灰色运营”。
2013年，工业与信息化部公布的《电信业务分类目录（征求意见稿）》中仍然没有对此作出任何改变。
2015年1月27日，工信部回应VPN被封事件，表示一些不良信息应该按照中国法律进行管理。[1]
工信部此前发布规定，在中国提供VPN服务的公司必须登记注册，否则将“不会受到中国法律的保护”工作原理编辑
通常情况下，VPN网关采取双网卡结构，外网卡使用公网IP接入Internet。
网络一(假定为公网internet)的终端A访问网络二(假定为公司内网)的终端B，其发出的访问数据包的目标地址为终端B的内部IP地址。
网络二的VPN网关在接收到终端A发出的访问数据包时对其目标地址进行检查，如果目标地址属于网络二的地址，则将该数据包进行封装，封装的方式根据所采用的VPN技术不同而不同，同时VPN网关会构造一个新VPN数据包，并将封装后的原数据包作为VPN数据包的负载，VPN数据包的目标地址为网络二的VPN网关的外部地址。
网络二的VPN网关将VPN数据包发送到Internet，由于VPN数据包的目标地址是网络一的VPN网关的外部地址，所以该数据包将被Internet中的路由正确地发送到网络二的VPN网关。
网络二的VPN网关对接收到的数据包进行检查，如果发现该数据包是从网络一的VPN网关发出的，即可判定该数据包为VPN数据包，并对该数据包进行解包处理。解包的过程主要是先将VPN数据包的包头剥离，再将数据包反向处理还原成原始的数据包。
网络二的VPN网关将还原后的原始数据包发送至目标终端B，由于原始数据包的目标地址是终端B的IP，所以该数据包能够被正确地发送到终端B。在终端B看来，它收到的数据包就和从终端A直接发过来的一样。
从终端B返回终端A的数据包处理过程和上述过程一样，这样两个网络内的终端就可以相互通讯了。
通过上述说明可以发现，在VPN网关对数据包进行处理时，有两个参数对于VPN通讯十分重要：原始数据包的目标地址（VPN目标地址）和远程VPN网关地址。根据VPN目标地址，VPN网关能够判断对哪些数据包进行VPN处理，对于不需要处理的数据包通常情况下可直接转发到上级路由；远程VPN网关地址则指定了处理后的VPN数据包发送的目标地址，即VPN隧道的另一端VPN网关地址。由于网络通讯是双向的，在进行VPN通讯时，隧道两端的VPN网关都必须知道VPN目标地址和与此对应的远端VPN网关地址。
分类标准编辑
根据不同的划分标准，VPN可以按几个标准进行分类划分：
1、按VPN的协议分类：
VPN的隧道协议主要有三种，PPTP、L2TP和IPSec，其中PPTP和L2TP协议工作在OSI模型的第二层，又称为二层隧道协议；IPSec是第三层隧道协议。
2、按VPN的应用分类：
（1）Access VPN（远程接入VPN）：客户端到网关，使用公网作为骨干网在设备之间传输VPN数据流量；
（2）Intranet VPN（内联网VPN）：网关到网关，通过公司的网络架构连接来自同公司的资源；
（3）Extranet VPN（外联网VPN）：与合作伙伴企业网构成Extranet，将一个公司与另一个公司的资源进行连接。
3、按所用的设备类型进行分类：
网络设备提供商针对不同客户的需求，开发出不同的VPN网络设备，主要为交换机、路由器和防火墙：
（1）路由器式VPN：路由器式VPN部署较容易，只要在路由器上添加VPN服务即可；
（2）交换机式VPN：主要应用于连接用户较少的VPN网络；
（3）防火墙式VPN：防火墙式VPN是最常见的一种VPN的实现方式，许多厂商都提供这种配置类型
4．按照实现原理划分：
（1）重叠VPN：此VPN需要用户自己建立端节点之间的VPN链路，主要包括：GRE、L2TP、IPSec等众多技术。
（2）对等VPN：由网络运营商在主干网上完成VPN通道的建立，主要包括MPLS、VPN技术。
实现方式编辑
VPN的实现有很多种方法，常用的有以下四种：
1．VPN服务器：在大型局域网中，可以通过在网络中心搭建VPN服务器的方法实现VPN。
2．软件VPN：可以通过专用的软件实现VPN。
3．硬件VPN：可以通过专用的硬件实现VPN。
4．集成VPN：某些硬件设备，如路由器、防火墙等，都含有VPN功能，但是一般拥有VPN功能的硬件设备通常都比没有这一功能的要贵。
常用VPN技术编辑
1．MPLS VPN是一种基于MPLS技术的IP VPN，是在网络路由和交换设备上应用MPLS（Multiprotocol Label Switching，多协议标记交换）技术，简化核心路由器的路由选择方式，利用结合传统路由技术的标记交换实现的IP虚拟专用网络（IP VPN）。MPLS优势在于将二层交换和三层路由技术结合起来，在解决VPN、服务分类和流量工程这些IP网络的重大问题时具有很优异的表现。因此，MPLS VPN在解决企业互连、提供各种新业务方面也越来越被运营商看好，成为在IP网络运营商提供增值业务的重要手段。MPLS VPN又可分为二层MPLS VPN（即MPLS L2 VPN）和三层MPLS VPN（即MPLS L3 VPN）。
2．SSL VPN是以HTTPS（Secure HTTP，安全的HTTP，即支持SSL的HTTP协议）为基础的VPN技术，工作在传输层和应用层之间。SSL VPN充分利用了SSL协议提供的基于证书的身份认证、数据加密和消息完整性验证机制，可以为应用层之间的通信建立安全连接。SSL VPN广泛应用于基于Web的远程安全接入，为用户远程访问公司内部网络提供了安全保证。
3．IPSec VPN是基于IPSec协议的VPN技术，由IPSec协议提供隧道安全保障。IPSec是一种由IETF设计的端到端的确保基于IP通讯的数据安全性的机制。它为Internet上传输的数据提供了高质量的、可互操作的、基于密码学的安全保证。
常见问题编辑
错误691：提示“由于域上的用户名和/或密码无效而拒绝访问”
一般的原因是VPN连接时输入的账户和/或密码不正确，或是没有使用VPN服务的权限。
VPN一个账号默认仅限一台电脑使用，检查您的用户名有无登录重复。
若您是在使用的途中掉线了，不要急着再次连接，请耐心等待几分钟。
若还是提示错误，请联系网络管理员。
错误691：提示“端口已断开连接”
市面上有一小部分的路由器对VPN支持不好，从而引起错误691、只能连接几台机、经常掉线等多种问题，有时候还会出现错误800。原因是路由器采用NAT方式，不能让VPN协议穿透。
如果计算机中开启了系统防火墙，可以先关闭后再重试。
如果偶尔出现，重拨几次，或者重新启动计算机及路由器后再重试。
如果是通过局域网或者通过路由器上网的用户，请网络管理员在服务器或者路由器上打开UDP端口1701~1704。
如果路由器中不能设置，可以尝试将计算机直接连到外网，用单机拨号方式连接互联网，再重试VPN拨号。
部分网络如校园网、广电网、长城宽带、宽带通，容易出现691错误，需要与网络接入部门联系。
安装了简化版的操作系统容易缺少相关组件，可以下载安装错误691注册表文件。
错误721：提示“远程计算机没反应”
这种情况可能是网络延迟造成的，可以多连几次试试，如果还是不行，可以尝试以下解决方法：
单击“开始”，然后单击“运行”。
在“运行”中，键入regedit.exe，然后单击“确定”。
在注册表编辑器中，找到以下子项：HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Class/{4D36E972-E325-11CE-BFC1-08002bE10318}/<000x>，其中<000x>是WAN微型端口（PPTP）驱动程序的网络适配器。
在“编辑”菜单上，指向“新建”，然后单击“DWORD 值”。
键入ValidateAddress，然后按 Enter。该值的默认设置为“1”（打开）；因此，您可以通过将其设置为“0”将其关闭。
退出注册表编辑器。
重新启动计算机。
错误742/741：提示“远程服务器不支持加密”
选择VPN连接，右键属性，点击安全。
在数据加密项选择“没有加密也可以连接”（Win7下点击网络共享中心—更改适配器—点击VPN连接图标—查看属性—安全数据加密—选择“没有加密也可以连接”）。
错误800：提示是“不能建立VPN连接，VPN服务器不能到达”
如果计算机中开启了系统防火墙，可以先关闭后再重试。
如果有安装路由器的用户，建议重启一下路由器。
部分网络如校园网、广电网、长城宽带、宽带通，容易出现800错误，需要与网络接入部门联系。
桌面右键单击“我的电脑”或“计算机”，打开“管理”，在“服务和应用程序”中，点击“服务”，找到“IPsec Policy Agent”服务，检查有没有禁用该服务。如果为禁用状态则改为自动状态，启动该服务。
错误619
如果打开了防火墙（包括系统自带的）：关闭防火墙，或者设置防火墙允许UDP 1701端口。
使用路由器上网：不使用路由器，或者映射UDP 1701端口。
如果无以上两种现象存在，但是还出现619错误：关闭所有正在使用网络的软件，重新启动计算机然后重新进行连接。
连上国外VPN后打开国内网页速度很慢
因为连接上了VPN的国外线路，本地网络出口已经变更为了国家带宽出口，因此在连接VPN的状态下访问国内的网页速度是比较慢的，可简单理解成：因为线路的传输需要从国内到国外，再从国外返回国内。而如果是访问国外网页的话，此时线路方式从国内直接传输到国外是相对最快的。而且还取决于您所选的线路距离，如果您选择的是美国的线路，那么访问国内的网页肯定较慢。
移动终端连接不上
当前网络是3G网络：3G网络通常都不稳定，不保证每次都可以连接上。
如果正在办公室使用公司的无线网络但连不上VPN或发生无法响应PPTP服务器错误：请详细咨询相关人员所处的网络宽带服务商是否支持VPN，其次看所处的网络路由器是否禁止了VPN端口。
电脑上可以连接VPN，但手机就不行：请确认电脑中的VPN是否处于“正在连接”的状态，如果是，请先断开电脑中的，再次连接手机试试。请注意一个账号不能同时登录在两个设备中。
错误789
连接尝试失败，因为安全层在初始化与远程计算机的协商时遇到一个处理错误
1. 单击“开始”，单击“运行”，键入“regedit”，然后单击“确定”
2. 找到下面的注册表子项，然后单击它：
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rasman\Parameters
3. 在“编辑”菜单上，单击“新建”->“DWORD值”
4. 在“名称”框中，键入“ProhibitIpSec”
5. 在“数值数据”框中，键入“1”，然后单击“确定”
6. 退出注册表编辑器，然后重新启动计算机
评价编辑
优点

VPN能够让移动员工、远程员工、商务合作伙伴和其他人利用本地可用的高速宽带网连接（如DSL、有线电视或者WiFi网络）连接到企业网络。此外，高速宽带网连接提供一种成本效率高的连接远程办公室的方法。
设计良好的宽带VPN是模块化的和可升级的。VPN能够让应用者使用一种很容易设置的互联网基础设施，让新的用户迅速和轻松地添加到这个网络。这种能力意味着企业不用增加额外的基础设施就可以提供大量的容量和应用。
VPN能提供高水平的安全，使用高级的加密和身份识别协议保护数据避免受到窥探，阻止数据窃贼和其他非授权用户接触这种数据。
完全控制，虚拟专用网使用户可以利用ISP的设施和服务，同时又完全掌握着自己网络的控制权。用户只利用ISP提供的网络资源，对于其它的安全设置、网络管理变化可由自己管理。在企业内部也可以自己建立虚拟专用网。
缺点

企业不能直接控制基于互联网的VPN的可靠性和性能。机构必须依靠提供VPN的互联网服务提供商保证服务的运行。这个因素使企业与互联网服务提供商签署一个服务级协议非常重要，要签署一个保证各种性能指标的协议。
企业创建和部署VPN线路并不容易。这种技术需要高水平地理解网络和安全问题，需要认真的规划和配置。因此，选择互联网服务提供商负责运行VPN的大多数事情是一个好主意。
不同厂商的VPN产品和解决方案总是不兼容的，因为许多厂商不愿意或者不能遵守VPN技术标准。因此，混合使用不同厂商的产品可能会出现技术问题。另一方面，使用一家供应商的设备可能会提高成本。
当使用无线设备时，VPN有安全风险。在接入点之间漫游特别容易出问题。当用户在接入点之间漫游的时候，任何使用高级加密技术的解决方案都可能被攻破。
各个系统下VPN的登陆配置编辑
Windows XP

建立一个新连接；
选择“连接到我工作的地方的网络”；
选择“虚拟专用网络连接”；
设定连接名称（例如：VPN）；
输入主机名称或公网IP地址；
完成新增连接，勾选“将这个连接的快捷方式加到我的桌面”（以便日后连接）；
输入账号，密码，即可连接。
Windows 7

在画面右下角，点选网络连接，然后选择“打开网络共享中心”；
在弹出的对话窗口中，选择“设置新的连接或网络”；
选择“连接到工作区”，然后选择“使用我的Internet连接（VPN），通过Internet使用虚拟专用网络（VPN）来连接”，然后单击“我将稍后设置Internet连接”；
在“Internet 地址”里，填上VPN提供的IP地址。填好IP后，其它东西都不用管它，直接点击下一步。目标名称填写“VPN连接”；
填VPN的用户名和密码，先不要填，点“创建”；
到这里就完成的连接设置导向。点击“关闭”。；
回到桌面右键点击“网络”->“属性”，再点击一下左边的“更改适配器设置”；
找到刚才建好的“VPN连接”并双击打开；
填写提供的VPN用户名和密码，“域”可以不用填写。然后点击属性->安全；
在“数据加密”这一项选中“可选加密（没有加密也可以连接）”选好后点击“确定”。VPN类型自动，使用这些协议选择CHAP，MS-CHAP v2；
整个Windows7 VPN过程都设置完成了。点击“连接”就可以了。
Ubuntu

1.画面右上角最右端图标单击，选择“系统设置”
2.选择“网络”，选择添加网络，接口VPN，创建。
Android

打开手机主菜单，选择“设置”；
选择“无线和网络”；
选择“虚拟专用网设置”；
选择“添加虚拟专用网”；
选择PPTP方式；
输入虚拟专用网名称（如VPN）；
填写服务器域名，点击“确定”。然后按menu键，保存设置；
点击打开刚刚建好的连接，填写用户名和密码，点击“连接”。
iOS

点击桌面上的“设置”图标进入设置；
点击“通用”进入通用设置；
点击“网络”，进入网络设置；
点击“VPN”进入设置；
点击“添加VPN配置”；
在协议类型上选择“PPTP”，在“描述”栏中填入“VPN”，在服务器栏中填入服务器域名，在账户和密码栏中填入用户名和密码，其他设置保持不变，然后点击“存储”。；
点击“VPN”开关，就会开启连接，连接成功后，右上角会出现小图标。
OS X

从任务栏菜单打开系统设置，选择“网络”；
在新对话框中选择“添加”，然后从下拉菜单选择“VPN”；
从VPN类型下拉菜单中选择PPTP。填写服务名称，点击“创建”按钮；
在配置下拉菜单中选择“增加配置”；
填写服务器地址，用户名；
点击“认证配置”按钮，在弹出的对话框中选择“密码”单选框，并输入密码；
回到主设置框，点击“应用”保存设置即可。
相关法律法规编辑
2003年4月，信息产业部颁发了《电信业务分类目录》，取消了国际电信业务的分类，同时将虚拟专用网业务自基础电信业务中分离出来，成为独立的增值电信业务分类。但是此处的“虚拟专用网”概念与行业内的VPN业务是不一样的。新的《电信业务分类目录》中对该分类的解释是：国内因特网虚拟专用网业务（IP-VPN）是指经营者利用自有的或租用公用因特网网络资源，采用TCP/IP协议，为国内用户定制因特网闭合用户群网络的服务。这种分类的解释强调了两个特点，一个是利用因特网网络资源，一个是采用TCP/IP协议。这种解释是与当时的市场状况所对应的，当时关注的是基于互连网的IPSec VPN，虽然该解释可以基本涵盖后出现的SSL VPN模式，但并没有关注MPLS VPN。
2003年8月，信息产业部发布《关于组织开展国内多方通信服务等三项电信业务商用试验的通知》，就“国内多方通信服务业务”、“在线数据处理与交易处理业务”、“国内因特网虚拟专用网业务”等三项增值电信业务组织开展商用试验，有效期至2004年8月底。
2004年11月，信息产业部发布《关于继续开展国内多方通信服务等三项增值电信业务商用试验的通告》，决定将以上三项增值电信业务商用试验期延长一年，至2005年8月31日。
2006年1月，信息产业部发布《关于两项增值电信业务及国内多方通信服务的通告》，正式开放“国内因特网虚拟专用网业务”和“在线数据处理与交易处理业务”两项增值电信业务，上述两项增值电信业务由商用试验转为正式商用。
2008年，正式颁发IP-VPN业务牌照。名为IPSec VPN的中国“国内因特网虚拟专用网”增值电信业务许可证自其诞生之日起即以MPLS VPN为发展方向，导致VPN市场无规可循，实际上是在“灰色运营”。
2013年，工业与信息化部公布的《电信业务分类目录（征求意见稿）》中仍然没有对此作出任何改变。
2015年1月27日，工信部回应VPN被封事件，表示一些不良信息应该按照中国法律进行管理。[1]
工信部此前发布规定，在中国提供VPN服务的公司必须登记注册，否则将“不会受到中国法律的保护”工作原理编辑
通常情况下，VPN网关采取双网卡结构，外网卡使用公网IP接入Internet。
网络一(假定为公网internet)的终端A访问网络二(假定为公司内网)的终端B，其发出的访问数据包的目标地址为终端B的内部IP地址。
网络二的VPN网关在接收到终端A发出的访问数据包时对其目标地址进行检查，如果目标地址属于网络二的地址，则将该数据包进行封装，封装的方式根据所采用的VPN技术不同而不同，同时VPN网关会构造一个新VPN数据包，并将封装后的原数据包作为VPN数据包的负载，VPN数据包的目标地址为网络二的VPN网关的外部地址。
网络二的VPN网关将VPN数据包发送到Internet，由于VPN数据包的目标地址是网络一的VPN网关的外部地址，所以该数据包将被Internet中的路由正确地发送到网络二的VPN网关。
网络二的VPN网关对接收到的数据包进行检查，如果发现该数据包是从网络一的VPN网关发出的，即可判定该数据包为VPN数据包，并对该数据包进行解包处理。解包的过程主要是先将VPN数据包的包头剥离，再将数据包反向处理还原成原始的数据包。
网络二的VPN网关将还原后的原始数据包发送至目标终端B，由于原始数据包的目标地址是终端B的IP，所以该数据包能够被正确地发送到终端B。在终端B看来，它收到的数据包就和从终端A直接发过来的一样。
从终端B返回终端A的数据包处理过程和上述过程一样，这样两个网络内的终端就可以相互通讯了。
通过上述说明可以发现，在VPN网关对数据包进行处理时，有两个参数对于VPN通讯十分重要：原始数据包的目标地址（VPN目标地址）和远程VPN网关地址。根据VPN目标地址，VPN网关能够判断对哪些数据包进行VPN处理，对于不需要处理的数据包通常情况下可直接转发到上级路由；远程VPN网关地址则指定了处理后的VPN数据包发送的目标地址，即VPN隧道的另一端VPN网关地址。由于网络通讯是双向的，在进行VPN通讯时，隧道两端的VPN网关都必须知道VPN目标地址和与此对应的远端VPN网关地址。
分类标准编辑
根据不同的划分标准，VPN可以按几个标准进行分类划分：
1、按VPN的协议分类：
VPN的隧道协议主要有三种，PPTP、L2TP和IPSec，其中PPTP和L2TP协议工作在OSI模型的第二层，又称为二层隧道协议；IPSec是第三层隧道协议。
2、按VPN的应用分类：
（1）Access VPN（远程接入VPN）：客户端到网关，使用公网作为骨干网在设备之间传输VPN数据流量；
（2）Intranet VPN（内联网VPN）：网关到网关，通过公司的网络架构连接来自同公司的资源；
（3）Extranet VPN（外联网VPN）：与合作伙伴企业网构成Extranet，将一个公司与另一个公司的资源进行连接。
3、按所用的设备类型进行分类：
网络设备提供商针对不同客户的需求，开发出不同的VPN网络设备，主要为交换机、路由器和防火墙：
（1）路由器式VPN：路由器式VPN部署较容易，只要在路由器上添加VPN服务即可；
（2）交换机式VPN：主要应用于连接用户较少的VPN网络；
（3）防火墙式VPN：防火墙式VPN是最常见的一种VPN的实现方式，许多厂商都提供这种配置类型
4．按照实现原理划分：
（1）重叠VPN：此VPN需要用户自己建立端节点之间的VPN链路，主要包括：GRE、L2TP、IPSec等众多技术。
（2）对等VPN：由网络运营商在主干网上完成VPN通道的建立，主要包括MPLS、VPN技术。
实现方式编辑
VPN的实现有很多种方法，常用的有以下四种：
1．VPN服务器：在大型局域网中，可以通过在网络中心搭建VPN服务器的方法实现VPN。
2．软件VPN：可以通过专用的软件实现VPN。
3．硬件VPN：可以通过专用的硬件实现VPN。
4．集成VPN：某些硬件设备，如路由器、防火墙等，都含有VPN功能，但是一般拥有VPN功能的硬件设备通常都比没有这一功能的要贵。
常用VPN技术编辑
1．MPLS VPN是一种基于MPLS技术的IP VPN，是在网络路由和交换设备上应用MPLS（Multiprotocol Label Switching，多协议标记交换）技术，简化核心路由器的路由选择方式，利用结合传统路由技术的标记交换实现的IP虚拟专用网络（IP VPN）。MPLS优势在于将二层交换和三层路由技术结合起来，在解决VPN、服务分类和流量工程这些IP网络的重大问题时具有很优异的表现。因此，MPLS VPN在解决企业互连、提供各种新业务方面也越来越被运营商看好，成为在IP网络运营商提供增值业务的重要手段。MPLS VPN又可分为二层MPLS VPN（即MPLS L2 VPN）和三层MPLS VPN（即MPLS L3 VPN）。
2．SSL VPN是以HTTPS（Secure HTTP，安全的HTTP，即支持SSL的HTTP协议）为基础的VPN技术，工作在传输层和应用层之间。SSL VPN充分利用了SSL协议提供的基于证书的身份认证、数据加密和消息完整性验证机制，可以为应用层之间的通信建立安全连接。SSL VPN广泛应用于基于Web的远程安全接入，为用户远程访问公司内部网络提供了安全保证。
3．IPSec VPN是基于IPSec协议的VPN技术，由IPSec协议提供隧道安全保障。IPSec是一种由IETF设计的端到端的确保基于IP通讯的数据安全性的机制。它为Internet上传输的数据提供了高质量的、可互操作的、基于密码学的安全保证。
常见问题编辑
错误691：提示“由于域上的用户名和/或密码无效而拒绝访问”
一般的原因是VPN连接时输入的账户和/或密码不正确，或是没有使用VPN服务的权限。
VPN一个账号默认仅限一台电脑使用，检查您的用户名有无登录重复。
若您是在使用的途中掉线了，不要急着再次连接，请耐心等待几分钟。
若还是提示错误，请联系网络管理员。
错误691：提示“端口已断开连接”
市面上有一小部分的路由器对VPN支持不好，从而引起错误691、只能连接几台机、经常掉线等多种问题，有时候还会出现错误800。原因是路由器采用NAT方式，不能让VPN协议穿透。
如果计算机中开启了系统防火墙，可以先关闭后再重试。
如果偶尔出现，重拨几次，或者重新启动计算机及路由器后再重试。
如果是通过局域网或者通过路由器上网的用户，请网络管理员在服务器或者路由器上打开UDP端口1701~1704。
如果路由器中不能设置，可以尝试将计算机直接连到外网，用单机拨号方式连接互联网，再重试VPN拨号。
部分网络如校园网、广电网、长城宽带、宽带通，容易出现691错误，需要与网络接入部门联系。
安装了简化版的操作系统容易缺少相关组件，可以下载安装错误691注册表文件。
错误721：提示“远程计算机没反应”
这种情况可能是网络延迟造成的，可以多连几次试试，如果还是不行，可以尝试以下解决方法：
单击“开始”，然后单击“运行”。
在“运行”中，键入regedit.exe，然后单击“确定”。
在注册表编辑器中，找到以下子项：HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Class/{4D36E972-E325-11CE-BFC1-08002bE10318}/<000x>，其中<000x>是WAN微型端口（PPTP）驱动程序的网络适配器。
在“编辑”菜单上，指向“新建”，然后单击“DWORD 值”。
键入ValidateAddress，然后按 Enter。该值的默认设置为“1”（打开）；因此，您可以通过将其设置为“0”将其关闭。
退出注册表编辑器。
重新启动计算机。
错误742/741：提示“远程服务器不支持加密”
选择VPN连接，右键属性，点击安全。
在数据加密项选择“没有加密也可以连接”（Win7下点击网络共享中心—更改适配器—点击VPN连接图标—查看属性—安全数据加密—选择“没有加密也可以连接”）。
错误800：提示是“不能建立VPN连接，VPN服务器不能到达”
如果计算机中开启了系统防火墙，可以先关闭后再重试。
如果有安装路由器的用户，建议重启一下路由器。
部分网络如校园网、广电网、长城宽带、宽带通，容易出现800错误，需要与网络接入部门联系。
桌面右键单击“我的电脑”或“计算机”，打开“管理”，在“服务和应用程序”中，点击“服务”，找到“IPsec Policy Agent”服务，检查有没有禁用该服务。如果为禁用状态则改为自动状态，启动该服务。
错误619
如果打开了防火墙（包括系统自带的）：关闭防火墙，或者设置防火墙允许UDP 1701端口。
使用路由器上网：不使用路由器，或者映射UDP 1701端口。
如果无以上两种现象存在，但是还出现619错误：关闭所有正在使用网络的软件，重新启动计算机然后重新进行连接。
连上国外VPN后打开国内网页速度很慢
因为连接上了VPN的国外线路，本地网络出口已经变更为了国家带宽出口，因此在连接VPN的状态下访问国内的网页速度是比较慢的，可简单理解成：因为线路的传输需要从国内到国外，再从国外返回国内。而如果是访问国外网页的话，此时线路方式从国内直接传输到国外是相对最快的。而且还取决于您所选的线路距离，如果您选择的是美国的线路，那么访问国内的网页肯定较慢。
移动终端连接不上
当前网络是3G网络：3G网络通常都不稳定，不保证每次都可以连接上。
如果正在办公室使用公司的无线网络但连不上VPN或发生无法响应PPTP服务器错误：请详细咨询相关人员所处的网络宽带服务商是否支持VPN，其次看所处的网络路由器是否禁止了VPN端口。
电脑上可以连接VPN，但手机就不行：请确认电脑中的VPN是否处于“正在连接”的状态，如果是，请先断开电脑中的，再次连接手机试试。请注意一个账号不能同时登录在两个设备中。
错误789
连接尝试失败，因为安全层在初始化与远程计算机的协商时遇到一个处理错误
1. 单击“开始”，单击“运行”，键入“regedit”，然后单击“确定”
2. 找到下面的注册表子项，然后单击它：
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rasman\Parameters
3. 在“编辑”菜单上，单击“新建”->“DWORD值”
4. 在“名称”框中，键入“ProhibitIpSec”
5. 在“数值数据”框中，键入“1”，然后单击“确定”
6. 退出注册表编辑器，然后重新启动计算机
评价编辑
优点

VPN能够让移动员工、远程员工、商务合作伙伴和其他人利用本地可用的高速宽带网连接（如DSL、有线电视或者WiFi网络）连接到企业网络。此外，高速宽带网连接提供一种成本效率高的连接远程办公室的方法。
设计良好的宽带VPN是模块化的和可升级的。VPN能够让应用者使用一种很容易设置的互联网基础设施，让新的用户迅速和轻松地添加到这个网络。这种能力意味着企业不用增加额外的基础设施就可以提供大量的容量和应用。
VPN能提供高水平的安全，使用高级的加密和身份识别协议保护数据避免受到窥探，阻止数据窃贼和其他非授权用户接触这种数据。
完全控制，虚拟专用网使用户可以利用ISP的设施和服务，同时又完全掌握着自己网络的控制权。用户只利用ISP提供的网络资源，对于其它的安全设置、网络管理变化可由自己管理。在企业内部也可以自己建立虚拟专用网。
缺点

企业不能直接控制基于互联网的VPN的可靠性和性能。机构必须依靠提供VPN的互联网服务提供商保证服务的运行。这个因素使企业与互联网服务提供商签署一个服务级协议非常重要，要签署一个保证各种性能指标的协议。
企业创建和部署VPN线路并不容易。这种技术需要高水平地理解网络和安全问题，需要认真的规划和配置。因此，选择互联网服务提供商负责运行VPN的大多数事情是一个好主意。
不同厂商的VPN产品和解决方案总是不兼容的，因为许多厂商不愿意或者不能遵守VPN技术标准。因此，混合使用不同厂商的产品可能会出现技术问题。另一方面，使用一家供应商的设备可能会提高成本。
当使用无线设备时，VPN有安全风险。在接入点之间漫游特别容易出问题。当用户在接入点之间漫游的时候，任何使用高级加密技术的解决方案都可能被攻破。
各个系统下VPN的登陆配置编辑
Windows XP

建立一个新连接；
选择“连接到我工作的地方的网络”；
选择“虚拟专用网络连接”；
设定连接名称（例如：VPN）；
输入主机名称或公网IP地址；
完成新增连接，勾选“将这个连接的快捷方式加到我的桌面”（以便日后连接）；
输入账号，密码，即可连接。
Windows 7

在画面右下角，点选网络连接，然后选择“打开网络共享中心”；
在弹出的对话窗口中，选择“设置新的连接或网络”；
选择“连接到工作区”，然后选择“使用我的Internet连接（VPN），通过Internet使用虚拟专用网络（VPN）来连接”，然后单击“我将稍后设置Internet连接”；
在“Internet 地址”里，填上VPN提供的IP地址。填好IP后，其它东西都不用管它，直接点击下一步。目标名称填写“VPN连接”；
填VPN的用户名和密码，先不要填，点“创建”；
到这里就完成的连接设置导向。点击“关闭”。；
回到桌面右键点击“网络”->“属性”，再点击一下左边的“更改适配器设置”；
找到刚才建好的“VPN连接”并双击打开；
填写提供的VPN用户名和密码，“域”可以不用填写。然后点击属性->安全；
在“数据加密”这一项选中“可选加密（没有加密也可以连接）”选好后点击“确定”。VPN类型自动，使用这些协议选择CHAP，MS-CHAP v2；
整个Windows7 VPN过程都设置完成了。点击“连接”就可以了。
Ubuntu

1.画面右上角最右端图标单击，选择“系统设置”
2.选择“网络”，选择添加网络，接口VPN，创建。
Android

打开手机主菜单，选择“设置”；
选择“无线和网络”；
选择“虚拟专用网设置”；
选择“添加虚拟专用网”；
选择PPTP方式；
输入虚拟专用网名称（如VPN）；
填写服务器域名，点击“确定”。然后按menu键，保存设置；
点击打开刚刚建好的连接，填写用户名和密码，点击“连接”。
iOS

点击桌面上的“设置”图标进入设置；
点击“通用”进入通用设置；
点击“网络”，进入网络设置；
点击“VPN”进入设置；
点击“添加VPN配置”；
在协议类型上选择“PPTP”，在“描述”栏中填入“VPN”，在服务器栏中填入服务器域名，在账户和密码栏中填入用户名和密码，其他设置保持不变，然后点击“存储”。；
点击“VPN”开关，就会开启连接，连接成功后，右上角会出现小图标。
OS X

从任务栏菜单打开系统设置，选择“网络”；
在新对话框中选择“添加”，然后从下拉菜单选择“VPN”；
从VPN类型下拉菜单中选择PPTP。填写服务名称，点击“创建”按钮；
在配置下拉菜单中选择“增加配置”；
填写服务器地址，用户名；
点击“认证配置”按钮，在弹出的对话框中选择“密码”单选框，并输入密码；
回到主设置框，点击“应用”保存设置即可。
相关法律法规编辑
2003年4月，信息产业部颁发了《电信业务分类目录》，取消了国际电信业务的分类，同时将虚拟专用网业务自基础电信业务中分离出来，成为独立的增值电信业务分类。但是此处的“虚拟专用网”概念与行业内的VPN业务是不一样的。新的《电信业务分类目录》中对该分类的解释是：国内因特网虚拟专用网业务（IP-VPN）是指经营者利用自有的或租用公用因特网网络资源，采用TCP/IP协议，为国内用户定制因特网闭合用户群网络的服务。这种分类的解释强调了两个特点，一个是利用因特网网络资源，一个是采用TCP/IP协议。这种解释是与当时的市场状况所对应的，当时关注的是基于互连网的IPSec VPN，虽然该解释可以基本涵盖后出现的SSL VPN模式，但并没有关注MPLS VPN。
2003年8月，信息产业部发布《关于组织开展国内多方通信服务等三项电信业务商用试验的通知》，就“国内多方通信服务业务”、“在线数据处理与交易处理业务”、“国内因特网虚拟专用网业务”等三项增值电信业务组织开展商用试验，有效期至2004年8月底。
2004年11月，信息产业部发布《关于继续开展国内多方通信服务等三项增值电信业务商用试验的通告》，决定将以上三项增值电信业务商用试验期延长一年，至2005年8月31日。
2006年1月，信息产业部发布《关于两项增值电信业务及国内多方通信服务的通告》，正式开放“国内因特网虚拟专用网业务”和“在线数据处理与交易处理业务”两项增值电信业务，上述两项增值电信业务由商用试验转为正式商用。
2008年，正式颁发IP-VPN业务牌照。名为IPSec VPN的中国“国内因特网虚拟专用网”增值电信业务许可证自其诞生之日起即以MPLS VPN为发展方向，导致VPN市场无规可循，实际上是在“灰色运营”。
2013年，工业与信息化部公布的《电信业务分类目录（征求意见稿）》中仍然没有对此作出任何改变。
2015年1月27日，工信部回应VPN被封事件，表示一些不良信息应该按照中国法律进行管理。[1]
工信部此前发布规定，在中国提供VPN服务的公司必须登记注册，否则将“不会受到中国法律的保护”


Why `113`? Explain!


Comments are, of course, subjective.  My opinion is that I would like to see a comment following each one of the event type definitions ... not just the ones for external GPIO interrupts.  However, if the prevailing feeling is that the comments are distracting and serve no value, then I have no issue in removing them.


this is not inside of a container, so you don't have your magical $base, defined in one of the main JSPs


What is your motivation? What is your purpose? Can your program run faster with such change? You have to mention in GIT commit messages.


Pass **kwargs through, too. This probably needs to be changed eventually, since the anything that calls this interface will be logged to module 'vtdb_logger', line number 79 rather than the caller's module and line number. However, there isn't an easy way to fix this, so just make the **kwargs change.


Making it an option to ppcheck() seems reasonable, although that would mean
that sometimes ppcheck would return a plot and other times (just in this
case I guess) it would return a fitted model. If the various return types
aren't confusing then we could do that.

On Monday, October 12, 2015, bgoodri <notifications@github.com> wrote:

> We're going to expose it so users can call it, but I don't think calling it
> self_cleaning_oven() makes any sense either. Something like self_test() or
> coherence_test() is closer to what is actually happening. Maybe it should
> just be an option to ppcheck()?
>
> On Mon, Oct 12, 2015 at 6:47 PM, Bob Carpenter <notifications@github.com
> <javascript:_e(%7B%7D,'cvml','notifications@github.com');>>
> wrote:
>
> > Please, I beg you not to call it "self cleaning oven". It's
> > an even worse analogy than "burn in", because ovens self clean
> > by getting really hot --- not so much a cleaning as a trial by
> > fire.
> >
> > Call it XXX_test and make it part of your unit tests or regression
> > (pun intended) tests.
> >
> > - Bob
> >
> > > On Oct 12, 2015, at 6:02 PM, Jonah Gabry <notifications@github.com
> <javascript:_e(%7B%7D,'cvml','notifications@github.com');>>
> > wrote:
> > >
> > > I like self cleaning oven, but yeah self_cleaning_oven is probably not
> > the
> > > best function name. Although I suppose it's the right function name
> > > if we want to encourage the use of that terminology.
> > >
> > > Andrew, do you have a recommendation for what to call an R function
> > > implementing the self cleaning oven?
> > >
> > > On Monday, October 12, 2015, bgoodri <notifications@github.com
> <javascript:_e(%7B%7D,'cvml','notifications@github.com');>> wrote:
> > >
> > > > Yes. Andrew refers to this as the self-cleaning oven, but that
> doesn't
> > make
> > > > any sense as a name either.
> > > >
> > > > On Mon, Oct 12, 2015 at 5:19 PM, Jonah Gabry <
> notifications@github.com
> <javascript:_e(%7B%7D,'cvml','notifications@github.com');>
> > > > <javascript:_e(%7B%7D,'cvml','notifications@github.com
> <javascript:_e(%7B%7D,'cvml','notifications@github.com');>');>>
> > > > wrote:
> > > >
> > > > > sanity_check function
> > > > >
> > > > > @bgoodri I’m not sure what to call this function so it’s
> sanity_check
> > > > > at the moment, but is this more or less what you had in mind?
> > > > >
> > > > > ---
> > > > > Reply to this email directly or view it on GitHub:
> > > > >
> > > > >
> > > >
> >
> https://github.com/stan-dev/rstanarm/commit/03cefc9d959b3cfe7e2897b50e4d2828af25d032
> > > >
> > > > —
> > > > Reply to this email directly or view it on GitHub
> > > > <
> >
> https://github.com/stan-dev/rstanarm/commit/03cefc9d959b3cfe7e2897b50e4d2828af25d032#commitcomment-13726560
> > >
> > > > .
> > > >
> > > —
> > > Reply to this email directly or view it on GitHub.
> > >
> >
> > —
> > Reply to this email directly or view it on GitHub
> > <
> https://github.com/stan-dev/rstanarm/commit/03cefc9d959b3cfe7e2897b50e4d2828af25d032#commitcomment-13727772
> >
> > .
> >
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/stan-dev/rstanarm/commit/03cefc9d959b3cfe7e2897b50e4d2828af25d032#commitcomment-13728253>
> .
>


Extract this block to a helper method.
I'd rather see
```go
if includeFixupCommits(commits) {
    return markPending(pullRequest)
}
```


I think so.  This is where, in the code, those functions are implemented.


Your GIT commit messages look awful! Please improve.


TeamCity OSS :: Kubernetes Mesos :: 5 - Smoke Tests (docker/mesos) [Build 606](https://teamcity.mesosphere.io/viewLog.html?buildId=57809&buildTypeId=Oss_KubernetesMesos_5SmokeTestsDockerMesos&guest=1) outcome was **SUCCESS**
Summary: Tests passed: 1, ignored: 189 Build time: 00:03:59


The name `traceRoot` is misleading. Please improve.


Not sure about how the following are handled. When the application code is correct but the connection is not active? Do we forward it to the error page with relevant message?


When would you release the allocated memory?


@ChrisMacNaughton There's got to be a better way to do this but I can't think of it at this point.  Unfortunately the .or() function can't return a different type


No, you we're in good company :P

I also just added a complementary commit to master now for the process module. These things are hard to reproduce but in my experience it seems to have happened as I'm running external commands. Does that ring a bell? At any rate, let me know if it happens again after this, and what you were doing at the time if it happens.


- [ ] 修正が不十分。閉じの部分がなおっていない


woa! i didnt know path had that method! SICK


Just pushed a new commit. Please have a look.


You have to mention the exact benefits from the changes you did.


Thanks, @doobee46!


`find` looks weird.


TeamCity OSS :: Kubernetes Mesos :: 5 - Smoke Tests (docker/mesos) [Build 608](https://teamcity.mesosphere.io/viewLog.html?buildId=57811&buildTypeId=Oss_KubernetesMesos_5SmokeTestsDockerMesos&guest=1) outcome was **SUCCESS**
Summary: Tests passed: 1, ignored: 188 Build time: 00:04:24


There is room for improving your English expressions!


lgtm


@Jparks2532 is the unit test using the connection you believe it is using? Note that Airflow uses a different cfg file for unittests that points to a different metadata database.


添加注册(CURL GET和POST请求获取返回值)


Task name doesn't have to be so long. Since you call the rake task with "rake namespace:task", it can be as simple as "hotel_data:upload".


It looks stupid. Shorten them!


This fix is wrong and creates regression in text-list. This `insert-list-item` function is used both for `text-list` and `drop-*` widgets, so the message ID cannot be the same.


seems redundant, I'd go:
```
local_infile = conn.extra_dejson.get('local_infile')
if local_infile:
    conn_config["local_infile"] = local_infile
```


工作原理编辑
通常情况下，VPN网关采取双网卡结构，外网卡使用公网IP接入Internet。
网络一(假定为公网internet)的终端A访问网络二(假定为公司内网)的终端B，其发出的访问数据包的目标地址为终端B的内部IP地址。
网络二的VPN网关在接收到终端A发出的访问数据包时对其目标地址进行检查，如果目标地址属于网络二的地址，则将该数据包进行封装，封装的方式根据所采用的VPN技术不同而不同，同时VPN网关会构造一个新VPN数据包，并将封装后的原数据包作为VPN数据包的负载，VPN数据包的目标地址为网络二的VPN网关的外部地址。
网络二的VPN网关将VPN数据包发送到Internet，由于VPN数据包的目标地址是网络一的VPN网关的外部地址，所以该数据包将被Internet中的路由正确地发送到网络二的VPN网关。
网络二的VPN网关对接收到的数据包进行检查，如果发现该数据包是从网络一的VPN网关发出的，即可判定该数据包为VPN数据包，并对该数据包进行解包处理。解包的过程主要是先将VPN数据包的包头剥离，再将数据包反向处理还原成原始的数据包。
网络二的VPN网关将还原后的原始数据包发送至目标终端B，由于原始数据包的目标地址是终端B的IP，所以该数据包能够被正确地发送到终端B。在终端B看来，它收到的数据包就和从终端A直接发过来的一样。
从终端B返回终端A的数据包处理过程和上述过程一样，这样两个网络内的终端就可以相互通讯了。
通过上述说明可以发现，在VPN网关对数据包进行处理时，有两个参数对于VPN通讯十分重要：原始数据包的目标地址（VPN目标地址）和远程VPN网关地址。根据VPN目标地址，VPN网关能够判断对哪些数据包进行VPN处理，对于不需要处理的数据包通常情况下可直接转发到上级路由；远程VPN网关地址则指定了处理后的VPN数据包发送的目标地址，即VPN隧道的另一端VPN网关地址。由于网络通讯是双向的，在进行VPN通讯时，隧道两端的VPN网关都必须知道VPN目标地址和与此对应的远端VPN网关地址。
分类标准编辑
根据不同的划分标准，VPN可以按几个标准进行分类划分：
1、按VPN的协议分类：
VPN的隧道协议主要有三种，PPTP、L2TP和IPSec，其中PPTP和L2TP协议工作在OSI模型的第二层，又称为二层隧道协议；IPSec是第三层隧道协议。
2、按VPN的应用分类：
（1）Access VPN（远程接入VPN）：客户端到网关，使用公网作为骨干网在设备之间传输VPN数据流量；
（2）Intranet VPN（内联网VPN）：网关到网关，通过公司的网络架构连接来自同公司的资源；
（3）Extranet VPN（外联网VPN）：与合作伙伴企业网构成Extranet，将一个公司与另一个公司的资源进行连接。
3、按所用的设备类型进行分类：
网络设备提供商针对不同客户的需求，开发出不同的VPN网络设备，主要为交换机、路由器和防火墙：
（1）路由器式VPN：路由器式VPN部署较容易，只要在路由器上添加VPN服务即可；
（2）交换机式VPN：主要应用于连接用户较少的VPN网络；
（3）防火墙式VPN：防火墙式VPN是最常见的一种VPN的实现方式，许多厂商都提供这种配置类型
4．按照实现原理划分：
（1）重叠VPN：此VPN需要用户自己建立端节点之间的VPN链路，主要包括：GRE、L2TP、IPSec等众多技术。
（2）对等VPN：由网络运营商在主干网上完成VPN通道的建立，主要包括MPLS、VPN技术。
实现方式编辑
VPN的实现有很多种方法，常用的有以下四种：
1．VPN服务器：在大型局域网中，可以通过在网络中心搭建VPN服务器的方法实现VPN。
2．软件VPN：可以通过专用的软件实现VPN。
3．硬件VPN：可以通过专用的硬件实现VPN。
4．集成VPN：某些硬件设备，如路由器、防火墙等，都含有VPN功能，但是一般拥有VPN功能的硬件设备通常都比没有这一功能的要贵。
常用VPN技术编辑
1．MPLS VPN是一种基于MPLS技术的IP VPN，是在网络路由和交换设备上应用MPLS（Multiprotocol Label Switching，多协议标记交换）技术，简化核心路由器的路由选择方式，利用结合传统路由技术的标记交换实现的IP虚拟专用网络（IP VPN）。MPLS优势在于将二层交换和三层路由技术结合起来，在解决VPN、服务分类和流量工程这些IP网络的重大问题时具有很优异的表现。因此，MPLS VPN在解决企业互连、提供各种新业务方面也越来越被运营商看好，成为在IP网络运营商提供增值业务的重要手段。MPLS VPN又可分为二层MPLS VPN（即MPLS L2 VPN）和三层MPLS VPN（即MPLS L3 VPN）。
2．SSL VPN是以HTTPS（Secure HTTP，安全的HTTP，即支持SSL的HTTP协议）为基础的VPN技术，工作在传输层和应用层之间。SSL VPN充分利用了SSL协议提供的基于证书的身份认证、数据加密和消息完整性验证机制，可以为应用层之间的通信建立安全连接。SSL VPN广泛应用于基于Web的远程安全接入，为用户远程访问公司内部网络提供了安全保证。
3．IPSec VPN是基于IPSec协议的VPN技术，由IPSec协议提供隧道安全保障。IPSec是一种由IETF设计的端到端的确保基于IP通讯的数据安全性的机制。它为Internet上传输的数据提供了高质量的、可互操作的、基于密码学的安全保证。
常见问题编辑
错误691：提示“由于域上的用户名和/或密码无效而拒绝访问”
一般的原因是VPN连接时输入的账户和/或密码不正确，或是没有使用VPN服务的权限。
VPN一个账号默认仅限一台电脑使用，检查您的用户名有无登录重复。
若您是在使用的途中掉线了，不要急着再次连接，请耐心等待几分钟。
若还是提示错误，请联系网络管理员。
错误691：提示“端口已断开连接”
市面上有一小部分的路由器对VPN支持不好，从而引起错误691、只能连接几台机、经常掉线等多种问题，有时候还会出现错误800。原因是路由器采用NAT方式，不能让VPN协议穿透。
如果计算机中开启了系统防火墙，可以先关闭后再重试。
如果偶尔出现，重拨几次，或者重新启动计算机及路由器后再重试。
如果是通过局域网或者通过路由器上网的用户，请网络管理员在服务器或者路由器上打开UDP端口1701~1704。
如果路由器中不能设置，可以尝试将计算机直接连到外网，用单机拨号方式连接互联网，再重试VPN拨号。
部分网络如校园网、广电网、长城宽带、宽带通，容易出现691错误，需要与网络接入部门联系。
安装了简化版的操作系统容易缺少相关组件，可以下载安装错误691注册表文件。
错误721：提示“远程计算机没反应”
这种情况可能是网络延迟造成的，可以多连几次试试，如果还是不行，可以尝试以下解决方法：
单击“开始”，然后单击“运行”。
在“运行”中，键入regedit.exe，然后单击“确定”。
在注册表编辑器中，找到以下子项：HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Class/{4D36E972-E325-11CE-BFC1-08002bE10318}/<000x>，其中<000x>是WAN微型端口（PPTP）驱动程序的网络适配器。
在“编辑”菜单上，指向“新建”，然后单击“DWORD 值”。
键入ValidateAddress，然后按 Enter。该值的默认设置为“1”（打开）；因此，您可以通过将其设置为“0”将其关闭。
退出注册表编辑器。
重新启动计算机。
错误742/741：提示“远程服务器不支持加密”
选择VPN连接，右键属性，点击安全。
在数据加密项选择“没有加密也可以连接”（Win7下点击网络共享中心—更改适配器—点击VPN连接图标—查看属性—安全数据加密—选择“没有加密也可以连接”）。
错误800：提示是“不能建立VPN连接，VPN服务器不能到达”
如果计算机中开启了系统防火墙，可以先关闭后再重试。
如果有安装路由器的用户，建议重启一下路由器。
部分网络如校园网、广电网、长城宽带、宽带通，容易出现800错误，需要与网络接入部门联系。
桌面右键单击“我的电脑”或“计算机”，打开“管理”，在“服务和应用程序”中，点击“服务”，找到“IPsec Policy Agent”服务，检查有没有禁用该服务。如果为禁用状态则改为自动状态，启动该服务。
错误619
如果打开了防火墙（包括系统自带的）：关闭防火墙，或者设置防火墙允许UDP 1701端口。
使用路由器上网：不使用路由器，或者映射UDP 1701端口。
如果无以上两种现象存在，但是还出现619错误：关闭所有正在使用网络的软件，重新启动计算机然后重新进行连接。
连上国外VPN后打开国内网页速度很慢
因为连接上了VPN的国外线路，本地网络出口已经变更为了国家带宽出口，因此在连接VPN的状态下访问国内的网页速度是比较慢的，可简单理解成：因为线路的传输需要从国内到国外，再从国外返回国内。而如果是访问国外网页的话，此时线路方式从国内直接传输到国外是相对最快的。而且还取决于您所选的线路距离，如果您选择的是美国的线路，那么访问国内的网页肯定较慢。
移动终端连接不上
当前网络是3G网络：3G网络通常都不稳定，不保证每次都可以连接上。
如果正在办公室使用公司的无线网络但连不上VPN或发生无法响应PPTP服务器错误：请详细咨询相关人员所处的网络宽带服务商是否支持VPN，其次看所处的网络路由器是否禁止了VPN端口。
电脑上可以连接VPN，但手机就不行：请确认电脑中的VPN是否处于“正在连接”的状态，如果是，请先断开电脑中的，再次连接手机试试。请注意一个账号不能同时登录在两个设备中。
错误789
连接尝试失败，因为安全层在初始化与远程计算机的协商时遇到一个处理错误
1. 单击“开始”，单击“运行”，键入“regedit”，然后单击“确定”
2. 找到下面的注册表子项，然后单击它：
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rasman\Parameters
3. 在“编辑”菜单上，单击“新建”->“DWORD值”
4. 在“名称”框中，键入“ProhibitIpSec”
5. 在“数值数据”框中，键入“1”，然后单击“确定”
6. 退出注册表编辑器，然后重新启动计算机
评价编辑
优点

VPN能够让移动员工、远程员工、商务合作伙伴和其他人利用本地可用的高速宽带网连接（如DSL、有线电视或者WiFi网络）连接到企业网络。此外，高速宽带网连接提供一种成本效率高的连接远程办公室的方法。
设计良好的宽带VPN是模块化的和可升级的。VPN能够让应用者使用一种很容易设置的互联网基础设施，让新的用户迅速和轻松地添加到这个网络。这种能力意味着企业不用增加额外的基础设施就可以提供大量的容量和应用。
VPN能提供高水平的安全，使用高级的加密和身份识别协议保护数据避免受到窥探，阻止数据窃贼和其他非授权用户接触这种数据。
完全控制，虚拟专用网使用户可以利用ISP的设施和服务，同时又完全掌握着自己网络的控制权。用户只利用ISP提供的网络资源，对于其它的安全设置、网络管理变化可由自己管理。在企业内部也可以自己建立虚拟专用网。
缺点

企业不能直接控制基于互联网的VPN的可靠性和性能。机构必须依靠提供VPN的互联网服务提供商保证服务的运行。这个因素使企业与互联网服务提供商签署一个服务级协议非常重要，要签署一个保证各种性能指标的协议。
企业创建和部署VPN线路并不容易。这种技术需要高水平地理解网络和安全问题，需要认真的规划和配置。因此，选择互联网服务提供商负责运行VPN的大多数事情是一个好主意。
不同厂商的VPN产品和解决方案总是不兼容的，因为许多厂商不愿意或者不能遵守VPN技术标准。因此，混合使用不同厂商的产品可能会出现技术问题。另一方面，使用一家供应商的设备可能会提高成本。
当使用无线设备时，VPN有安全风险。在接入点之间漫游特别容易出问题。当用户在接入点之间漫游的时候，任何使用高级加密技术的解决方案都可能被攻破。
各个系统下VPN的登陆配置编辑
Windows XP

建立一个新连接；
选择“连接到我工作的地方的网络”；
选择“虚拟专用网络连接”；
设定连接名称（例如：VPN）；
输入主机名称或公网IP地址；
完成新增连接，勾选“将这个连接的快捷方式加到我的桌面”（以便日后连接）；
输入账号，密码，即可连接。
Windows 7

在画面右下角，点选网络连接，然后选择“打开网络共享中心”；
在弹出的对话窗口中，选择“设置新的连接或网络”；
选择“连接到工作区”，然后选择“使用我的Internet连接（VPN），通过Internet使用虚拟专用网络（VPN）来连接”，然后单击“我将稍后设置Internet连接”；
在“Internet 地址”里，填上VPN提供的IP地址。填好IP后，其它东西都不用管它，直接点击下一步。目标名称填写“VPN连接”；
填VPN的用户名和密码，先不要填，点“创建”；
到这里就完成的连接设置导向。点击“关闭”。；
回到桌面右键点击“网络”->“属性”，再点击一下左边的“更改适配器设置”；
找到刚才建好的“VPN连接”并双击打开；
填写提供的VPN用户名和密码，“域”可以不用填写。然后点击属性->安全；
在“数据加密”这一项选中“可选加密（没有加密也可以连接）”选好后点击“确定”。VPN类型自动，使用这些协议选择CHAP，MS-CHAP v2；
整个Windows7 VPN过程都设置完成了。点击“连接”就可以了。
Ubuntu

1.画面右上角最右端图标单击，选择“系统设置”
2.选择“网络”，选择添加网络，接口VPN，创建。
Android

打开手机主菜单，选择“设置”；
选择“无线和网络”；
选择“虚拟专用网设置”；
选择“添加虚拟专用网”；
选择PPTP方式；
输入虚拟专用网名称（如VPN）；
填写服务器域名，点击“确定”。然后按menu键，保存设置；
点击打开刚刚建好的连接，填写用户名和密码，点击“连接”。
iOS

点击桌面上的“设置”图标进入设置；
点击“通用”进入通用设置；
点击“网络”，进入网络设置；
点击“VPN”进入设置；
点击“添加VPN配置”；
在协议类型上选择“PPTP”，在“描述”栏中填入“VPN”，在服务器栏中填入服务器域名，在账户和密码栏中填入用户名和密码，其他设置保持不变，然后点击“存储”。；
点击“VPN”开关，就会开启连接，连接成功后，右上角会出现小图标。
OS X

从任务栏菜单打开系统设置，选择“网络”；
在新对话框中选择“添加”，然后从下拉菜单选择“VPN”；
从VPN类型下拉菜单中选择PPTP。填写服务名称，点击“创建”按钮；
在配置下拉菜单中选择“增加配置”；
填写服务器地址，用户名；
点击“认证配置”按钮，在弹出的对话框中选择“密码”单选框，并输入密码；
回到主设置框，点击“应用”保存设置即可。
相关法律法规编辑
2003年4月，信息产业部颁发了《电信业务分类目录》，取消了国际电信业务的分类，同时将虚拟专用网业务自基础电信业务中分离出来，成为独立的增值电信业务分类。但是此处的“虚拟专用网”概念与行业内的VPN业务是不一样的。新的《电信业务分类目录》中对该分类的解释是：国内因特网虚拟专用网业务（IP-VPN）是指经营者利用自有的或租用公用因特网网络资源，采用TCP/IP协议，为国内用户定制因特网闭合用户群网络的服务。这种分类的解释强调了两个特点，一个是利用因特网网络资源，一个是采用TCP/IP协议。这种解释是与当时的市场状况所对应的，当时关注的是基于互连网的IPSec VPN，虽然该解释可以基本涵盖后出现的SSL VPN模式，但并没有关注MPLS VPN。
2003年8月，信息产业部发布《关于组织开展国内多方通信服务等三项电信业务商用试验的通知》，就“国内多方通信服务业务”、“在线数据处理与交易处理业务”、“国内因特网虚拟专用网业务”等三项增值电信业务组织开展商用试验，有效期至2004年8月底。
2004年11月，信息产业部发布《关于继续开展国内多方通信服务等三项增值电信业务商用试验的通告》，决定将以上三项增值电信业务商用试验期延长一年，至2005年8月31日。
2006年1月，信息产业部发布《关于两项增值电信业务及国内多方通信服务的通告》，正式开放“国内因特网虚拟专用网业务”和“在线数据处理与交易处理业务”两项增值电信业务，上述两项增值电信业务由商用试验转为正式商用。
2008年，正式颁发IP-VPN业务牌照。名为IPSec VPN的中国“国内因特网虚拟专用网”增值电信业务许可证自其诞生之日起即以MPLS VPN为发展方向，导致VPN市场无规可循，实际上是在“灰色运营”。
2013年，工业与信息化部公布的《电信业务分类目录（征求意见稿）》中仍然没有对此作出任何改变。
2015年1月27日，工信部回应VPN被封事件，表示一些不良信息应该按照中国法律进行管理。[1]
工信部此前发布规定，在中国提供VPN服务的公司必须登记注册，否则将“不会受到中国法律的保护”工作原理编辑
通常情况下，VPN网关采取双网卡结构，外网卡使用公网IP接入Internet。
网络一(假定为公网internet)的终端A访问网络二(假定为公司内网)的终端B，其发出的访问数据包的目标地址为终端B的内部IP地址。
网络二的VPN网关在接收到终端A发出的访问数据包时对其目标地址进行检查，如果目标地址属于网络二的地址，则将该数据包进行封装，封装的方式根据所采用的VPN技术不同而不同，同时VPN网关会构造一个新VPN数据包，并将封装后的原数据包作为VPN数据包的负载，VPN数据包的目标地址为网络二的VPN网关的外部地址。
网络二的VPN网关将VPN数据包发送到Internet，由于VPN数据包的目标地址是网络一的VPN网关的外部地址，所以该数据包将被Internet中的路由正确地发送到网络二的VPN网关。
网络二的VPN网关对接收到的数据包进行检查，如果发现该数据包是从网络一的VPN网关发出的，即可判定该数据包为VPN数据包，并对该数据包进行解包处理。解包的过程主要是先将VPN数据包的包头剥离，再将数据包反向处理还原成原始的数据包。
网络二的VPN网关将还原后的原始数据包发送至目标终端B，由于原始数据包的目标地址是终端B的IP，所以该数据包能够被正确地发送到终端B。在终端B看来，它收到的数据包就和从终端A直接发过来的一样。
从终端B返回终端A的数据包处理过程和上述过程一样，这样两个网络内的终端就可以相互通讯了。
通过上述说明可以发现，在VPN网关对数据包进行处理时，有两个参数对于VPN通讯十分重要：原始数据包的目标地址（VPN目标地址）和远程VPN网关地址。根据VPN目标地址，VPN网关能够判断对哪些数据包进行VPN处理，对于不需要处理的数据包通常情况下可直接转发到上级路由；远程VPN网关地址则指定了处理后的VPN数据包发送的目标地址，即VPN隧道的另一端VPN网关地址。由于网络通讯是双向的，在进行VPN通讯时，隧道两端的VPN网关都必须知道VPN目标地址和与此对应的远端VPN网关地址。
分类标准编辑
根据不同的划分标准，VPN可以按几个标准进行分类划分：
1、按VPN的协议分类：
VPN的隧道协议主要有三种，PPTP、L2TP和IPSec，其中PPTP和L2TP协议工作在OSI模型的第二层，又称为二层隧道协议；IPSec是第三层隧道协议。
2、按VPN的应用分类：
（1）Access VPN（远程接入VPN）：客户端到网关，使用公网作为骨干网在设备之间传输VPN数据流量；
（2）Intranet VPN（内联网VPN）：网关到网关，通过公司的网络架构连接来自同公司的资源；
（3）Extranet VPN（外联网VPN）：与合作伙伴企业网构成Extranet，将一个公司与另一个公司的资源进行连接。
3、按所用的设备类型进行分类：
网络设备提供商针对不同客户的需求，开发出不同的VPN网络设备，主要为交换机、路由器和防火墙：
（1）路由器式VPN：路由器式VPN部署较容易，只要在路由器上添加VPN服务即可；
（2）交换机式VPN：主要应用于连接用户较少的VPN网络；
（3）防火墙式VPN：防火墙式VPN是最常见的一种VPN的实现方式，许多厂商都提供这种配置类型
4．按照实现原理划分：
（1）重叠VPN：此VPN需要用户自己建立端节点之间的VPN链路，主要包括：GRE、L2TP、IPSec等众多技术。
（2）对等VPN：由网络运营商在主干网上完成VPN通道的建立，主要包括MPLS、VPN技术。
实现方式编辑
VPN的实现有很多种方法，常用的有以下四种：
1．VPN服务器：在大型局域网中，可以通过在网络中心搭建VPN服务器的方法实现VPN。
2．软件VPN：可以通过专用的软件实现VPN。
3．硬件VPN：可以通过专用的硬件实现VPN。
4．集成VPN：某些硬件设备，如路由器、防火墙等，都含有VPN功能，但是一般拥有VPN功能的硬件设备通常都比没有这一功能的要贵。
常用VPN技术编辑
1．MPLS VPN是一种基于MPLS技术的IP VPN，是在网络路由和交换设备上应用MPLS（Multiprotocol Label Switching，多协议标记交换）技术，简化核心路由器的路由选择方式，利用结合传统路由技术的标记交换实现的IP虚拟专用网络（IP VPN）。MPLS优势在于将二层交换和三层路由技术结合起来，在解决VPN、服务分类和流量工程这些IP网络的重大问题时具有很优异的表现。因此，MPLS VPN在解决企业互连、提供各种新业务方面也越来越被运营商看好，成为在IP网络运营商提供增值业务的重要手段。MPLS VPN又可分为二层MPLS VPN（即MPLS L2 VPN）和三层MPLS VPN（即MPLS L3 VPN）。
2．SSL VPN是以HTTPS（Secure HTTP，安全的HTTP，即支持SSL的HTTP协议）为基础的VPN技术，工作在传输层和应用层之间。SSL VPN充分利用了SSL协议提供的基于证书的身份认证、数据加密和消息完整性验证机制，可以为应用层之间的通信建立安全连接。SSL VPN广泛应用于基于Web的远程安全接入，为用户远程访问公司内部网络提供了安全保证。
3．IPSec VPN是基于IPSec协议的VPN技术，由IPSec协议提供隧道安全保障。IPSec是一种由IETF设计的端到端的确保基于IP通讯的数据安全性的机制。它为Internet上传输的数据提供了高质量的、可互操作的、基于密码学的安全保证。
常见问题编辑
错误691：提示“由于域上的用户名和/或密码无效而拒绝访问”
一般的原因是VPN连接时输入的账户和/或密码不正确，或是没有使用VPN服务的权限。
VPN一个账号默认仅限一台电脑使用，检查您的用户名有无登录重复。
若您是在使用的途中掉线了，不要急着再次连接，请耐心等待几分钟。
若还是提示错误，请联系网络管理员。
错误691：提示“端口已断开连接”
市面上有一小部分的路由器对VPN支持不好，从而引起错误691、只能连接几台机、经常掉线等多种问题，有时候还会出现错误800。原因是路由器采用NAT方式，不能让VPN协议穿透。
如果计算机中开启了系统防火墙，可以先关闭后再重试。
如果偶尔出现，重拨几次，或者重新启动计算机及路由器后再重试。
如果是通过局域网或者通过路由器上网的用户，请网络管理员在服务器或者路由器上打开UDP端口1701~1704。
如果路由器中不能设置，可以尝试将计算机直接连到外网，用单机拨号方式连接互联网，再重试VPN拨号。
部分网络如校园网、广电网、长城宽带、宽带通，容易出现691错误，需要与网络接入部门联系。
安装了简化版的操作系统容易缺少相关组件，可以下载安装错误691注册表文件。
错误721：提示“远程计算机没反应”
这种情况可能是网络延迟造成的，可以多连几次试试，如果还是不行，可以尝试以下解决方法：
单击“开始”，然后单击“运行”。
在“运行”中，键入regedit.exe，然后单击“确定”。
在注册表编辑器中，找到以下子项：HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Class/{4D36E972-E325-11CE-BFC1-08002bE10318}/<000x>，其中<000x>是WAN微型端口（PPTP）驱动程序的网络适配器。
在“编辑”菜单上，指向“新建”，然后单击“DWORD 值”。
键入ValidateAddress，然后按 Enter。该值的默认设置为“1”（打开）；因此，您可以通过将其设置为“0”将其关闭。
退出注册表编辑器。
重新启动计算机。
错误742/741：提示“远程服务器不支持加密”
选择VPN连接，右键属性，点击安全。
在数据加密项选择“没有加密也可以连接”（Win7下点击网络共享中心—更改适配器—点击VPN连接图标—查看属性—安全数据加密—选择“没有加密也可以连接”）。
错误800：提示是“不能建立VPN连接，VPN服务器不能到达”
如果计算机中开启了系统防火墙，可以先关闭后再重试。
如果有安装路由器的用户，建议重启一下路由器。
部分网络如校园网、广电网、长城宽带、宽带通，容易出现800错误，需要与网络接入部门联系。
桌面右键单击“我的电脑”或“计算机”，打开“管理”，在“服务和应用程序”中，点击“服务”，找到“IPsec Policy Agent”服务，检查有没有禁用该服务。如果为禁用状态则改为自动状态，启动该服务。
错误619
如果打开了防火墙（包括系统自带的）：关闭防火墙，或者设置防火墙允许UDP 1701端口。
使用路由器上网：不使用路由器，或者映射UDP 1701端口。
如果无以上两种现象存在，但是还出现619错误：关闭所有正在使用网络的软件，重新启动计算机然后重新进行连接。
连上国外VPN后打开国内网页速度很慢
因为连接上了VPN的国外线路，本地网络出口已经变更为了国家带宽出口，因此在连接VPN的状态下访问国内的网页速度是比较慢的，可简单理解成：因为线路的传输需要从国内到国外，再从国外返回国内。而如果是访问国外网页的话，此时线路方式从国内直接传输到国外是相对最快的。而且还取决于您所选的线路距离，如果您选择的是美国的线路，那么访问国内的网页肯定较慢。
移动终端连接不上
当前网络是3G网络：3G网络通常都不稳定，不保证每次都可以连接上。
如果正在办公室使用公司的无线网络但连不上VPN或发生无法响应PPTP服务器错误：请详细咨询相关人员所处的网络宽带服务商是否支持VPN，其次看所处的网络路由器是否禁止了VPN端口。
电脑上可以连接VPN，但手机就不行：请确认电脑中的VPN是否处于“正在连接”的状态，如果是，请先断开电脑中的，再次连接手机试试。请注意一个账号不能同时登录在两个设备中。
错误789
连接尝试失败，因为安全层在初始化与远程计算机的协商时遇到一个处理错误
1. 单击“开始”，单击“运行”，键入“regedit”，然后单击“确定”
2. 找到下面的注册表子项，然后单击它：
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rasman\Parameters
3. 在“编辑”菜单上，单击“新建”->“DWORD值”
4. 在“名称”框中，键入“ProhibitIpSec”
5. 在“数值数据”框中，键入“1”，然后单击“确定”
6. 退出注册表编辑器，然后重新启动计算机
评价编辑
优点

VPN能够让移动员工、远程员工、商务合作伙伴和其他人利用本地可用的高速宽带网连接（如DSL、有线电视或者WiFi网络）连接到企业网络。此外，高速宽带网连接提供一种成本效率高的连接远程办公室的方法。
设计良好的宽带VPN是模块化的和可升级的。VPN能够让应用者使用一种很容易设置的互联网基础设施，让新的用户迅速和轻松地添加到这个网络。这种能力意味着企业不用增加额外的基础设施就可以提供大量的容量和应用。
VPN能提供高水平的安全，使用高级的加密和身份识别协议保护数据避免受到窥探，阻止数据窃贼和其他非授权用户接触这种数据。
完全控制，虚拟专用网使用户可以利用ISP的设施和服务，同时又完全掌握着自己网络的控制权。用户只利用ISP提供的网络资源，对于其它的安全设置、网络管理变化可由自己管理。在企业内部也可以自己建立虚拟专用网。
缺点

企业不能直接控制基于互联网的VPN的可靠性和性能。机构必须依靠提供VPN的互联网服务提供商保证服务的运行。这个因素使企业与互联网服务提供商签署一个服务级协议非常重要，要签署一个保证各种性能指标的协议。
企业创建和部署VPN线路并不容易。这种技术需要高水平地理解网络和安全问题，需要认真的规划和配置。因此，选择互联网服务提供商负责运行VPN的大多数事情是一个好主意。
不同厂商的VPN产品和解决方案总是不兼容的，因为许多厂商不愿意或者不能遵守VPN技术标准。因此，混合使用不同厂商的产品可能会出现技术问题。另一方面，使用一家供应商的设备可能会提高成本。
当使用无线设备时，VPN有安全风险。在接入点之间漫游特别容易出问题。当用户在接入点之间漫游的时候，任何使用高级加密技术的解决方案都可能被攻破。
各个系统下VPN的登陆配置编辑
Windows XP

建立一个新连接；
选择“连接到我工作的地方的网络”；
选择“虚拟专用网络连接”；
设定连接名称（例如：VPN）；
输入主机名称或公网IP地址；
完成新增连接，勾选“将这个连接的快捷方式加到我的桌面”（以便日后连接）；
输入账号，密码，即可连接。
Windows 7

在画面右下角，点选网络连接，然后选择“打开网络共享中心”；
在弹出的对话窗口中，选择“设置新的连接或网络”；
选择“连接到工作区”，然后选择“使用我的Internet连接（VPN），通过Internet使用虚拟专用网络（VPN）来连接”，然后单击“我将稍后设置Internet连接”；
在“Internet 地址”里，填上VPN提供的IP地址。填好IP后，其它东西都不用管它，直接点击下一步。目标名称填写“VPN连接”；
填VPN的用户名和密码，先不要填，点“创建”；
到这里就完成的连接设置导向。点击“关闭”。；
回到桌面右键点击“网络”->“属性”，再点击一下左边的“更改适配器设置”；
找到刚才建好的“VPN连接”并双击打开；
填写提供的VPN用户名和密码，“域”可以不用填写。然后点击属性->安全；
在“数据加密”这一项选中“可选加密（没有加密也可以连接）”选好后点击“确定”。VPN类型自动，使用这些协议选择CHAP，MS-CHAP v2；
整个Windows7 VPN过程都设置完成了。点击“连接”就可以了。
Ubuntu

1.画面右上角最右端图标单击，选择“系统设置”
2.选择“网络”，选择添加网络，接口VPN，创建。
Android

打开手机主菜单，选择“设置”；
选择“无线和网络”；
选择“虚拟专用网设置”；
选择“添加虚拟专用网”；
选择PPTP方式；
输入虚拟专用网名称（如VPN）；
填写服务器域名，点击“确定”。然后按menu键，保存设置；
点击打开刚刚建好的连接，填写用户名和密码，点击“连接”。
iOS

点击桌面上的“设置”图标进入设置；
点击“通用”进入通用设置；
点击“网络”，进入网络设置；
点击“VPN”进入设置；
点击“添加VPN配置”；
在协议类型上选择“PPTP”，在“描述”栏中填入“VPN”，在服务器栏中填入服务器域名，在账户和密码栏中填入用户名和密码，其他设置保持不变，然后点击“存储”。；
点击“VPN”开关，就会开启连接，连接成功后，右上角会出现小图标。
OS X

从任务栏菜单打开系统设置，选择“网络”；
在新对话框中选择“添加”，然后从下拉菜单选择“VPN”；
从VPN类型下拉菜单中选择PPTP。填写服务名称，点击“创建”按钮；
在配置下拉菜单中选择“增加配置”；
填写服务器地址，用户名；
点击“认证配置”按钮，在弹出的对话框中选择“密码”单选框，并输入密码；
回到主设置框，点击“应用”保存设置即可。
相关法律法规编辑
2003年4月，信息产业部颁发了《电信业务分类目录》，取消了国际电信业务的分类，同时将虚拟专用网业务自基础电信业务中分离出来，成为独立的增值电信业务分类。但是此处的“虚拟专用网”概念与行业内的VPN业务是不一样的。新的《电信业务分类目录》中对该分类的解释是：国内因特网虚拟专用网业务（IP-VPN）是指经营者利用自有的或租用公用因特网网络资源，采用TCP/IP协议，为国内用户定制因特网闭合用户群网络的服务。这种分类的解释强调了两个特点，一个是利用因特网网络资源，一个是采用TCP/IP协议。这种解释是与当时的市场状况所对应的，当时关注的是基于互连网的IPSec VPN，虽然该解释可以基本涵盖后出现的SSL VPN模式，但并没有关注MPLS VPN。
2003年8月，信息产业部发布《关于组织开展国内多方通信服务等三项电信业务商用试验的通知》，就“国内多方通信服务业务”、“在线数据处理与交易处理业务”、“国内因特网虚拟专用网业务”等三项增值电信业务组织开展商用试验，有效期至2004年8月底。
2004年11月，信息产业部发布《关于继续开展国内多方通信服务等三项增值电信业务商用试验的通告》，决定将以上三项增值电信业务商用试验期延长一年，至2005年8月31日。
2006年1月，信息产业部发布《关于两项增值电信业务及国内多方通信服务的通告》，正式开放“国内因特网虚拟专用网业务”和“在线数据处理与交易处理业务”两项增值电信业务，上述两项增值电信业务由商用试验转为正式商用。
2008年，正式颁发IP-VPN业务牌照。名为IPSec VPN的中国“国内因特网虚拟专用网”增值电信业务许可证自其诞生之日起即以MPLS VPN为发展方向，导致VPN市场无规可循，实际上是在“灰色运营”。
2013年，工业与信息化部公布的《电信业务分类目录（征求意见稿）》中仍然没有对此作出任何改变。
2015年1月27日，工信部回应VPN被封事件，表示一些不良信息应该按照中国法律进行管理。[1]
工信部此前发布规定，在中国提供VPN服务的公司必须登记注册，否则将“不会受到中国法律的保护”工作原理编辑
通常情况下，VPN网关采取双网卡结构，外网卡使用公网IP接入Internet。
网络一(假定为公网internet)的终端A访问网络二(假定为公司内网)的终端B，其发出的访问数据包的目标地址为终端B的内部IP地址。
网络二的VPN网关在接收到终端A发出的访问数据包时对其目标地址进行检查，如果目标地址属于网络二的地址，则将该数据包进行封装，封装的方式根据所采用的VPN技术不同而不同，同时VPN网关会构造一个新VPN数据包，并将封装后的原数据包作为VPN数据包的负载，VPN数据包的目标地址为网络二的VPN网关的外部地址。
网络二的VPN网关将VPN数据包发送到Internet，由于VPN数据包的目标地址是网络一的VPN网关的外部地址，所以该数据包将被Internet中的路由正确地发送到网络二的VPN网关。
网络二的VPN网关对接收到的数据包进行检查，如果发现该数据包是从网络一的VPN网关发出的，即可判定该数据包为VPN数据包，并对该数据包进行解包处理。解包的过程主要是先将VPN数据包的包头剥离，再将数据包反向处理还原成原始的数据包。
网络二的VPN网关将还原后的原始数据包发送至目标终端B，由于原始数据包的目标地址是终端B的IP，所以该数据包能够被正确地发送到终端B。在终端B看来，它收到的数据包就和从终端A直接发过来的一样。
从终端B返回终端A的数据包处理过程和上述过程一样，这样两个网络内的终端就可以相互通讯了。
通过上述说明可以发现，在VPN网关对数据包进行处理时，有两个参数对于VPN通讯十分重要：原始数据包的目标地址（VPN目标地址）和远程VPN网关地址。根据VPN目标地址，VPN网关能够判断对哪些数据包进行VPN处理，对于不需要处理的数据包通常情况下可直接转发到上级路由；远程VPN网关地址则指定了处理后的VPN数据包发送的目标地址，即VPN隧道的另一端VPN网关地址。由于网络通讯是双向的，在进行VPN通讯时，隧道两端的VPN网关都必须知道VPN目标地址和与此对应的远端VPN网关地址。
分类标准编辑
根据不同的划分标准，VPN可以按几个标准进行分类划分：
1、按VPN的协议分类：
VPN的隧道协议主要有三种，PPTP、L2TP和IPSec，其中PPTP和L2TP协议工作在OSI模型的第二层，又称为二层隧道协议；IPSec是第三层隧道协议。
2、按VPN的应用分类：
（1）Access VPN（远程接入VPN）：客户端到网关，使用公网作为骨干网在设备之间传输VPN数据流量；
（2）Intranet VPN（内联网VPN）：网关到网关，通过公司的网络架构连接来自同公司的资源；
（3）Extranet VPN（外联网VPN）：与合作伙伴企业网构成Extranet，将一个公司与另一个公司的资源进行连接。
3、按所用的设备类型进行分类：
网络设备提供商针对不同客户的需求，开发出不同的VPN网络设备，主要为交换机、路由器和防火墙：
（1）路由器式VPN：路由器式VPN部署较容易，只要在路由器上添加VPN服务即可；
（2）交换机式VPN：主要应用于连接用户较少的VPN网络；
（3）防火墙式VPN：防火墙式VPN是最常见的一种VPN的实现方式，许多厂商都提供这种配置类型
4．按照实现原理划分：
（1）重叠VPN：此VPN需要用户自己建立端节点之间的VPN链路，主要包括：GRE、L2TP、IPSec等众多技术。
（2）对等VPN：由网络运营商在主干网上完成VPN通道的建立，主要包括MPLS、VPN技术。
实现方式编辑
VPN的实现有很多种方法，常用的有以下四种：
1．VPN服务器：在大型局域网中，可以通过在网络中心搭建VPN服务器的方法实现VPN。
2．软件VPN：可以通过专用的软件实现VPN。
3．硬件VPN：可以通过专用的硬件实现VPN。
4．集成VPN：某些硬件设备，如路由器、防火墙等，都含有VPN功能，但是一般拥有VPN功能的硬件设备通常都比没有这一功能的要贵。
常用VPN技术编辑
1．MPLS VPN是一种基于MPLS技术的IP VPN，是在网络路由和交换设备上应用MPLS（Multiprotocol Label Switching，多协议标记交换）技术，简化核心路由器的路由选择方式，利用结合传统路由技术的标记交换实现的IP虚拟专用网络（IP VPN）。MPLS优势在于将二层交换和三层路由技术结合起来，在解决VPN、服务分类和流量工程这些IP网络的重大问题时具有很优异的表现。因此，MPLS VPN在解决企业互连、提供各种新业务方面也越来越被运营商看好，成为在IP网络运营商提供增值业务的重要手段。MPLS VPN又可分为二层MPLS VPN（即MPLS L2 VPN）和三层MPLS VPN（即MPLS L3 VPN）。
2．SSL VPN是以HTTPS（Secure HTTP，安全的HTTP，即支持SSL的HTTP协议）为基础的VPN技术，工作在传输层和应用层之间。SSL VPN充分利用了SSL协议提供的基于证书的身份认证、数据加密和消息完整性验证机制，可以为应用层之间的通信建立安全连接。SSL VPN广泛应用于基于Web的远程安全接入，为用户远程访问公司内部网络提供了安全保证。
3．IPSec VPN是基于IPSec协议的VPN技术，由IPSec协议提供隧道安全保障。IPSec是一种由IETF设计的端到端的确保基于IP通讯的数据安全性的机制。它为Internet上传输的数据提供了高质量的、可互操作的、基于密码学的安全保证。
常见问题编辑
错误691：提示“由于域上的用户名和/或密码无效而拒绝访问”
一般的原因是VPN连接时输入的账户和/或密码不正确，或是没有使用VPN服务的权限。
VPN一个账号默认仅限一台电脑使用，检查您的用户名有无登录重复。
若您是在使用的途中掉线了，不要急着再次连接，请耐心等待几分钟。
若还是提示错误，请联系网络管理员。
错误691：提示“端口已断开连接”
市面上有一小部分的路由器对VPN支持不好，从而引起错误691、只能连接几台机、经常掉线等多种问题，有时候还会出现错误800。原因是路由器采用NAT方式，不能让VPN协议穿透。
如果计算机中开启了系统防火墙，可以先关闭后再重试。
如果偶尔出现，重拨几次，或者重新启动计算机及路由器后再重试。
如果是通过局域网或者通过路由器上网的用户，请网络管理员在服务器或者路由器上打开UDP端口1701~1704。
如果路由器中不能设置，可以尝试将计算机直接连到外网，用单机拨号方式连接互联网，再重试VPN拨号。
部分网络如校园网、广电网、长城宽带、宽带通，容易出现691错误，需要与网络接入部门联系。
安装了简化版的操作系统容易缺少相关组件，可以下载安装错误691注册表文件。
错误721：提示“远程计算机没反应”
这种情况可能是网络延迟造成的，可以多连几次试试，如果还是不行，可以尝试以下解决方法：
单击“开始”，然后单击“运行”。
在“运行”中，键入regedit.exe，然后单击“确定”。
在注册表编辑器中，找到以下子项：HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Class/{4D36E972-E325-11CE-BFC1-08002bE10318}/<000x>，其中<000x>是WAN微型端口（PPTP）驱动程序的网络适配器。
在“编辑”菜单上，指向“新建”，然后单击“DWORD 值”。
键入ValidateAddress，然后按 Enter。该值的默认设置为“1”（打开）；因此，您可以通过将其设置为“0”将其关闭。
退出注册表编辑器。
重新启动计算机。
错误742/741：提示“远程服务器不支持加密”
选择VPN连接，右键属性，点击安全。
在数据加密项选择“没有加密也可以连接”（Win7下点击网络共享中心—更改适配器—点击VPN连接图标—查看属性—安全数据加密—选择“没有加密也可以连接”）。
错误800：提示是“不能建立VPN连接，VPN服务器不能到达”
如果计算机中开启了系统防火墙，可以先关闭后再重试。
如果有安装路由器的用户，建议重启一下路由器。
部分网络如校园网、广电网、长城宽带、宽带通，容易出现800错误，需要与网络接入部门联系。
桌面右键单击“我的电脑”或“计算机”，打开“管理”，在“服务和应用程序”中，点击“服务”，找到“IPsec Policy Agent”服务，检查有没有禁用该服务。如果为禁用状态则改为自动状态，启动该服务。
错误619
如果打开了防火墙（包括系统自带的）：关闭防火墙，或者设置防火墙允许UDP 1701端口。
使用路由器上网：不使用路由器，或者映射UDP 1701端口。
如果无以上两种现象存在，但是还出现619错误：关闭所有正在使用网络的软件，重新启动计算机然后重新进行连接。
连上国外VPN后打开国内网页速度很慢
因为连接上了VPN的国外线路，本地网络出口已经变更为了国家带宽出口，因此在连接VPN的状态下访问国内的网页速度是比较慢的，可简单理解成：因为线路的传输需要从国内到国外，再从国外返回国内。而如果是访问国外网页的话，此时线路方式从国内直接传输到国外是相对最快的。而且还取决于您所选的线路距离，如果您选择的是美国的线路，那么访问国内的网页肯定较慢。
移动终端连接不上
当前网络是3G网络：3G网络通常都不稳定，不保证每次都可以连接上。
如果正在办公室使用公司的无线网络但连不上VPN或发生无法响应PPTP服务器错误：请详细咨询相关人员所处的网络宽带服务商是否支持VPN，其次看所处的网络路由器是否禁止了VPN端口。
电脑上可以连接VPN，但手机就不行：请确认电脑中的VPN是否处于“正在连接”的状态，如果是，请先断开电脑中的，再次连接手机试试。请注意一个账号不能同时登录在两个设备中。
错误789
连接尝试失败，因为安全层在初始化与远程计算机的协商时遇到一个处理错误
1. 单击“开始”，单击“运行”，键入“regedit”，然后单击“确定”
2. 找到下面的注册表子项，然后单击它：
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rasman\Parameters
3. 在“编辑”菜单上，单击“新建”->“DWORD值”
4. 在“名称”框中，键入“ProhibitIpSec”
5. 在“数值数据”框中，键入“1”，然后单击“确定”
6. 退出注册表编辑器，然后重新启动计算机
评价编辑
优点

VPN能够让移动员工、远程员工、商务合作伙伴和其他人利用本地可用的高速宽带网连接（如DSL、有线电视或者WiFi网络）连接到企业网络。此外，高速宽带网连接提供一种成本效率高的连接远程办公室的方法。
设计良好的宽带VPN是模块化的和可升级的。VPN能够让应用者使用一种很容易设置的互联网基础设施，让新的用户迅速和轻松地添加到这个网络。这种能力意味着企业不用增加额外的基础设施就可以提供大量的容量和应用。
VPN能提供高水平的安全，使用高级的加密和身份识别协议保护数据避免受到窥探，阻止数据窃贼和其他非授权用户接触这种数据。
完全控制，虚拟专用网使用户可以利用ISP的设施和服务，同时又完全掌握着自己网络的控制权。用户只利用ISP提供的网络资源，对于其它的安全设置、网络管理变化可由自己管理。在企业内部也可以自己建立虚拟专用网。
缺点

企业不能直接控制基于互联网的VPN的可靠性和性能。机构必须依靠提供VPN的互联网服务提供商保证服务的运行。这个因素使企业与互联网服务提供商签署一个服务级协议非常重要，要签署一个保证各种性能指标的协议。
企业创建和部署VPN线路并不容易。这种技术需要高水平地理解网络和安全问题，需要认真的规划和配置。因此，选择互联网服务提供商负责运行VPN的大多数事情是一个好主意。
不同厂商的VPN产品和解决方案总是不兼容的，因为许多厂商不愿意或者不能遵守VPN技术标准。因此，混合使用不同厂商的产品可能会出现技术问题。另一方面，使用一家供应商的设备可能会提高成本。
当使用无线设备时，VPN有安全风险。在接入点之间漫游特别容易出问题。当用户在接入点之间漫游的时候，任何使用高级加密技术的解决方案都可能被攻破。
各个系统下VPN的登陆配置编辑
Windows XP

建立一个新连接；
选择“连接到我工作的地方的网络”；
选择“虚拟专用网络连接”；
设定连接名称（例如：VPN）；
输入主机名称或公网IP地址；
完成新增连接，勾选“将这个连接的快捷方式加到我的桌面”（以便日后连接）；
输入账号，密码，即可连接。
Windows 7

在画面右下角，点选网络连接，然后选择“打开网络共享中心”；
在弹出的对话窗口中，选择“设置新的连接或网络”；
选择“连接到工作区”，然后选择“使用我的Internet连接（VPN），通过Internet使用虚拟专用网络（VPN）来连接”，然后单击“我将稍后设置Internet连接”；
在“Internet 地址”里，填上VPN提供的IP地址。填好IP后，其它东西都不用管它，直接点击下一步。目标名称填写“VPN连接”；
填VPN的用户名和密码，先不要填，点“创建”；
到这里就完成的连接设置导向。点击“关闭”。；
回到桌面右键点击“网络”->“属性”，再点击一下左边的“更改适配器设置”；
找到刚才建好的“VPN连接”并双击打开；
填写提供的VPN用户名和密码，“域”可以不用填写。然后点击属性->安全；
在“数据加密”这一项选中“可选加密（没有加密也可以连接）”选好后点击“确定”。VPN类型自动，使用这些协议选择CHAP，MS-CHAP v2；
整个Windows7 VPN过程都设置完成了。点击“连接”就可以了。
Ubuntu

1.画面右上角最右端图标单击，选择“系统设置”
2.选择“网络”，选择添加网络，接口VPN，创建。
Android

打开手机主菜单，选择“设置”；
选择“无线和网络”；
选择“虚拟专用网设置”；
选择“添加虚拟专用网”；
选择PPTP方式；
输入虚拟专用网名称（如VPN）；
填写服务器域名，点击“确定”。然后按menu键，保存设置；
点击打开刚刚建好的连接，填写用户名和密码，点击“连接”。
iOS

点击桌面上的“设置”图标进入设置；
点击“通用”进入通用设置；
点击“网络”，进入网络设置；
点击“VPN”进入设置；
点击“添加VPN配置”；
在协议类型上选择“PPTP”，在“描述”栏中填入“VPN”，在服务器栏中填入服务器域名，在账户和密码栏中填入用户名和密码，其他设置保持不变，然后点击“存储”。；
点击“VPN”开关，就会开启连接，连接成功后，右上角会出现小图标。
OS X

从任务栏菜单打开系统设置，选择“网络”；
在新对话框中选择“添加”，然后从下拉菜单选择“VPN”；
从VPN类型下拉菜单中选择PPTP。填写服务名称，点击“创建”按钮；
在配置下拉菜单中选择“增加配置”；
填写服务器地址，用户名；
点击“认证配置”按钮，在弹出的对话框中选择“密码”单选框，并输入密码；
回到主设置框，点击“应用”保存设置即可。
相关法律法规编辑
2003年4月，信息产业部颁发了《电信业务分类目录》，取消了国际电信业务的分类，同时将虚拟专用网业务自基础电信业务中分离出来，成为独立的增值电信业务分类。但是此处的“虚拟专用网”概念与行业内的VPN业务是不一样的。新的《电信业务分类目录》中对该分类的解释是：国内因特网虚拟专用网业务（IP-VPN）是指经营者利用自有的或租用公用因特网网络资源，采用TCP/IP协议，为国内用户定制因特网闭合用户群网络的服务。这种分类的解释强调了两个特点，一个是利用因特网网络资源，一个是采用TCP/IP协议。这种解释是与当时的市场状况所对应的，当时关注的是基于互连网的IPSec VPN，虽然该解释可以基本涵盖后出现的SSL VPN模式，但并没有关注MPLS VPN。
2003年8月，信息产业部发布《关于组织开展国内多方通信服务等三项电信业务商用试验的通知》，就“国内多方通信服务业务”、“在线数据处理与交易处理业务”、“国内因特网虚拟专用网业务”等三项增值电信业务组织开展商用试验，有效期至2004年8月底。
2004年11月，信息产业部发布《关于继续开展国内多方通信服务等三项增值电信业务商用试验的通告》，决定将以上三项增值电信业务商用试验期延长一年，至2005年8月31日。
2006年1月，信息产业部发布《关于两项增值电信业务及国内多方通信服务的通告》，正式开放“国内因特网虚拟专用网业务”和“在线数据处理与交易处理业务”两项增值电信业务，上述两项增值电信业务由商用试验转为正式商用。
2008年，正式颁发IP-VPN业务牌照。名为IPSec VPN的中国“国内因特网虚拟专用网”增值电信业务许可证自其诞生之日起即以MPLS VPN为发展方向，导致VPN市场无规可循，实际上是在“灰色运营”。
2013年，工业与信息化部公布的《电信业务分类目录（征求意见稿）》中仍然没有对此作出任何改变。
2015年1月27日，工信部回应VPN被封事件，表示一些不良信息应该按照中国法律进行管理。[1]
工信部此前发布规定，在中国提供VPN服务的公司必须登记注册，否则将“不会受到中国法律的保护”工作原理编辑
通常情况下，VPN网关采取双网卡结构，外网卡使用公网IP接入Internet。
网络一(假定为公网internet)的终端A访问网络二(假定为公司内网)的终端B，其发出的访问数据包的目标地址为终端B的内部IP地址。
网络二的VPN网关在接收到终端A发出的访问数据包时对其目标地址进行检查，如果目标地址属于网络二的地址，则将该数据包进行封装，封装的方式根据所采用的VPN技术不同而不同，同时VPN网关会构造一个新VPN数据包，并将封装后的原数据包作为VPN数据包的负载，VPN数据包的目标地址为网络二的VPN网关的外部地址。
网络二的VPN网关将VPN数据包发送到Internet，由于VPN数据包的目标地址是网络一的VPN网关的外部地址，所以该数据包将被Internet中的路由正确地发送到网络二的VPN网关。
网络二的VPN网关对接收到的数据包进行检查，如果发现该数据包是从网络一的VPN网关发出的，即可判定该数据包为VPN数据包，并对该数据包进行解包处理。解包的过程主要是先将VPN数据包的包头剥离，再将数据包反向处理还原成原始的数据包。
网络二的VPN网关将还原后的原始数据包发送至目标终端B，由于原始数据包的目标地址是终端B的IP，所以该数据包能够被正确地发送到终端B。在终端B看来，它收到的数据包就和从终端A直接发过来的一样。
从终端B返回终端A的数据包处理过程和上述过程一样，这样两个网络内的终端就可以相互通讯了。
通过上述说明可以发现，在VPN网关对数据包进行处理时，有两个参数对于VPN通讯十分重要：原始数据包的目标地址（VPN目标地址）和远程VPN网关地址。根据VPN目标地址，VPN网关能够判断对哪些数据包进行VPN处理，对于不需要处理的数据包通常情况下可直接转发到上级路由；远程VPN网关地址则指定了处理后的VPN数据包发送的目标地址，即VPN隧道的另一端VPN网关地址。由于网络通讯是双向的，在进行VPN通讯时，隧道两端的VPN网关都必须知道VPN目标地址和与此对应的远端VPN网关地址。
分类标准编辑
根据不同的划分标准，VPN可以按几个标准进行分类划分：
1、按VPN的协议分类：
VPN的隧道协议主要有三种，PPTP、L2TP和IPSec，其中PPTP和L2TP协议工作在OSI模型的第二层，又称为二层隧道协议；IPSec是第三层隧道协议。
2、按VPN的应用分类：
（1）Access VPN（远程接入VPN）：客户端到网关，使用公网作为骨干网在设备之间传输VPN数据流量；
（2）Intranet VPN（内联网VPN）：网关到网关，通过公司的网络架构连接来自同公司的资源；
（3）Extranet VPN（外联网VPN）：与合作伙伴企业网构成Extranet，将一个公司与另一个公司的资源进行连接。
3、按所用的设备类型进行分类：
网络设备提供商针对不同客户的需求，开发出不同的VPN网络设备，主要为交换机、路由器和防火墙：
（1）路由器式VPN：路由器式VPN部署较容易，只要在路由器上添加VPN服务即可；
（2）交换机式VPN：主要应用于连接用户较少的VPN网络；
（3）防火墙式VPN：防火墙式VPN是最常见的一种VPN的实现方式，许多厂商都提供这种配置类型
4．按照实现原理划分：
（1）重叠VPN：此VPN需要用户自己建立端节点之间的VPN链路，主要包括：GRE、L2TP、IPSec等众多技术。
（2）对等VPN：由网络运营商在主干网上完成VPN通道的建立，主要包括MPLS、VPN技术。
实现方式编辑
VPN的实现有很多种方法，常用的有以下四种：
1．VPN服务器：在大型局域网中，可以通过在网络中心搭建VPN服务器的方法实现VPN。
2．软件VPN：可以通过专用的软件实现VPN。
3．硬件VPN：可以通过专用的硬件实现VPN。
4．集成VPN：某些硬件设备，如路由器、防火墙等，都含有VPN功能，但是一般拥有VPN功能的硬件设备通常都比没有这一功能的要贵。
常用VPN技术编辑
1．MPLS VPN是一种基于MPLS技术的IP VPN，是在网络路由和交换设备上应用MPLS（Multiprotocol Label Switching，多协议标记交换）技术，简化核心路由器的路由选择方式，利用结合传统路由技术的标记交换实现的IP虚拟专用网络（IP VPN）。MPLS优势在于将二层交换和三层路由技术结合起来，在解决VPN、服务分类和流量工程这些IP网络的重大问题时具有很优异的表现。因此，MPLS VPN在解决企业互连、提供各种新业务方面也越来越被运营商看好，成为在IP网络运营商提供增值业务的重要手段。MPLS VPN又可分为二层MPLS VPN（即MPLS L2 VPN）和三层MPLS VPN（即MPLS L3 VPN）。
2．SSL VPN是以HTTPS（Secure HTTP，安全的HTTP，即支持SSL的HTTP协议）为基础的VPN技术，工作在传输层和应用层之间。SSL VPN充分利用了SSL协议提供的基于证书的身份认证、数据加密和消息完整性验证机制，可以为应用层之间的通信建立安全连接。SSL VPN广泛应用于基于Web的远程安全接入，为用户远程访问公司内部网络提供了安全保证。
3．IPSec VPN是基于IPSec协议的VPN技术，由IPSec协议提供隧道安全保障。IPSec是一种由IETF设计的端到端的确保基于IP通讯的数据安全性的机制。它为Internet上传输的数据提供了高质量的、可互操作的、基于密码学的安全保证。
常见问题编辑
错误691：提示“由于域上的用户名和/或密码无效而拒绝访问”
一般的原因是VPN连接时输入的账户和/或密码不正确，或是没有使用VPN服务的权限。
VPN一个账号默认仅限一台电脑使用，检查您的用户名有无登录重复。
若您是在使用的途中掉线了，不要急着再次连接，请耐心等待几分钟。
若还是提示错误，请联系网络管理员。
错误691：提示“端口已断开连接”
市面上有一小部分的路由器对VPN支持不好，从而引起错误691、只能连接几台机、经常掉线等多种问题，有时候还会出现错误800。原因是路由器采用NAT方式，不能让VPN协议穿透。
如果计算机中开启了系统防火墙，可以先关闭后再重试。
如果偶尔出现，重拨几次，或者重新启动计算机及路由器后再重试。
如果是通过局域网或者通过路由器上网的用户，请网络管理员在服务器或者路由器上打开UDP端口1701~1704。
如果路由器中不能设置，可以尝试将计算机直接连到外网，用单机拨号方式连接互联网，再重试VPN拨号。
部分网络如校园网、广电网、长城宽带、宽带通，容易出现691错误，需要与网络接入部门联系。
安装了简化版的操作系统容易缺少相关组件，可以下载安装错误691注册表文件。
错误721：提示“远程计算机没反应”
这种情况可能是网络延迟造成的，可以多连几次试试，如果还是不行，可以尝试以下解决方法：
单击“开始”，然后单击“运行”。
在“运行”中，键入regedit.exe，然后单击“确定”。
在注册表编辑器中，找到以下子项：HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Class/{4D36E972-E325-11CE-BFC1-08002bE10318}/<000x>，其中<000x>是WAN微型端口（PPTP）驱动程序的网络适配器。
在“编辑”菜单上，指向“新建”，然后单击“DWORD 值”。
键入ValidateAddress，然后按 Enter。该值的默认设置为“1”（打开）；因此，您可以通过将其设置为“0”将其关闭。
退出注册表编辑器。
重新启动计算机。
错误742/741：提示“远程服务器不支持加密”
选择VPN连接，右键属性，点击安全。
在数据加密项选择“没有加密也可以连接”（Win7下点击网络共享中心—更改适配器—点击VPN连接图标—查看属性—安全数据加密—选择“没有加密也可以连接”）。
错误800：提示是“不能建立VPN连接，VPN服务器不能到达”
如果计算机中开启了系统防火墙，可以先关闭后再重试。
如果有安装路由器的用户，建议重启一下路由器。
部分网络如校园网、广电网、长城宽带、宽带通，容易出现800错误，需要与网络接入部门联系。
桌面右键单击“我的电脑”或“计算机”，打开“管理”，在“服务和应用程序”中，点击“服务”，找到“IPsec Policy Agent”服务，检查有没有禁用该服务。如果为禁用状态则改为自动状态，启动该服务。
错误619
如果打开了防火墙（包括系统自带的）：关闭防火墙，或者设置防火墙允许UDP 1701端口。
使用路由器上网：不使用路由器，或者映射UDP 1701端口。
如果无以上两种现象存在，但是还出现619错误：关闭所有正在使用网络的软件，重新启动计算机然后重新进行连接。
连上国外VPN后打开国内网页速度很慢
因为连接上了VPN的国外线路，本地网络出口已经变更为了国家带宽出口，因此在连接VPN的状态下访问国内的网页速度是比较慢的，可简单理解成：因为线路的传输需要从国内到国外，再从国外返回国内。而如果是访问国外网页的话，此时线路方式从国内直接传输到国外是相对最快的。而且还取决于您所选的线路距离，如果您选择的是美国的线路，那么访问国内的网页肯定较慢。
移动终端连接不上
当前网络是3G网络：3G网络通常都不稳定，不保证每次都可以连接上。
如果正在办公室使用公司的无线网络但连不上VPN或发生无法响应PPTP服务器错误：请详细咨询相关人员所处的网络宽带服务商是否支持VPN，其次看所处的网络路由器是否禁止了VPN端口。
电脑上可以连接VPN，但手机就不行：请确认电脑中的VPN是否处于“正在连接”的状态，如果是，请先断开电脑中的，再次连接手机试试。请注意一个账号不能同时登录在两个设备中。
错误789
连接尝试失败，因为安全层在初始化与远程计算机的协商时遇到一个处理错误
1. 单击“开始”，单击“运行”，键入“regedit”，然后单击“确定”
2. 找到下面的注册表子项，然后单击它：
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rasman\Parameters
3. 在“编辑”菜单上，单击“新建”->“DWORD值”
4. 在“名称”框中，键入“ProhibitIpSec”
5. 在“数值数据”框中，键入“1”，然后单击“确定”
6. 退出注册表编辑器，然后重新启动计算机
评价编辑
优点

VPN能够让移动员工、远程员工、商务合作伙伴和其他人利用本地可用的高速宽带网连接（如DSL、有线电视或者WiFi网络）连接到企业网络。此外，高速宽带网连接提供一种成本效率高的连接远程办公室的方法。
设计良好的宽带VPN是模块化的和可升级的。VPN能够让应用者使用一种很容易设置的互联网基础设施，让新的用户迅速和轻松地添加到这个网络。这种能力意味着企业不用增加额外的基础设施就可以提供大量的容量和应用。
VPN能提供高水平的安全，使用高级的加密和身份识别协议保护数据避免受到窥探，阻止数据窃贼和其他非授权用户接触这种数据。
完全控制，虚拟专用网使用户可以利用ISP的设施和服务，同时又完全掌握着自己网络的控制权。用户只利用ISP提供的网络资源，对于其它的安全设置、网络管理变化可由自己管理。在企业内部也可以自己建立虚拟专用网。
缺点

企业不能直接控制基于互联网的VPN的可靠性和性能。机构必须依靠提供VPN的互联网服务提供商保证服务的运行。这个因素使企业与互联网服务提供商签署一个服务级协议非常重要，要签署一个保证各种性能指标的协议。
企业创建和部署VPN线路并不容易。这种技术需要高水平地理解网络和安全问题，需要认真的规划和配置。因此，选择互联网服务提供商负责运行VPN的大多数事情是一个好主意。
不同厂商的VPN产品和解决方案总是不兼容的，因为许多厂商不愿意或者不能遵守VPN技术标准。因此，混合使用不同厂商的产品可能会出现技术问题。另一方面，使用一家供应商的设备可能会提高成本。
当使用无线设备时，VPN有安全风险。在接入点之间漫游特别容易出问题。当用户在接入点之间漫游的时候，任何使用高级加密技术的解决方案都可能被攻破。
各个系统下VPN的登陆配置编辑
Windows XP

建立一个新连接；
选择“连接到我工作的地方的网络”；
选择“虚拟专用网络连接”；
设定连接名称（例如：VPN）；
输入主机名称或公网IP地址；
完成新增连接，勾选“将这个连接的快捷方式加到我的桌面”（以便日后连接）；
输入账号，密码，即可连接。
Windows 7

在画面右下角，点选网络连接，然后选择“打开网络共享中心”；
在弹出的对话窗口中，选择“设置新的连接或网络”；
选择“连接到工作区”，然后选择“使用我的Internet连接（VPN），通过Internet使用虚拟专用网络（VPN）来连接”，然后单击“我将稍后设置Internet连接”；
在“Internet 地址”里，填上VPN提供的IP地址。填好IP后，其它东西都不用管它，直接点击下一步。目标名称填写“VPN连接”；
填VPN的用户名和密码，先不要填，点“创建”；
到这里就完成的连接设置导向。点击“关闭”。；
回到桌面右键点击“网络”->“属性”，再点击一下左边的“更改适配器设置”；
找到刚才建好的“VPN连接”并双击打开；
填写提供的VPN用户名和密码，“域”可以不用填写。然后点击属性->安全；
在“数据加密”这一项选中“可选加密（没有加密也可以连接）”选好后点击“确定”。VPN类型自动，使用这些协议选择CHAP，MS-CHAP v2；
整个Windows7 VPN过程都设置完成了。点击“连接”就可以了。
Ubuntu

1.画面右上角最右端图标单击，选择“系统设置”
2.选择“网络”，选择添加网络，接口VPN，创建。
Android

打开手机主菜单，选择“设置”；
选择“无线和网络”；
选择“虚拟专用网设置”；
选择“添加虚拟专用网”；
选择PPTP方式；
输入虚拟专用网名称（如VPN）；
填写服务器域名，点击“确定”。然后按menu键，保存设置；
点击打开刚刚建好的连接，填写用户名和密码，点击“连接”。
iOS

点击桌面上的“设置”图标进入设置；
点击“通用”进入通用设置；
点击“网络”，进入网络设置；
点击“VPN”进入设置；
点击“添加VPN配置”；
在协议类型上选择“PPTP”，在“描述”栏中填入“VPN”，在服务器栏中填入服务器域名，在账户和密码栏中填入用户名和密码，其他设置保持不变，然后点击“存储”。；
点击“VPN”开关，就会开启连接，连接成功后，右上角会出现小图标。
OS X

从任务栏菜单打开系统设置，选择“网络”；
在新对话框中选择“添加”，然后从下拉菜单选择“VPN”；
从VPN类型下拉菜单中选择PPTP。填写服务名称，点击“创建”按钮；
在配置下拉菜单中选择“增加配置”；
填写服务器地址，用户名；
点击“认证配置”按钮，在弹出的对话框中选择“密码”单选框，并输入密码；
回到主设置框，点击“应用”保存设置即可。
相关法律法规编辑
2003年4月，信息产业部颁发了《电信业务分类目录》，取消了国际电信业务的分类，同时将虚拟专用网业务自基础电信业务中分离出来，成为独立的增值电信业务分类。但是此处的“虚拟专用网”概念与行业内的VPN业务是不一样的。新的《电信业务分类目录》中对该分类的解释是：国内因特网虚拟专用网业务（IP-VPN）是指经营者利用自有的或租用公用因特网网络资源，采用TCP/IP协议，为国内用户定制因特网闭合用户群网络的服务。这种分类的解释强调了两个特点，一个是利用因特网网络资源，一个是采用TCP/IP协议。这种解释是与当时的市场状况所对应的，当时关注的是基于互连网的IPSec VPN，虽然该解释可以基本涵盖后出现的SSL VPN模式，但并没有关注MPLS VPN。
2003年8月，信息产业部发布《关于组织开展国内多方通信服务等三项电信业务商用试验的通知》，就“国内多方通信服务业务”、“在线数据处理与交易处理业务”、“国内因特网虚拟专用网业务”等三项增值电信业务组织开展商用试验，有效期至2004年8月底。
2004年11月，信息产业部发布《关于继续开展国内多方通信服务等三项增值电信业务商用试验的通告》，决定将以上三项增值电信业务商用试验期延长一年，至2005年8月31日。
2006年1月，信息产业部发布《关于两项增值电信业务及国内多方通信服务的通告》，正式开放“国内因特网虚拟专用网业务”和“在线数据处理与交易处理业务”两项增值电信业务，上述两项增值电信业务由商用试验转为正式商用。
2008年，正式颁发IP-VPN业务牌照。名为IPSec VPN的中国“国内因特网虚拟专用网”增值电信业务许可证自其诞生之日起即以MPLS VPN为发展方向，导致VPN市场无规可循，实际上是在“灰色运营”。
2013年，工业与信息化部公布的《电信业务分类目录（征求意见稿）》中仍然没有对此作出任何改变。
2015年1月27日，工信部回应VPN被封事件，表示一些不良信息应该按照中国法律进行管理。[1]
工信部此前发布规定，在中国提供VPN服务的公司必须登记注册，否则将“不会受到中国法律的保护”工作原理编辑
通常情况下，VPN网关采取双网卡结构，外网卡使用公网IP接入Internet。
网络一(假定为公网internet)的终端A访问网络二(假定为公司内网)的终端B，其发出的访问数据包的目标地址为终端B的内部IP地址。
网络二的VPN网关在接收到终端A发出的访问数据包时对其目标地址进行检查，如果目标地址属于网络二的地址，则将该数据包进行封装，封装的方式根据所采用的VPN技术不同而不同，同时VPN网关会构造一个新VPN数据包，并将封装后的原数据包作为VPN数据包的负载，VPN数据包的目标地址为网络二的VPN网关的外部地址。
网络二的VPN网关将VPN数据包发送到Internet，由于VPN数据包的目标地址是网络一的VPN网关的外部地址，所以该数据包将被Internet中的路由正确地发送到网络二的VPN网关。
网络二的VPN网关对接收到的数据包进行检查，如果发现该数据包是从网络一的VPN网关发出的，即可判定该数据包为VPN数据包，并对该数据包进行解包处理。解包的过程主要是先将VPN数据包的包头剥离，再将数据包反向处理还原成原始的数据包。
网络二的VPN网关将还原后的原始数据包发送至目标终端B，由于原始数据包的目标地址是终端B的IP，所以该数据包能够被正确地发送到终端B。在终端B看来，它收到的数据包就和从终端A直接发过来的一样。
从终端B返回终端A的数据包处理过程和上述过程一样，这样两个网络内的终端就可以相互通讯了。
通过上述说明可以发现，在VPN网关对数据包进行处理时，有两个参数对于VPN通讯十分重要：原始数据包的目标地址（VPN目标地址）和远程VPN网关地址。根据VPN目标地址，VPN网关能够判断对哪些数据包进行VPN处理，对于不需要处理的数据包通常情况下可直接转发到上级路由；远程VPN网关地址则指定了处理后的VPN数据包发送的目标地址，即VPN隧道的另一端VPN网关地址。由于网络通讯是双向的，在进行VPN通讯时，隧道两端的VPN网关都必须知道VPN目标地址和与此对应的远端VPN网关地址。
分类标准编辑
根据不同的划分标准，VPN可以按几个标准进行分类划分：
1、按VPN的协议分类：
VPN的隧道协议主要有三种，PPTP、L2TP和IPSec，其中PPTP和L2TP协议工作在OSI模型的第二层，又称为二层隧道协议；IPSec是第三层隧道协议。
2、按VPN的应用分类：
（1）Access VPN（远程接入VPN）：客户端到网关，使用公网作为骨干网在设备之间传输VPN数据流量；
（2）Intranet VPN（内联网VPN）：网关到网关，通过公司的网络架构连接来自同公司的资源；
（3）Extranet VPN（外联网VPN）：与合作伙伴企业网构成Extranet，将一个公司与另一个公司的资源进行连接。
3、按所用的设备类型进行分类：
网络设备提供商针对不同客户的需求，开发出不同的VPN网络设备，主要为交换机、路由器和防火墙：
（1）路由器式VPN：路由器式VPN部署较容易，只要在路由器上添加VPN服务即可；
（2）交换机式VPN：主要应用于连接用户较少的VPN网络；
（3）防火墙式VPN：防火墙式VPN是最常见的一种VPN的实现方式，许多厂商都提供这种配置类型
4．按照实现原理划分：
（1）重叠VPN：此VPN需要用户自己建立端节点之间的VPN链路，主要包括：GRE、L2TP、IPSec等众多技术。
（2）对等VPN：由网络运营商在主干网上完成VPN通道的建立，主要包括MPLS、VPN技术。
实现方式编辑
VPN的实现有很多种方法，常用的有以下四种：
1．VPN服务器：在大型局域网中，可以通过在网络中心搭建VPN服务器的方法实现VPN。
2．软件VPN：可以通过专用的软件实现VPN。
3．硬件VPN：可以通过专用的硬件实现VPN。
4．集成VPN：某些硬件设备，如路由器、防火墙等，都含有VPN功能，但是一般拥有VPN功能的硬件设备通常都比没有这一功能的要贵。
常用VPN技术编辑
1．MPLS VPN是一种基于MPLS技术的IP VPN，是在网络路由和交换设备上应用MPLS（Multiprotocol Label Switching，多协议标记交换）技术，简化核心路由器的路由选择方式，利用结合传统路由技术的标记交换实现的IP虚拟专用网络（IP VPN）。MPLS优势在于将二层交换和三层路由技术结合起来，在解决VPN、服务分类和流量工程这些IP网络的重大问题时具有很优异的表现。因此，MPLS VPN在解决企业互连、提供各种新业务方面也越来越被运营商看好，成为在IP网络运营商提供增值业务的重要手段。MPLS VPN又可分为二层MPLS VPN（即MPLS L2 VPN）和三层MPLS VPN（即MPLS L3 VPN）。
2．SSL VPN是以HTTPS（Secure HTTP，安全的HTTP，即支持SSL的HTTP协议）为基础的VPN技术，工作在传输层和应用层之间。SSL VPN充分利用了SSL协议提供的基于证书的身份认证、数据加密和消息完整性验证机制，可以为应用层之间的通信建立安全连接。SSL VPN广泛应用于基于Web的远程安全接入，为用户远程访问公司内部网络提供了安全保证。
3．IPSec VPN是基于IPSec协议的VPN技术，由IPSec协议提供隧道安全保障。IPSec是一种由IETF设计的端到端的确保基于IP通讯的数据安全性的机制。它为Internet上传输的数据提供了高质量的、可互操作的、基于密码学的安全保证。
常见问题编辑
错误691：提示“由于域上的用户名和/或密码无效而拒绝访问”
一般的原因是VPN连接时输入的账户和/或密码不正确，或是没有使用VPN服务的权限。
VPN一个账号默认仅限一台电脑使用，检查您的用户名有无登录重复。
若您是在使用的途中掉线了，不要急着再次连接，请耐心等待几分钟。
若还是提示错误，请联系网络管理员。
错误691：提示“端口已断开连接”
市面上有一小部分的路由器对VPN支持不好，从而引起错误691、只能连接几台机、经常掉线等多种问题，有时候还会出现错误800。原因是路由器采用NAT方式，不能让VPN协议穿透。
如果计算机中开启了系统防火墙，可以先关闭后再重试。
如果偶尔出现，重拨几次，或者重新启动计算机及路由器后再重试。
如果是通过局域网或者通过路由器上网的用户，请网络管理员在服务器或者路由器上打开UDP端口1701~1704。
如果路由器中不能设置，可以尝试将计算机直接连到外网，用单机拨号方式连接互联网，再重试VPN拨号。
部分网络如校园网、广电网、长城宽带、宽带通，容易出现691错误，需要与网络接入部门联系。
安装了简化版的操作系统容易缺少相关组件，可以下载安装错误691注册表文件。
错误721：提示“远程计算机没反应”
这种情况可能是网络延迟造成的，可以多连几次试试，如果还是不行，可以尝试以下解决方法：
单击“开始”，然后单击“运行”。
在“运行”中，键入regedit.exe，然后单击“确定”。
在注册表编辑器中，找到以下子项：HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Class/{4D36E972-E325-11CE-BFC1-08002bE10318}/<000x>，其中<000x>是WAN微型端口（PPTP）驱动程序的网络适配器。
在“编辑”菜单上，指向“新建”，然后单击“DWORD 值”。
键入ValidateAddress，然后按 Enter。该值的默认设置为“1”（打开）；因此，您可以通过将其设置为“0”将其关闭。
退出注册表编辑器。
重新启动计算机。
错误742/741：提示“远程服务器不支持加密”
选择VPN连接，右键属性，点击安全。
在数据加密项选择“没有加密也可以连接”（Win7下点击网络共享中心—更改适配器—点击VPN连接图标—查看属性—安全数据加密—选择“没有加密也可以连接”）。
错误800：提示是“不能建立VPN连接，VPN服务器不能到达”
如果计算机中开启了系统防火墙，可以先关闭后再重试。
如果有安装路由器的用户，建议重启一下路由器。
部分网络如校园网、广电网、长城宽带、宽带通，容易出现800错误，需要与网络接入部门联系。
桌面右键单击“我的电脑”或“计算机”，打开“管理”，在“服务和应用程序”中，点击“服务”，找到“IPsec Policy Agent”服务，检查有没有禁用该服务。如果为禁用状态则改为自动状态，启动该服务。
错误619
如果打开了防火墙（包括系统自带的）：关闭防火墙，或者设置防火墙允许UDP 1701端口。
使用路由器上网：不使用路由器，或者映射UDP 1701端口。
如果无以上两种现象存在，但是还出现619错误：关闭所有正在使用网络的软件，重新启动计算机然后重新进行连接。
连上国外VPN后打开国内网页速度很慢
因为连接上了VPN的国外线路，本地网络出口已经变更为了国家带宽出口，因此在连接VPN的状态下访问国内的网页速度是比较慢的，可简单理解成：因为线路的传输需要从国内到国外，再从国外返回国内。而如果是访问国外网页的话，此时线路方式从国内直接传输到国外是相对最快的。而且还取决于您所选的线路距离，如果您选择的是美国的线路，那么访问国内的网页肯定较慢。
移动终端连接不上
当前网络是3G网络：3G网络通常都不稳定，不保证每次都可以连接上。
如果正在办公室使用公司的无线网络但连不上VPN或发生无法响应PPTP服务器错误：请详细咨询相关人员所处的网络宽带服务商是否支持VPN，其次看所处的网络路由器是否禁止了VPN端口。
电脑上可以连接VPN，但手机就不行：请确认电脑中的VPN是否处于“正在连接”的状态，如果是，请先断开电脑中的，再次连接手机试试。请注意一个账号不能同时登录在两个设备中。
错误789
连接尝试失败，因为安全层在初始化与远程计算机的协商时遇到一个处理错误
1. 单击“开始”，单击“运行”，键入“regedit”，然后单击“确定”
2. 找到下面的注册表子项，然后单击它：
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rasman\Parameters
3. 在“编辑”菜单上，单击“新建”->“DWORD值”
4. 在“名称”框中，键入“ProhibitIpSec”
5. 在“数值数据”框中，键入“1”，然后单击“确定”
6. 退出注册表编辑器，然后重新启动计算机
评价编辑
优点

VPN能够让移动员工、远程员工、商务合作伙伴和其他人利用本地可用的高速宽带网连接（如DSL、有线电视或者WiFi网络）连接到企业网络。此外，高速宽带网连接提供一种成本效率高的连接远程办公室的方法。
设计良好的宽带VPN是模块化的和可升级的。VPN能够让应用者使用一种很容易设置的互联网基础设施，让新的用户迅速和轻松地添加到这个网络。这种能力意味着企业不用增加额外的基础设施就可以提供大量的容量和应用。
VPN能提供高水平的安全，使用高级的加密和身份识别协议保护数据避免受到窥探，阻止数据窃贼和其他非授权用户接触这种数据。
完全控制，虚拟专用网使用户可以利用ISP的设施和服务，同时又完全掌握着自己网络的控制权。用户只利用ISP提供的网络资源，对于其它的安全设置、网络管理变化可由自己管理。在企业内部也可以自己建立虚拟专用网。
缺点

企业不能直接控制基于互联网的VPN的可靠性和性能。机构必须依靠提供VPN的互联网服务提供商保证服务的运行。这个因素使企业与互联网服务提供商签署一个服务级协议非常重要，要签署一个保证各种性能指标的协议。
企业创建和部署VPN线路并不容易。这种技术需要高水平地理解网络和安全问题，需要认真的规划和配置。因此，选择互联网服务提供商负责运行VPN的大多数事情是一个好主意。
不同厂商的VPN产品和解决方案总是不兼容的，因为许多厂商不愿意或者不能遵守VPN技术标准。因此，混合使用不同厂商的产品可能会出现技术问题。另一方面，使用一家供应商的设备可能会提高成本。
当使用无线设备时，VPN有安全风险。在接入点之间漫游特别容易出问题。当用户在接入点之间漫游的时候，任何使用高级加密技术的解决方案都可能被攻破。
各个系统下VPN的登陆配置编辑
Windows XP

建立一个新连接；
选择“连接到我工作的地方的网络”；
选择“虚拟专用网络连接”；
设定连接名称（例如：VPN）；
输入主机名称或公网IP地址；
完成新增连接，勾选“将这个连接的快捷方式加到我的桌面”（以便日后连接）；
输入账号，密码，即可连接。
Windows 7

在画面右下角，点选网络连接，然后选择“打开网络共享中心”；
在弹出的对话窗口中，选择“设置新的连接或网络”；
选择“连接到工作区”，然后选择“使用我的Internet连接（VPN），通过Internet使用虚拟专用网络（VPN）来连接”，然后单击“我将稍后设置Internet连接”；
在“Internet 地址”里，填上VPN提供的IP地址。填好IP后，其它东西都不用管它，直接点击下一步。目标名称填写“VPN连接”；
填VPN的用户名和密码，先不要填，点“创建”；
到这里就完成的连接设置导向。点击“关闭”。；
回到桌面右键点击“网络”->“属性”，再点击一下左边的“更改适配器设置”；
找到刚才建好的“VPN连接”并双击打开；
填写提供的VPN用户名和密码，“域”可以不用填写。然后点击属性->安全；
在“数据加密”这一项选中“可选加密（没有加密也可以连接）”选好后点击“确定”。VPN类型自动，使用这些协议选择CHAP，MS-CHAP v2；
整个Windows7 VPN过程都设置完成了。点击“连接”就可以了。
Ubuntu

1.画面右上角最右端图标单击，选择“系统设置”
2.选择“网络”，选择添加网络，接口VPN，创建。
Android

打开手机主菜单，选择“设置”；
选择“无线和网络”；
选择“虚拟专用网设置”；
选择“添加虚拟专用网”；
选择PPTP方式；
输入虚拟专用网名称（如VPN）；
填写服务器域名，点击“确定”。然后按menu键，保存设置；
点击打开刚刚建好的连接，填写用户名和密码，点击“连接”。
iOS

点击桌面上的“设置”图标进入设置；
点击“通用”进入通用设置；
点击“网络”，进入网络设置；
点击“VPN”进入设置；
点击“添加VPN配置”；
在协议类型上选择“PPTP”，在“描述”栏中填入“VPN”，在服务器栏中填入服务器域名，在账户和密码栏中填入用户名和密码，其他设置保持不变，然后点击“存储”。；
点击“VPN”开关，就会开启连接，连接成功后，右上角会出现小图标。
OS X

从任务栏菜单打开系统设置，选择“网络”；
在新对话框中选择“添加”，然后从下拉菜单选择“VPN”；
从VPN类型下拉菜单中选择PPTP。填写服务名称，点击“创建”按钮；
在配置下拉菜单中选择“增加配置”；
填写服务器地址，用户名；
点击“认证配置”按钮，在弹出的对话框中选择“密码”单选框，并输入密码；
回到主设置框，点击“应用”保存设置即可。
相关法律法规编辑
2003年4月，信息产业部颁发了《电信业务分类目录》，取消了国际电信业务的分类，同时将虚拟专用网业务自基础电信业务中分离出来，成为独立的增值电信业务分类。但是此处的“虚拟专用网”概念与行业内的VPN业务是不一样的。新的《电信业务分类目录》中对该分类的解释是：国内因特网虚拟专用网业务（IP-VPN）是指经营者利用自有的或租用公用因特网网络资源，采用TCP/IP协议，为国内用户定制因特网闭合用户群网络的服务。这种分类的解释强调了两个特点，一个是利用因特网网络资源，一个是采用TCP/IP协议。这种解释是与当时的市场状况所对应的，当时关注的是基于互连网的IPSec VPN，虽然该解释可以基本涵盖后出现的SSL VPN模式，但并没有关注MPLS VPN。
2003年8月，信息产业部发布《关于组织开展国内多方通信服务等三项电信业务商用试验的通知》，就“国内多方通信服务业务”、“在线数据处理与交易处理业务”、“国内因特网虚拟专用网业务”等三项增值电信业务组织开展商用试验，有效期至2004年8月底。
2004年11月，信息产业部发布《关于继续开展国内多方通信服务等三项增值电信业务商用试验的通告》，决定将以上三项增值电信业务商用试验期延长一年，至2005年8月31日。
2006年1月，信息产业部发布《关于两项增值电信业务及国内多方通信服务的通告》，正式开放“国内因特网虚拟专用网业务”和“在线数据处理与交易处理业务”两项增值电信业务，上述两项增值电信业务由商用试验转为正式商用。
2008年，正式颁发IP-VPN业务牌照。名为IPSec VPN的中国“国内因特网虚拟专用网”增值电信业务许可证自其诞生之日起即以MPLS VPN为发展方向，导致VPN市场无规可循，实际上是在“灰色运营”。
2013年，工业与信息化部公布的《电信业务分类目录（征求意见稿）》中仍然没有对此作出任何改变。
2015年1月27日，工信部回应VPN被封事件，表示一些不良信息应该按照中国法律进行管理。[1]
工信部此前发布规定，在中国提供VPN服务的公司必须登记注册，否则将“不会受到中国法律的保护”工作原理编辑
通常情况下，VPN网关采取双网卡结构，外网卡使用公网IP接入Internet。
网络一(假定为公网internet)的终端A访问网络二(假定为公司内网)的终端B，其发出的访问数据包的目标地址为终端B的内部IP地址。
网络二的VPN网关在接收到终端A发出的访问数据包时对其目标地址进行检查，如果目标地址属于网络二的地址，则将该数据包进行封装，封装的方式根据所采用的VPN技术不同而不同，同时VPN网关会构造一个新VPN数据包，并将封装后的原数据包作为VPN数据包的负载，VPN数据包的目标地址为网络二的VPN网关的外部地址。
网络二的VPN网关将VPN数据包发送到Internet，由于VPN数据包的目标地址是网络一的VPN网关的外部地址，所以该数据包将被Internet中的路由正确地发送到网络二的VPN网关。
网络二的VPN网关对接收到的数据包进行检查，如果发现该数据包是从网络一的VPN网关发出的，即可判定该数据包为VPN数据包，并对该数据包进行解包处理。解包的过程主要是先将VPN数据包的包头剥离，再将数据包反向处理还原成原始的数据包。
网络二的VPN网关将还原后的原始数据包发送至目标终端B，由于原始数据包的目标地址是终端B的IP，所以该数据包能够被正确地发送到终端B。在终端B看来，它收到的数据包就和从终端A直接发过来的一样。
从终端B返回终端A的数据包处理过程和上述过程一样，这样两个网络内的终端就可以相互通讯了。
通过上述说明可以发现，在VPN网关对数据包进行处理时，有两个参数对于VPN通讯十分重要：原始数据包的目标地址（VPN目标地址）和远程VPN网关地址。根据VPN目标地址，VPN网关能够判断对哪些数据包进行VPN处理，对于不需要处理的数据包通常情况下可直接转发到上级路由；远程VPN网关地址则指定了处理后的VPN数据包发送的目标地址，即VPN隧道的另一端VPN网关地址。由于网络通讯是双向的，在进行VPN通讯时，隧道两端的VPN网关都必须知道VPN目标地址和与此对应的远端VPN网关地址。
分类标准编辑
根据不同的划分标准，VPN可以按几个标准进行分类划分：
1、按VPN的协议分类：
VPN的隧道协议主要有三种，PPTP、L2TP和IPSec，其中PPTP和L2TP协议工作在OSI模型的第二层，又称为二层隧道协议；IPSec是第三层隧道协议。
2、按VPN的应用分类：
（1）Access VPN（远程接入VPN）：客户端到网关，使用公网作为骨干网在设备之间传输VPN数据流量；
（2）Intranet VPN（内联网VPN）：网关到网关，通过公司的网络架构连接来自同公司的资源；
（3）Extranet VPN（外联网VPN）：与合作伙伴企业网构成Extranet，将一个公司与另一个公司的资源进行连接。
3、按所用的设备类型进行分类：
网络设备提供商针对不同客户的需求，开发出不同的VPN网络设备，主要为交换机、路由器和防火墙：
（1）路由器式VPN：路由器式VPN部署较容易，只要在路由器上添加VPN服务即可；
（2）交换机式VPN：主要应用于连接用户较少的VPN网络；
（3）防火墙式VPN：防火墙式VPN是最常见的一种VPN的实现方式，许多厂商都提供这种配置类型
4．按照实现原理划分：
（1）重叠VPN：此VPN需要用户自己建立端节点之间的VPN链路，主要包括：GRE、L2TP、IPSec等众多技术。
（2）对等VPN：由网络运营商在主干网上完成VPN通道的建立，主要包括MPLS、VPN技术。
实现方式编辑
VPN的实现有很多种方法，常用的有以下四种：
1．VPN服务器：在大型局域网中，可以通过在网络中心搭建VPN服务器的方法实现VPN。
2．软件VPN：可以通过专用的软件实现VPN。
3．硬件VPN：可以通过专用的硬件实现VPN。
4．集成VPN：某些硬件设备，如路由器、防火墙等，都含有VPN功能，但是一般拥有VPN功能的硬件设备通常都比没有这一功能的要贵。
常用VPN技术编辑
1．MPLS VPN是一种基于MPLS技术的IP VPN，是在网络路由和交换设备上应用MPLS（Multiprotocol Label Switching，多协议标记交换）技术，简化核心路由器的路由选择方式，利用结合传统路由技术的标记交换实现的IP虚拟专用网络（IP VPN）。MPLS优势在于将二层交换和三层路由技术结合起来，在解决VPN、服务分类和流量工程这些IP网络的重大问题时具有很优异的表现。因此，MPLS VPN在解决企业互连、提供各种新业务方面也越来越被运营商看好，成为在IP网络运营商提供增值业务的重要手段。MPLS VPN又可分为二层MPLS VPN（即MPLS L2 VPN）和三层MPLS VPN（即MPLS L3 VPN）。
2．SSL VPN是以HTTPS（Secure HTTP，安全的HTTP，即支持SSL的HTTP协议）为基础的VPN技术，工作在传输层和应用层之间。SSL VPN充分利用了SSL协议提供的基于证书的身份认证、数据加密和消息完整性验证机制，可以为应用层之间的通信建立安全连接。SSL VPN广泛应用于基于Web的远程安全接入，为用户远程访问公司内部网络提供了安全保证。
3．IPSec VPN是基于IPSec协议的VPN技术，由IPSec协议提供隧道安全保障。IPSec是一种由IETF设计的端到端的确保基于IP通讯的数据安全性的机制。它为Internet上传输的数据提供了高质量的、可互操作的、基于密码学的安全保证。
常见问题编辑
错误691：提示“由于域上的用户名和/或密码无效而拒绝访问”
一般的原因是VPN连接时输入的账户和/或密码不正确，或是没有使用VPN服务的权限。
VPN一个账号默认仅限一台电脑使用，检查您的用户名有无登录重复。
若您是在使用的途中掉线了，不要急着再次连接，请耐心等待几分钟。
若还是提示错误，请联系网络管理员。
错误691：提示“端口已断开连接”
市面上有一小部分的路由器对VPN支持不好，从而引起错误691、只能连接几台机、经常掉线等多种问题，有时候还会出现错误800。原因是路由器采用NAT方式，不能让VPN协议穿透。
如果计算机中开启了系统防火墙，可以先关闭后再重试。
如果偶尔出现，重拨几次，或者重新启动计算机及路由器后再重试。
如果是通过局域网或者通过路由器上网的用户，请网络管理员在服务器或者路由器上打开UDP端口1701~1704。
如果路由器中不能设置，可以尝试将计算机直接连到外网，用单机拨号方式连接互联网，再重试VPN拨号。
部分网络如校园网、广电网、长城宽带、宽带通，容易出现691错误，需要与网络接入部门联系。
安装了简化版的操作系统容易缺少相关组件，可以下载安装错误691注册表文件。
错误721：提示“远程计算机没反应”
这种情况可能是网络延迟造成的，可以多连几次试试，如果还是不行，可以尝试以下解决方法：
单击“开始”，然后单击“运行”。
在“运行”中，键入regedit.exe，然后单击“确定”。
在注册表编辑器中，找到以下子项：HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Class/{4D36E972-E325-11CE-BFC1-08002bE10318}/<000x>，其中<000x>是WAN微型端口（PPTP）驱动程序的网络适配器。
在“编辑”菜单上，指向“新建”，然后单击“DWORD 值”。
键入ValidateAddress，然后按 Enter。该值的默认设置为“1”（打开）；因此，您可以通过将其设置为“0”将其关闭。
退出注册表编辑器。
重新启动计算机。
错误742/741：提示“远程服务器不支持加密”
选择VPN连接，右键属性，点击安全。
在数据加密项选择“没有加密也可以连接”（Win7下点击网络共享中心—更改适配器—点击VPN连接图标—查看属性—安全数据加密—选择“没有加密也可以连接”）。
错误800：提示是“不能建立VPN连接，VPN服务器不能到达”
如果计算机中开启了系统防火墙，可以先关闭后再重试。
如果有安装路由器的用户，建议重启一下路由器。
部分网络如校园网、广电网、长城宽带、宽带通，容易出现800错误，需要与网络接入部门联系。
桌面右键单击“我的电脑”或“计算机”，打开“管理”，在“服务和应用程序”中，点击“服务”，找到“IPsec Policy Agent”服务，检查有没有禁用该服务。如果为禁用状态则改为自动状态，启动该服务。
错误619
如果打开了防火墙（包括系统自带的）：关闭防火墙，或者设置防火墙允许UDP 1701端口。
使用路由器上网：不使用路由器，或者映射UDP 1701端口。
如果无以上两种现象存在，但是还出现619错误：关闭所有正在使用网络的软件，重新启动计算机然后重新进行连接。
连上国外VPN后打开国内网页速度很慢
因为连接上了VPN的国外线路，本地网络出口已经变更为了国家带宽出口，因此在连接VPN的状态下访问国内的网页速度是比较慢的，可简单理解成：因为线路的传输需要从国内到国外，再从国外返回国内。而如果是访问国外网页的话，此时线路方式从国内直接传输到国外是相对最快的。而且还取决于您所选的线路距离，如果您选择的是美国的线路，那么访问国内的网页肯定较慢。
移动终端连接不上
当前网络是3G网络：3G网络通常都不稳定，不保证每次都可以连接上。
如果正在办公室使用公司的无线网络但连不上VPN或发生无法响应PPTP服务器错误：请详细咨询相关人员所处的网络宽带服务商是否支持VPN，其次看所处的网络路由器是否禁止了VPN端口。
电脑上可以连接VPN，但手机就不行：请确认电脑中的VPN是否处于“正在连接”的状态，如果是，请先断开电脑中的，再次连接手机试试。请注意一个账号不能同时登录在两个设备中。
错误789
连接尝试失败，因为安全层在初始化与远程计算机的协商时遇到一个处理错误
1. 单击“开始”，单击“运行”，键入“regedit”，然后单击“确定”
2. 找到下面的注册表子项，然后单击它：
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rasman\Parameters
3. 在“编辑”菜单上，单击“新建”->“DWORD值”
4. 在“名称”框中，键入“ProhibitIpSec”
5. 在“数值数据”框中，键入“1”，然后单击“确定”
6. 退出注册表编辑器，然后重新启动计算机
评价编辑
优点

VPN能够让移动员工、远程员工、商务合作伙伴和其他人利用本地可用的高速宽带网连接（如DSL、有线电视或者WiFi网络）连接到企业网络。此外，高速宽带网连接提供一种成本效率高的连接远程办公室的方法。
设计良好的宽带VPN是模块化的和可升级的。VPN能够让应用者使用一种很容易设置的互联网基础设施，让新的用户迅速和轻松地添加到这个网络。这种能力意味着企业不用增加额外的基础设施就可以提供大量的容量和应用。
VPN能提供高水平的安全，使用高级的加密和身份识别协议保护数据避免受到窥探，阻止数据窃贼和其他非授权用户接触这种数据。
完全控制，虚拟专用网使用户可以利用ISP的设施和服务，同时又完全掌握着自己网络的控制权。用户只利用ISP提供的网络资源，对于其它的安全设置、网络管理变化可由自己管理。在企业内部也可以自己建立虚拟专用网。
缺点

企业不能直接控制基于互联网的VPN的可靠性和性能。机构必须依靠提供VPN的互联网服务提供商保证服务的运行。这个因素使企业与互联网服务提供商签署一个服务级协议非常重要，要签署一个保证各种性能指标的协议。
企业创建和部署VPN线路并不容易。这种技术需要高水平地理解网络和安全问题，需要认真的规划和配置。因此，选择互联网服务提供商负责运行VPN的大多数事情是一个好主意。
不同厂商的VPN产品和解决方案总是不兼容的，因为许多厂商不愿意或者不能遵守VPN技术标准。因此，混合使用不同厂商的产品可能会出现技术问题。另一方面，使用一家供应商的设备可能会提高成本。
当使用无线设备时，VPN有安全风险。在接入点之间漫游特别容易出问题。当用户在接入点之间漫游的时候，任何使用高级加密技术的解决方案都可能被攻破。
各个系统下VPN的登陆配置编辑
Windows XP

建立一个新连接；
选择“连接到我工作的地方的网络”；
选择“虚拟专用网络连接”；
设定连接名称（例如：VPN）；
输入主机名称或公网IP地址；
完成新增连接，勾选“将这个连接的快捷方式加到我的桌面”（以便日后连接）；
输入账号，密码，即可连接。
Windows 7

在画面右下角，点选网络连接，然后选择“打开网络共享中心”；
在弹出的对话窗口中，选择“设置新的连接或网络”；
选择“连接到工作区”，然后选择“使用我的Internet连接（VPN），通过Internet使用虚拟专用网络（VPN）来连接”，然后单击“我将稍后设置Internet连接”；
在“Internet 地址”里，填上VPN提供的IP地址。填好IP后，其它东西都不用管它，直接点击下一步。目标名称填写“VPN连接”；
填VPN的用户名和密码，先不要填，点“创建”；
到这里就完成的连接设置导向。点击“关闭”。；
回到桌面右键点击“网络”->“属性”，再点击一下左边的“更改适配器设置”；
找到刚才建好的“VPN连接”并双击打开；
填写提供的VPN用户名和密码，“域”可以不用填写。然后点击属性->安全；
在“数据加密”这一项选中“可选加密（没有加密也可以连接）”选好后点击“确定”。VPN类型自动，使用这些协议选择CHAP，MS-CHAP v2；
整个Windows7 VPN过程都设置完成了。点击“连接”就可以了。
Ubuntu

1.画面右上角最右端图标单击，选择“系统设置”
2.选择“网络”，选择添加网络，接口VPN，创建。
Android

打开手机主菜单，选择“设置”；
选择“无线和网络”；
选择“虚拟专用网设置”；
选择“添加虚拟专用网”；
选择PPTP方式；
输入虚拟专用网名称（如VPN）；
填写服务器域名，点击“确定”。然后按menu键，保存设置；
点击打开刚刚建好的连接，填写用户名和密码，点击“连接”。
iOS

点击桌面上的“设置”图标进入设置；
点击“通用”进入通用设置；
点击“网络”，进入网络设置；
点击“VPN”进入设置；
点击“添加VPN配置”；
在协议类型上选择“PPTP”，在“描述”栏中填入“VPN”，在服务器栏中填入服务器域名，在账户和密码栏中填入用户名和密码，其他设置保持不变，然后点击“存储”。；
点击“VPN”开关，就会开启连接，连接成功后，右上角会出现小图标。
OS X

从任务栏菜单打开系统设置，选择“网络”；
在新对话框中选择“添加”，然后从下拉菜单选择“VPN”；
从VPN类型下拉菜单中选择PPTP。填写服务名称，点击“创建”按钮；
在配置下拉菜单中选择“增加配置”；
填写服务器地址，用户名；
点击“认证配置”按钮，在弹出的对话框中选择“密码”单选框，并输入密码；
回到主设置框，点击“应用”保存设置即可。
相关法律法规编辑
2003年4月，信息产业部颁发了《电信业务分类目录》，取消了国际电信业务的分类，同时将虚拟专用网业务自基础电信业务中分离出来，成为独立的增值电信业务分类。但是此处的“虚拟专用网”概念与行业内的VPN业务是不一样的。新的《电信业务分类目录》中对该分类的解释是：国内因特网虚拟专用网业务（IP-VPN）是指经营者利用自有的或租用公用因特网网络资源，采用TCP/IP协议，为国内用户定制因特网闭合用户群网络的服务。这种分类的解释强调了两个特点，一个是利用因特网网络资源，一个是采用TCP/IP协议。这种解释是与当时的市场状况所对应的，当时关注的是基于互连网的IPSec VPN，虽然该解释可以基本涵盖后出现的SSL VPN模式，但并没有关注MPLS VPN。
2003年8月，信息产业部发布《关于组织开展国内多方通信服务等三项电信业务商用试验的通知》，就“国内多方通信服务业务”、“在线数据处理与交易处理业务”、“国内因特网虚拟专用网业务”等三项增值电信业务组织开展商用试验，有效期至2004年8月底。
2004年11月，信息产业部发布《关于继续开展国内多方通信服务等三项增值电信业务商用试验的通告》，决定将以上三项增值电信业务商用试验期延长一年，至2005年8月31日。
2006年1月，信息产业部发布《关于两项增值电信业务及国内多方通信服务的通告》，正式开放“国内因特网虚拟专用网业务”和“在线数据处理与交易处理业务”两项增值电信业务，上述两项增值电信业务由商用试验转为正式商用。
2008年，正式颁发IP-VPN业务牌照。名为IPSec VPN的中国“国内因特网虚拟专用网”增值电信业务许可证自其诞生之日起即以MPLS VPN为发展方向，导致VPN市场无规可循，实际上是在“灰色运营”。
2013年，工业与信息化部公布的《电信业务分类目录（征求意见稿）》中仍然没有对此作出任何改变。
2015年1月27日，工信部回应VPN被封事件，表示一些不良信息应该按照中国法律进行管理。[1]
工信部此前发布规定，在中国提供VPN服务的公司必须登记注册，否则将“不会受到中国法律的保护”工作原理编辑
通常情况下，VPN网关采取双网卡结构，外网卡使用公网IP接入Internet。
网络一(假定为公网internet)的终端A访问网络二(假定为公司内网)的终端B，其发出的访问数据包的目标地址为终端B的内部IP地址。
网络二的VPN网关在接收到终端A发出的访问数据包时对其目标地址进行检查，如果目标地址属于网络二的地址，则将该数据包进行封装，封装的方式根据所采用的VPN技术不同而不同，同时VPN网关会构造一个新VPN数据包，并将封装后的原数据包作为VPN数据包的负载，VPN数据包的目标地址为网络二的VPN网关的外部地址。
网络二的VPN网关将VPN数据包发送到Internet，由于VPN数据包的目标地址是网络一的VPN网关的外部地址，所以该数据包将被Internet中的路由正确地发送到网络二的VPN网关。
网络二的VPN网关对接收到的数据包进行检查，如果发现该数据包是从网络一的VPN网关发出的，即可判定该数据包为VPN数据包，并对该数据包进行解包处理。解包的过程主要是先将VPN数据包的包头剥离，再将数据包反向处理还原成原始的数据包。
网络二的VPN网关将还原后的原始数据包发送至目标终端B，由于原始数据包的目标地址是终端B的IP，所以该数据包能够被正确地发送到终端B。在终端B看来，它收到的数据包就和从终端A直接发过来的一样。
从终端B返回终端A的数据包处理过程和上述过程一样，这样两个网络内的终端就可以相互通讯了。
通过上述说明可以发现，在VPN网关对数据包进行处理时，有两个参数对于VPN通讯十分重要：原始数据包的目标地址（VPN目标地址）和远程VPN网关地址。根据VPN目标地址，VPN网关能够判断对哪些数据包进行VPN处理，对于不需要处理的数据包通常情况下可直接转发到上级路由；远程VPN网关地址则指定了处理后的VPN数据包发送的目标地址，即VPN隧道的另一端VPN网关地址。由于网络通讯是双向的，在进行VPN通讯时，隧道两端的VPN网关都必须知道VPN目标地址和与此对应的远端VPN网关地址。
分类标准编辑
根据不同的划分标准，VPN可以按几个标准进行分类划分：
1、按VPN的协议分类：
VPN的隧道协议主要有三种，PPTP、L2TP和IPSec，其中PPTP和L2TP协议工作在OSI模型的第二层，又称为二层隧道协议；IPSec是第三层隧道协议。
2、按VPN的应用分类：
（1）Access VPN（远程接入VPN）：客户端到网关，使用公网作为骨干网在设备之间传输VPN数据流量；
（2）Intranet VPN（内联网VPN）：网关到网关，通过公司的网络架构连接来自同公司的资源；
（3）Extranet VPN（外联网VPN）：与合作伙伴企业网构成Extranet，将一个公司与另一个公司的资源进行连接。
3、按所用的设备类型进行分类：
网络设备提供商针对不同客户的需求，开发出不同的VPN网络设备，主要为交换机、路由器和防火墙：
（1）路由器式VPN：路由器式VPN部署较容易，只要在路由器上添加VPN服务即可；
（2）交换机式VPN：主要应用于连接用户较少的VPN网络；
（3）防火墙式VPN：防火墙式VPN是最常见的一种VPN的实现方式，许多厂商都提供这种配置类型
4．按照实现原理划分：
（1）重叠VPN：此VPN需要用户自己建立端节点之间的VPN链路，主要包括：GRE、L2TP、IPSec等众多技术。
（2）对等VPN：由网络运营商在主干网上完成VPN通道的建立，主要包括MPLS、VPN技术。
实现方式编辑
VPN的实现有很多种方法，常用的有以下四种：
1．VPN服务器：在大型局域网中，可以通过在网络中心搭建VPN服务器的方法实现VPN。
2．软件VPN：可以通过专用的软件实现VPN。
3．硬件VPN：可以通过专用的硬件实现VPN。
4．集成VPN：某些硬件设备，如路由器、防火墙等，都含有VPN功能，但是一般拥有VPN功能的硬件设备通常都比没有这一功能的要贵。
常用VPN技术编辑
1．MPLS VPN是一种基于MPLS技术的IP VPN，是在网络路由和交换设备上应用MPLS（Multiprotocol Label Switching，多协议标记交换）技术，简化核心路由器的路由选择方式，利用结合传统路由技术的标记交换实现的IP虚拟专用网络（IP VPN）。MPLS优势在于将二层交换和三层路由技术结合起来，在解决VPN、服务分类和流量工程这些IP网络的重大问题时具有很优异的表现。因此，MPLS VPN在解决企业互连、提供各种新业务方面也越来越被运营商看好，成为在IP网络运营商提供增值业务的重要手段。MPLS VPN又可分为二层MPLS VPN（即MPLS L2 VPN）和三层MPLS VPN（即MPLS L3 VPN）。
2．SSL VPN是以HTTPS（Secure HTTP，安全的HTTP，即支持SSL的HTTP协议）为基础的VPN技术，工作在传输层和应用层之间。SSL VPN充分利用了SSL协议提供的基于证书的身份认证、数据加密和消息完整性验证机制，可以为应用层之间的通信建立安全连接。SSL VPN广泛应用于基于Web的远程安全接入，为用户远程访问公司内部网络提供了安全保证。
3．IPSec VPN是基于IPSec协议的VPN技术，由IPSec协议提供隧道安全保障。IPSec是一种由IETF设计的端到端的确保基于IP通讯的数据安全性的机制。它为Internet上传输的数据提供了高质量的、可互操作的、基于密码学的安全保证。
常见问题编辑
错误691：提示“由于域上的用户名和/或密码无效而拒绝访问”
一般的原因是VPN连接时输入的账户和/或密码不正确，或是没有使用VPN服务的权限。
VPN一个账号默认仅限一台电脑使用，检查您的用户名有无登录重复。
若您是在使用的途中掉线了，不要急着再次连接，请耐心等待几分钟。
若还是提示错误，请联系网络管理员。
错误691：提示“端口已断开连接”
市面上有一小部分的路由器对VPN支持不好，从而引起错误691、只能连接几台机、经常掉线等多种问题，有时候还会出现错误800。原因是路由器采用NAT方式，不能让VPN协议穿透。
如果计算机中开启了系统防火墙，可以先关闭后再重试。
如果偶尔出现，重拨几次，或者重新启动计算机及路由器后再重试。
如果是通过局域网或者通过路由器上网的用户，请网络管理员在服务器或者路由器上打开UDP端口1701~1704。
如果路由器中不能设置，可以尝试将计算机直接连到外网，用单机拨号方式连接互联网，再重试VPN拨号。
部分网络如校园网、广电网、长城宽带、宽带通，容易出现691错误，需要与网络接入部门联系。
安装了简化版的操作系统容易缺少相关组件，可以下载安装错误691注册表文件。
错误721：提示“远程计算机没反应”
这种情况可能是网络延迟造成的，可以多连几次试试，如果还是不行，可以尝试以下解决方法：
单击“开始”，然后单击“运行”。
在“运行”中，键入regedit.exe，然后单击“确定”。
在注册表编辑器中，找到以下子项：HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Class/{4D36E972-E325-11CE-BFC1-08002bE10318}/<000x>，其中<000x>是WAN微型端口（PPTP）驱动程序的网络适配器。
在“编辑”菜单上，指向“新建”，然后单击“DWORD 值”。
键入ValidateAddress，然后按 Enter。该值的默认设置为“1”（打开）；因此，您可以通过将其设置为“0”将其关闭。
退出注册表编辑器。
重新启动计算机。
错误742/741：提示“远程服务器不支持加密”
选择VPN连接，右键属性，点击安全。
在数据加密项选择“没有加密也可以连接”（Win7下点击网络共享中心—更改适配器—点击VPN连接图标—查看属性—安全数据加密—选择“没有加密也可以连接”）。
错误800：提示是“不能建立VPN连接，VPN服务器不能到达”
如果计算机中开启了系统防火墙，可以先关闭后再重试。
如果有安装路由器的用户，建议重启一下路由器。
部分网络如校园网、广电网、长城宽带、宽带通，容易出现800错误，需要与网络接入部门联系。
桌面右键单击“我的电脑”或“计算机”，打开“管理”，在“服务和应用程序”中，点击“服务”，找到“IPsec Policy Agent”服务，检查有没有禁用该服务。如果为禁用状态则改为自动状态，启动该服务。
错误619
如果打开了防火墙（包括系统自带的）：关闭防火墙，或者设置防火墙允许UDP 1701端口。
使用路由器上网：不使用路由器，或者映射UDP 1701端口。
如果无以上两种现象存在，但是还出现619错误：关闭所有正在使用网络的软件，重新启动计算机然后重新进行连接。
连上国外VPN后打开国内网页速度很慢
因为连接上了VPN的国外线路，本地网络出口已经变更为了国家带宽出口，因此在连接VPN的状态下访问国内的网页速度是比较慢的，可简单理解成：因为线路的传输需要从国内到国外，再从国外返回国内。而如果是访问国外网页的话，此时线路方式从国内直接传输到国外是相对最快的。而且还取决于您所选的线路距离，如果您选择的是美国的线路，那么访问国内的网页肯定较慢。
移动终端连接不上
当前网络是3G网络：3G网络通常都不稳定，不保证每次都可以连接上。
如果正在办公室使用公司的无线网络但连不上VPN或发生无法响应PPTP服务器错误：请详细咨询相关人员所处的网络宽带服务商是否支持VPN，其次看所处的网络路由器是否禁止了VPN端口。
电脑上可以连接VPN，但手机就不行：请确认电脑中的VPN是否处于“正在连接”的状态，如果是，请先断开电脑中的，再次连接手机试试。请注意一个账号不能同时登录在两个设备中。
错误789
连接尝试失败，因为安全层在初始化与远程计算机的协商时遇到一个处理错误
1. 单击“开始”，单击“运行”，键入“regedit”，然后单击“确定”
2. 找到下面的注册表子项，然后单击它：
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rasman\Parameters
3. 在“编辑”菜单上，单击“新建”->“DWORD值”
4. 在“名称”框中，键入“ProhibitIpSec”
5. 在“数值数据”框中，键入“1”，然后单击“确定”
6. 退出注册表编辑器，然后重新启动计算机
评价编辑
优点

VPN能够让移动员工、远程员工、商务合作伙伴和其他人利用本地可用的高速宽带网连接（如DSL、有线电视或者WiFi网络）连接到企业网络。此外，高速宽带网连接提供一种成本效率高的连接远程办公室的方法。
设计良好的宽带VPN是模块化的和可升级的。VPN能够让应用者使用一种很容易设置的互联网基础设施，让新的用户迅速和轻松地添加到这个网络。这种能力意味着企业不用增加额外的基础设施就可以提供大量的容量和应用。
VPN能提供高水平的安全，使用高级的加密和身份识别协议保护数据避免受到窥探，阻止数据窃贼和其他非授权用户接触这种数据。
完全控制，虚拟专用网使用户可以利用ISP的设施和服务，同时又完全掌握着自己网络的控制权。用户只利用ISP提供的网络资源，对于其它的安全设置、网络管理变化可由自己管理。在企业内部也可以自己建立虚拟专用网。
缺点

企业不能直接控制基于互联网的VPN的可靠性和性能。机构必须依靠提供VPN的互联网服务提供商保证服务的运行。这个因素使企业与互联网服务提供商签署一个服务级协议非常重要，要签署一个保证各种性能指标的协议。
企业创建和部署VPN线路并不容易。这种技术需要高水平地理解网络和安全问题，需要认真的规划和配置。因此，选择互联网服务提供商负责运行VPN的大多数事情是一个好主意。
不同厂商的VPN产品和解决方案总是不兼容的，因为许多厂商不愿意或者不能遵守VPN技术标准。因此，混合使用不同厂商的产品可能会出现技术问题。另一方面，使用一家供应商的设备可能会提高成本。
当使用无线设备时，VPN有安全风险。在接入点之间漫游特别容易出问题。当用户在接入点之间漫游的时候，任何使用高级加密技术的解决方案都可能被攻破。
各个系统下VPN的登陆配置编辑
Windows XP

建立一个新连接；
选择“连接到我工作的地方的网络”；
选择“虚拟专用网络连接”；
设定连接名称（例如：VPN）；
输入主机名称或公网IP地址；
完成新增连接，勾选“将这个连接的快捷方式加到我的桌面”（以便日后连接）；
输入账号，密码，即可连接。
Windows 7

在画面右下角，点选网络连接，然后选择“打开网络共享中心”；
在弹出的对话窗口中，选择“设置新的连接或网络”；
选择“连接到工作区”，然后选择“使用我的Internet连接（VPN），通过Internet使用虚拟专用网络（VPN）来连接”，然后单击“我将稍后设置Internet连接”；
在“Internet 地址”里，填上VPN提供的IP地址。填好IP后，其它东西都不用管它，直接点击下一步。目标名称填写“VPN连接”；
填VPN的用户名和密码，先不要填，点“创建”；
到这里就完成的连接设置导向。点击“关闭”。；
回到桌面右键点击“网络”->“属性”，再点击一下左边的“更改适配器设置”；
找到刚才建好的“VPN连接”并双击打开；
填写提供的VPN用户名和密码，“域”可以不用填写。然后点击属性->安全；
在“数据加密”这一项选中“可选加密（没有加密也可以连接）”选好后点击“确定”。VPN类型自动，使用这些协议选择CHAP，MS-CHAP v2；
整个Windows7 VPN过程都设置完成了。点击“连接”就可以了。
Ubuntu

1.画面右上角最右端图标单击，选择“系统设置”
2.选择“网络”，选择添加网络，接口VPN，创建。
Android

打开手机主菜单，选择“设置”；
选择“无线和网络”；
选择“虚拟专用网设置”；
选择“添加虚拟专用网”；
选择PPTP方式；
输入虚拟专用网名称（如VPN）；
填写服务器域名，点击“确定”。然后按menu键，保存设置；
点击打开刚刚建好的连接，填写用户名和密码，点击“连接”。
iOS

点击桌面上的“设置”图标进入设置；
点击“通用”进入通用设置；
点击“网络”，进入网络设置；
点击“VPN”进入设置；
点击“添加VPN配置”；
在协议类型上选择“PPTP”，在“描述”栏中填入“VPN”，在服务器栏中填入服务器域名，在账户和密码栏中填入用户名和密码，其他设置保持不变，然后点击“存储”。；
点击“VPN”开关，就会开启连接，连接成功后，右上角会出现小图标。
OS X

从任务栏菜单打开系统设置，选择“网络”；
在新对话框中选择“添加”，然后从下拉菜单选择“VPN”；
从VPN类型下拉菜单中选择PPTP。填写服务名称，点击“创建”按钮；
在配置下拉菜单中选择“增加配置”；
填写服务器地址，用户名；
点击“认证配置”按钮，在弹出的对话框中选择“密码”单选框，并输入密码；
回到主设置框，点击“应用”保存设置即可。
相关法律法规编辑
2003年4月，信息产业部颁发了《电信业务分类目录》，取消了国际电信业务的分类，同时将虚拟专用网业务自基础电信业务中分离出来，成为独立的增值电信业务分类。但是此处的“虚拟专用网”概念与行业内的VPN业务是不一样的。新的《电信业务分类目录》中对该分类的解释是：国内因特网虚拟专用网业务（IP-VPN）是指经营者利用自有的或租用公用因特网网络资源，采用TCP/IP协议，为国内用户定制因特网闭合用户群网络的服务。这种分类的解释强调了两个特点，一个是利用因特网网络资源，一个是采用TCP/IP协议。这种解释是与当时的市场状况所对应的，当时关注的是基于互连网的IPSec VPN，虽然该解释可以基本涵盖后出现的SSL VPN模式，但并没有关注MPLS VPN。
2003年8月，信息产业部发布《关于组织开展国内多方通信服务等三项电信业务商用试验的通知》，就“国内多方通信服务业务”、“在线数据处理与交易处理业务”、“国内因特网虚拟专用网业务”等三项增值电信业务组织开展商用试验，有效期至2004年8月底。
2004年11月，信息产业部发布《关于继续开展国内多方通信服务等三项增值电信业务商用试验的通告》，决定将以上三项增值电信业务商用试验期延长一年，至2005年8月31日。
2006年1月，信息产业部发布《关于两项增值电信业务及国内多方通信服务的通告》，正式开放“国内因特网虚拟专用网业务”和“在线数据处理与交易处理业务”两项增值电信业务，上述两项增值电信业务由商用试验转为正式商用。
2008年，正式颁发IP-VPN业务牌照。名为IPSec VPN的中国“国内因特网虚拟专用网”增值电信业务许可证自其诞生之日起即以MPLS VPN为发展方向，导致VPN市场无规可循，实际上是在“灰色运营”。
2013年，工业与信息化部公布的《电信业务分类目录（征求意见稿）》中仍然没有对此作出任何改变。
2015年1月27日，工信部回应VPN被封事件，表示一些不良信息应该按照中国法律进行管理。[1]
工信部此前发布规定，在中国提供VPN服务的公司必须登记注册，否则将“不会受到中国法律的保护”


TeamCity OSS :: Kubernetes Mesos :: 5 - Smoke Tests (docker/mesos) [Build 607](https://teamcity.mesosphere.io/viewLog.html?buildId=57810&buildTypeId=Oss_KubernetesMesos_5SmokeTestsDockerMesos&guest=1) outcome was **SUCCESS**
Summary: Tests passed: 1, ignored: 189 Build time: 00:07:46


Yin Yang


I will replace num_possible_cpus() with nr_cpu_ids and that will do the trick.

@gilad ,Thank you for this

[https://avatars0.githubusercontent.com/u/1634206?v=3&s=200]<https://github.com/EZchip/linux/commit/a95f79acf3d7457b0da6f304f5dd8775eeebf7a9#commitcomment-13709987>
[https://avatars0.githubusercontent.com/u/1634206?v=3&s=200]<https://github.com/EZchip/linux/commit/a95f79acf3d7457b0da6f304f5dd8775eeebf7a9#commitcomment-13709987>

ARC: Adjust cpuinfo to work on sparsed mask · EZchip/linux@a95f79a
We need to scan online CPUs without assuming that they are consecutive. Signed-off-by: Noam Camus
Read more...<https://github.com/EZchip/linux/commit/a95f79acf3d7457b0da6f304f5dd8775eeebf7a9#commitcomment-13709987>

ARC: Adjust cpuinfo to work on sparsed mask · EZchip/linux@a95f79a
We need to scan online CPUs without assuming that they are consecutive. Signed-off-by: Noam Camus
Read more...<https://github.com/EZchip/linux/commit/a95f79acf3d7457b0da6f304f5dd8775eeebf7a9#commitcomment-13709987>

Remove preview


Can we have it in the plugin on wp.org  please? Prevents a notice error on the has_published_posts key.


I will replace num_possible_cpus() with nr_cpu_ids and that will do the trick.

@gilad ,Thank you for this
[https://avatars0.githubusercontent.com/u/1634206?v=3&s=200]<https://github.com/EZchip/linux/commit/bbc66e1666f03036effd6bd647ac52315eb39419#commitcomment-13710058>

ARC: Adjust cpuinfo to work on sparsed mask · EZchip/linux@bbc66e1
We need to scan online CPUs without assuming that they are consecutive. Signed-off-by: Noam Camus
Read more...<https://github.com/EZchip/linux/commit/bbc66e1666f03036effd6bd647ac52315eb39419#commitcomment-13710058>


sure!, thanks! xD atm, i have a problem when i build it with -03 the camera and flash sometime dont work, and with -0s works fine


TeamCity OSS :: Kubernetes Mesos :: 5 - Smoke Tests (docker/mesos) [Build 609](https://teamcity.mesosphere.io/viewLog.html?buildId=57814&buildTypeId=Oss_KubernetesMesos_5SmokeTestsDockerMesos&guest=1) outcome was **SUCCESS**
Summary: Tests passed: 1, ignored: 188 Build time: 00:03:59


The removed block has one major bug:
*  The field_name is used without considering field can have db_field specified. If the db_field is specified, the document could be corrupted with a wrong field inserted.
There is a logic problem on the block.  The field.default is checked in if statement, None, 0, 0.0, "", False, [], set(), and {} will fail the test.  However, a callable will pass even the callable resulting None, 0, False, [], {} ...  That is is exactly ListField and DictField will be reported as changed, but later save function ignore it.  It is better take out the whole block.


Hi @kellyzzzzzz , a student just brought this to my attention.  I'm not sure if I'm missing anything, but there might be an extra "400" added by accident.  Please let me know if we should remove the extra 400 or if there's a reason for it.

Thank you again for the update!


case _: =>


Will this be deleted or uncommented when Beta become production?


@mistercrunch:  In that case, definitely not using the correct metadata database.  How can I define my connection params for the unittest?


返回


I was under the impression that the hang issue is with 4.1.9. Is this not fixed in 4.1.10? I am perfectly fine with waiting a little bit longer until the hang issue is addressed. If you like, I can close the pull request.


unused?


I got it!  Thanks!

Sent from my iPhone

On Oct 11, 2015, at 10:16 AM, Sri Kanajan <notifications@github.com> wrote:

> I thought i did give feedback on the project ? It is on the other commit you made.
>
> —
> Reply to this email directly or view it on GitHub.
>


TeamCity OSS :: Kubernetes Mesos :: 5 - Smoke Tests (docker/mesos) [Build 610](https://teamcity.mesosphere.io/viewLog.html?buildId=57815&buildTypeId=Oss_KubernetesMesos_5SmokeTestsDockerMesos&guest=1) outcome was **SUCCESS**
Summary: Tests passed: 1, ignored: 189 Build time: 00:04:00


TeamCity OSS :: Kubernetes Mesos :: 5 - Smoke Tests (docker/mesos) [Build 611](https://teamcity.mesosphere.io/viewLog.html?buildId=57816&buildTypeId=Oss_KubernetesMesos_5SmokeTestsDockerMesos&guest=1) outcome was **SUCCESS**
Summary: Tests passed: 1, ignored: 188 Build time: 00:04:02


Either or those cases are unlikely which is why I suspect there ignored in bitcoins import.. but I can see no reason not to handle them.


@maxxtepper , I don't see that you deleted an older script here.


Just info- 3Dmigoto now works on AMD cards too.  Radek reported back that it is working for his users.  Not 3D obviously, but deleting the nvapi.dll will allow shader hunting/editing/loading to work on Radeons.


missing a space after the comma.


uri & transaction look like they might be vals in the method body


For inline comments like this just use #. Typically """'s are used for docstrings.


wow, great additions (sarcaism)


Nice fix :)


@maxxtepper , should pixel_size be directly accessible by the end user?


Can you comment what the units are here?  Same for the resolution values.

Something like

self.shutter_default = 250   # in milliseconds


Great spelling there m8.

On Monday, October 12, 2015, Manpreet Singh <notifications@github.com>
wrote:

> wow, great additions (sarcaism)
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/thecogdoctor/2015NightmareRobotRebuild/commit/1b4b5dc73265896c642e402d4e69e6cd65c3c8ed#commitcomment-13731109>
> .
>


* 関数の型定義部と型名の間の改行を抜く
* onStopPoint関数はonStopArea関数として，stopAreaは矩形領域とする．stopAreaはプライベートなメンバ変数にして，クラス内で設定できるようにする．


Its needed in the sense that the function requires a bool passed to it, but
declaring it as a variable before passing isn't likely required.

On Tue, Oct 13, 2015 at 12:15 AM, Chris Moore <notifications@github.com>
wrote:

> Do we even need this fFirstRun parameter? It seems to be ignored both
> places it is used.
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/l0rdicon/clams/commit/a2157e80394ad6d916ad7a59ac678a391d39e878#commitcomment-13730697>
> .
>


https://www.rescuetime.com is the answer :smiley:


The paths of referred images should be fixed.


I Could’ve invited you to the git repo if you wanted to make direct changes to the code though

From: thecogdoctor [mailto:notifications@github.com]
Sent: Monday, October 12, 2015 9:04 PM
To: thecogdoctor/2015NightmareRobotRebuild <2015NightmareRobotRebuild@noreply.github.com>
Cc: Manpreet Singh <manpreetbassi96@gmail.com>
Subject: Re: [2015NightmareRobotRebuild] 0.0.0.1_1 (1b4b5dc)

Great spelling there m8.

On Monday, October 12, 2015, Manpreet Singh <notifications@github.com <mailto:notifications@github.com> >
wrote:

> wow, great additions (sarcaism)
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/thecogdoctor/2015NightmareRobotRebuild/commit/1b4b5dc73265896c642e402d4e69e6cd65c3c8ed#commitcomment-13731109>
> .
>

—
Reply to this email directly or view it on GitHub <https://github.com/thecogdoctor/2015NightmareRobotRebuild/commit/1b4b5dc73265896c642e402d4e69e6cd65c3c8ed#commitcomment-13731121> .  <https://github.com/notifications/beacon/AG2-UIm5zE382-3iizIKbAXqi9GAlkBFks5o7HotgaJpZM4GNlDx.gif>


@Nasupl
* YAMLで停止位置送信領域と送信停止位置を定義して読み込めるようにする


Да нет, можно и без @property. Принципиальной разницы нет.


Improve your English expressions.


The details of the design and implementation of the Espruino logical reset is still to be thought through.  It is being tracked by a specific issue #619.  It is believed that the GPIO pins need to be "reset" to a default state which will probably be "all input" but work still needs to be done to determine if it is all pins or some pins.  In addition, there may be impact on the notion of the saved state of a program and whether or not the reset of Espruino also needs to account for the state of the pins when the program was saved.  An initial test of setting all the pins to be input didn't work as expected ... execution appeared to stop and that may be because some pins are used for ESP8266 operation such as reading from flash (guess).  As such, we commented out this logic for the time being under the precept of "first do no harm".


You might want to do just `raise` here, doing `raise ex` throws away all the stack trace information from the original exception and replaces it with a stack trace to the position of the new `raise ex`, whereas `raise` re-raises the exception with the stack trace kept intact.


You can just use FEATURE_PAL here


(and other places too)


Good idea.


defense снижает урон на defense процентов
то есть если defense 5, то урон будет на 5% меньше


Only push your stuff to the slave branch, don't touch the master


это чтобы если враг стоял на цветочке и мы его убили, то чтоб цветочек не пропадал


теперь может двигаться по цветочкам и прочим предметам


Hello from Wilson!


I believe this file is an auto generated Dreamweaver xml file.<br>Need to remove auto generated files,


TeamCity OSS :: Kubernetes Mesos :: 5 - Smoke Tests (docker/mesos) [Build 612](https://teamcity.mesosphere.io/viewLog.html?buildId=57823&buildTypeId=Oss_KubernetesMesos_5SmokeTestsDockerMesos&guest=1) outcome was **SUCCESS**
Summary: Tests passed: 1, ignored: 189 Build time: 00:03:56


функция для изменения локации


функция для поиска персонажей разных, врагов, граждан, когда карту только загрузили


Oh ok, that makes sense! I'm not familiar with Impress but that sounds like an interesting thing to do research on. Would you be able to tie in your description of alternatives to Tufte's claims/failures of Powerpoint, or would those topics be two separate discussions?


remove = 0;


тут смотрим, в какую локацию переходить


если доктор и у тебя не полные хп, то он может полечить. за 2 хп 1 золота


I decided to drop a reset for more grid specific reset values.


That makes three of us :D


Until we automate everything with proper CI, the solution is to set your `export AIRLFOW_CONFIG=~/airflow/unittests.cfg`, fire up the web UI `airflow webserver -d` and to alter your unittests connection configuration.


remove = 0


Belongs to #5.


We filter the warning at import. This happen in a different place for scan.


This should never happen, but I'll call get() to make it cleaner and be safe.


Is this the correct check? The correct result is that it returns 0 rows?


对比下，说不定你这次扫到的IP在原有列表里都有呢？
毕竟这次更新是过滤了一部分“坏”的IP，理应结果比以前更少才对。


I think all the module CSS file are included in all pages as a part of the MEAN stack magic; we shouldn't (have to) include them again


Right, but the function is only using that parameter as a way of returning
an extra value, and neither of its callers care about that value, so we can
just delete the parameter.

On Mon, Oct 12, 2015 at 9:05 PM, l0rdicon <notifications@github.com> wrote:

> Its needed in the sense that the function requires a bool passed to it, but
> declaring it as a variable before passing isn't likely required.
>
>
>
>
> On Tue, Oct 13, 2015 at 12:15 AM, Chris Moore <notifications@github.com>
> wrote:
>
> > Do we even need this fFirstRun parameter? It seems to be ignored both
> > places it is used.
> >
> > —
> > Reply to this email directly or view it on GitHub
> > <
> https://github.com/l0rdicon/clams/commit/a2157e80394ad6d916ad7a59ac678a391d39e878#commitcomment-13730697
> >
>
> > .
> >
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/l0rdicon/clams/commit/a2157e80394ad6d916ad7a59ac678a391d39e878#commitcomment-13731135>
> .
>


I think it is right. We have a filter to get all rows whose rowNumber values are less than 0 (which should not happen). Because of the bug, there will be negative row number values.


I was wrong, the declaration is bool& so you can't just pass false.  I
guess we can just remove it from the loadWalletImport function, I'll try
that

On Tue, Oct 13, 2015 at 1:05 AM, Scott Llewellyn <xploited.ca@gmail.com>
wrote:

> Its needed in the sense that the function requires a bool passed to it,
> but declaring it as a variable before passing isn't likely required.
>
>
>
>
> On Tue, Oct 13, 2015 at 12:15 AM, Chris Moore <notifications@github.com>
> wrote:
>
>> Do we even need this fFirstRun parameter? It seems to be ignored both
>> places it is used.
>>
>> —
>> Reply to this email directly or view it on GitHub
>> <https://github.com/l0rdicon/clams/commit/a2157e80394ad6d916ad7a59ac678a391d39e878#commitcomment-13730697>
>> .
>>
>
>


@fallen Do you have a technical reason for this or is it simply a way for you to pressure someone into falling into line of your personal agenda.  Should we force your to change your name because some Christian may find the idea of a fallen (angel) offensive?  At this point you are getting offended simply to be offended and dragging the world down with you.  When I tossed out the idea of social terrorist, you are the type of person I had in mind.  You are trying to assert your personal feelings as the only reasonable way and threaten a social hellstorm if people don't fall into line.  This type of reasoning is fallacious and has no merit or place here.  Had the developers decided to change it for any other reason (Bromine being a developers favorite chemical, etc.) I would have not batted an eye.  But for someone to come in and pressure change for no other reason than for them to feel superior, it has got to stop.  I don't want to see logical decisions changed because you can't seem to have the good sense to separate the extension from some misplaced gender identity crisis you are having.  Your outlook and pressure on the group is not only not warranted by childish and immature.


Without something "drastic" like a git filter-branch, this will be on GitHub forever; I'd recommend changing that username/password!

I have a solution to this that we can start using after the demo on Wednesday


Condition should be != instead of == then...


good idea，我也正在思考这个问题

在 2015年10月13日 下午12:27，Cat73 <notifications@github.com>写道：

> 对比下，说不定你这次扫到的IP在原有列表里都有呢？
> 毕竟这次更新是过滤了一部分“坏”的IP，理应结果比以前更少才对。
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/XX-net/XX-Net/commit/ce11ece64457477dfa0d336713bade4d50487fc1#commitcomment-13731335>
> .
>


Wrt to the port, that's a good point. The RFC should specify this. Please send an e-mail to the IETF mailing-list, asking for clarification of this point.


Add more oil


mptcp_ver could be a  4-bit field inside the below bitfield.


首先，这个做法真是天才！
我还不确定这么做有没有问题，我需要时间想清楚。


Please make mptcp_ver a 4-bit field as well.


https://github.com/l0rdicon/clams/commit/00ec52860dd2abea910c78016686c108ad5efede

On Tue, Oct 13, 2015 at 1:30 AM, Scott Llewellyn <xploited.ca@gmail.com>
wrote:

> I was wrong, the declaration is bool& so you can't just pass false.  I
> guess we can just remove it from the loadWalletImport function, I'll try
> that
>
> On Tue, Oct 13, 2015 at 1:05 AM, Scott Llewellyn <xploited.ca@gmail.com>
> wrote:
>
>> Its needed in the sense that the function requires a bool passed to it,
>> but declaring it as a variable before passing isn't likely required.
>>
>>
>>
>>
>> On Tue, Oct 13, 2015 at 12:15 AM, Chris Moore <notifications@github.com>
>> wrote:
>>
>>> Do we even need this fFirstRun parameter? It seems to be ignored both
>>> places it is used.
>>>
>>> —
>>> Reply to this email directly or view it on GitHub
>>> <https://github.com/l0rdicon/clams/commit/a2157e80394ad6d916ad7a59ac678a391d39e878#commitcomment-13730697>
>>> .
>>>
>>
>>
>


first commit


:octocat:


Eh, it's a quick-and-dirty UI design experiment, no apologies. This is not the type of code that makes it anywhere near the alpha release.

See the part where I don't have a readme? I don't expect anyone to be looking at this hacky mess. Check back in a couple refactors when I get an alpha release.


We should only accept ADD_ADDR2, if MPTCP version 1 has been negotiated (and ADD_ADDR only if version 0 has been negotiated).


Hey @lmccart just tested commit #08774d9 in webgl and it's unfortunately a breaking change.  Any chance we can roll back to commit #95e85fa in the meantime?


For safety, we should check that the version replied by the server is smaller or equal to the one we asked for in our MP_CAPABLE.


you don't need this either, the point of the bitset was that it'll catch overflows itself and throw an exception


hmm. I guess I do not quite understand. Because of the bug, we will have some output rows, so the count will be larger than 0. After we fix the bug, we should have 0 output row, right?


😒😒😒😒😒😒i'd perfer (byte)0xxx


Is there any conceivable way this can be fixed from within the framework?  It is OK to address this as part of a separate diff — in fact, check out the PR currently up related to these two properties in both collection & table.

However, I think it is very important to make this more robust if the collectionView / tableView is also deallocating...particularly because the crash that can result is pretty unusual (the UIKit accessibility thing again, right?)


found the typo that has been causing us so much trouble!! "selectedTab"


Merge


Sorry for my stupid trick, which totally destroyed the context and turn the markup into pure strings. Thanks for the fix!


厘米学院


+1 LGTM

Thanks for the PR Paul


тут вызов `pid/2` лишний


:smile: do it!


Yes. I am not challenging the test, just test the condition. The test throws an Exception when there are 0 rows in the DataFrame. However I am under the impression that it should return 0 rows, and that we should check for a situation in which we encounter more than 0 rows...


引数が逆になっているだけで普通の ` : ` 関数なので `flip` で書くことが出来る


Ка я понимаю здесь не надо использовать регулярное выражение, т.к. мы однозначно знаем что ищем


The old variable that was used as the parameter is still hanging around:

    qt/bitcoingui.cpp: In member function ‘void BitcoinGUI::importWallet()’:
    qt/bitcoingui.cpp:1016:10: warning: unused variable ‘isValidWallet’ [-Wunused-variable]
         bool isValidWallet = false;
          ^


ah, you are right. My bad.


I fixed that in
https://github.com/l0rdicon/clams/commit/563df46816aadc168b51778dc3c5fc9d119d892b.
I added it to the wrong commit but it was removed there.

On Tue, Oct 13, 2015 at 1:56 AM, Chris Moore <notifications@github.com>
wrote:

> The old variable that was used as the parameter is still hanging around:
>
> qt/bitcoingui.cpp: In member function ‘void BitcoinGUI::importWallet()’:
> qt/bitcoingui.cpp:1016:10: warning: unused variable ‘isValidWallet’ [-Wunused-variable]
>      bool isValidWallet = false;
>       ^
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/l0rdicon/clams/commit/acc7fe37b129bce99edb737ae102cf137b0b5f34#commitcomment-13731557>
> .
>


Anyway, please provide a script to make this strange situtation happen on a VM or something so I can test it


awesome!


Can you avoid using `strlen`? We expect the manipulations on string can be one-pass.


LGTM


Can you introduce a generic testing system to validate both implementations by single testing "driver"? That is, you might refer to the function main() where you implemented in phonebook.


Always use consistent coding style!


The data set is too small !


No problem. Just happy that this is getting fixed.


@pjdelport

I love how you decided you had a single clue about what I was saying.  You have twisted my words and the very meaning of other words to fit your egotistical view.    You have shown you have no concept of the ideas I presented and are willing to make up things to attempt to your point across.  Forget the idea of logic and discourse, you would rather put words into people's mouths to make a strawman because you cannot fathom someone would disagree with you.  I am not "for" bros or men.  I am against egotistical social ostriches like yourself who would rather put your head in the sand and cover your ears yelling "la la la, I can't heard you" than try to understand why your "adjustment" is not appropriate here.  This whole subject is inappropriate and people like me, and the others making fun of the issue by complaining they have had their bro feeling hurt, are trying to right a sinking ship.  I am sorry you have such a thin skin and cannot for the life of you see any other person's point of view, but you really have no place in this, male or female.  You have completely failed to understand the point because you are too busy listening to the sound of your own voice.


Did you remove the `$has_coupon` for a reason in multiple places?