一种在云服务器上搭建VPN服务的方法及装置与流程

文档序号:12134120阅读:5047来源:国知局
本发明涉及计算机应用
技术领域
:,特别涉及一种在云服务器上搭建VPN服务的方法及装置。
背景技术
::VPN(VirtualPrivateNetwork,虚拟专用网络),其功能是在公用网络上建立专用网络,进行加密通讯,在企业网络中有广泛应用。其之所以称为虚拟网,主要是因为整个VPN网络的任意两个节点之间的连接并没有传统专网所需的端到端的物理链路,而是架构在公用网络服务商所提供的网络平台,如Internet、ATM(AsynchronousTransferMode,异步传输模式)、FrameRelay(帧中继)等之上的逻辑网络,用户数据在逻辑链路中传输。它涵盖了跨共享网络或公共网络的封装、加密和身份验证链接的专用网络的扩展。VPN网关通过对数据包的加密和数据包目标地址的转换实现远程访问。VPN有多种分类方式,主要是按协议进行分类。VPN可以通过服务器、硬件、软件等多种方式实现。VPN具有成本低,易于使用的特点。技术实现要素:本发明提供一种在云服务器上搭建VPN服务的方法及装置,用以实现灵活、有效地在云服务器上搭建VPN服务的目的。本发明提供一种在云服务器上搭建VPN服务的方法,包括:安装用于在Linux内核的云服务器上搭建VPN服务的软件的软件包;按照预设的配置规则对所述软件进行配置;开启所述Linux内核的IP转发功能;配置与所述VPN服务相关的防火墙的放行和转发规则,并在配置完成后进行重启,以完成搭建所述VPN服务。在本发明一实施例中,在安装用于在Linux内核的云服务器上搭建VPN服务的软件的软件包之前,所述方法还包括:验证所述Linux内核是否已加载MPPE模块;若是,则继续执行安装软件的软件包的操作。在本发明一实施例中,所述按照预设的配置规则对所述软件进行配置,包括:获取所述软件的用于配置用户账户信息的第一配置文件;在所述第一配置文件中配置所述VPN服务的用户账户信息。在本发明一实施例中,开启所述Linux内核的IP转发功能,包括:获取用于配置所述Linux内核的IP转发功能的第二配置文件;在所述第二配置文件中配置开启所述Linux内核的IP转发功能,并运行指定命令以使该配置生效。在本发明一实施例中,配置与所述VPN服务相关的防火墙的放行和转发规则,包括:对防火墙进行配置,以放行所述VPN服务允许的数据包;和/或通过配置NAT表的POSTROUTING链,增加NAT使得VPN客户端可以通过所述云服务器访问互联网。本发明还提供一种在云服务器上搭建VPN服务的装置,包括:安装模块,用于安装用于在Linux内核的云服务器上搭建VPN服务的软件的软件包;第一配置模块,用于按照预设的配置规则对所述软件进行配置;开启模块,用于开启所述Linux内核的IP转发功能;第二配置模块,用于配置与所述VPN服务相关的防火墙的放行和转发规则,并在配置完成后进行重启,以完成搭建所述VPN服务。在本发明一实施例中,所述装置还包括:验证模块,用于在所述安装模块安装用于在Linux内核的云服务器上搭建VPN服务的软件的软件包之前,验证所述Linux内核是否已加载MPPE模块;若是,则继续执行安装软件的软件包的操作。在本发明一实施例中,所述第一配置模块还用于:获取所述软件的用于配置用户账户信息的第一配置文件;在所述第一配置文件中配置所述VPN服务的用户账户信息。在本发明一实施例中,所述开启模块还用于:获取用于配置所述Linux内核的IP转发功能的第二配置文件;在所述第二配置文件中配置开启所述Linux内核的IP转发功能,并运行指定命令以使该配置生效。在本发明一实施例中,所述第二配置模块还用于:对防火墙进行配置,以放行所述VPN服务允许的数据包;和/或通过配置NAT表的POSTROUTING链,增加NAT使得VPN客户端可以通过所述云服务器访问互联网。在本发明实施例中,安装用于在Linux内核的云服务器上搭建VPN服务的软件的软件包;按照预设的配置规则对所述软件进行配置;开启所述Linux内核的IP转发功能;配置与所述VPN服务相关的防火墙的放行和转发规则,并在配置完成后进行重启,以完成搭建VPN服务。由此可见,本发明实施例能够实现灵活、有效地在云服务器上搭建VPN服务的目的。本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。附图说明附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:图1为本发明一实施例中在云服务器上搭建VPN服务的方法的流程图;图2为本发明另一实施例中在云服务器上搭建VPN服务的方法的流程图;图3为本发明一实施例中在云服务器上搭建VPN服务的装置的结构示意图;以及图4为本发明另一实施例中在云服务器上搭建VPN服务的装置的结构示意图。具体实施方式以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。如图1所示为本发明一实施例中在云服务器上搭建VPN服务的方法的流程图,该方法可以包括以下步骤S11-S14。步骤S11,安装用于在Linux内核的云服务器上搭建VPN服务的软件的软件包。在该步骤中,软件可以是PPP(PointtoPointProtocol,点对点协议),PPTP使用PPP协议对用户数据进行封装,然后将PPP数据帧封装在IP数据报里,经由IP网络传播。因此首先需要支持PPP协议,Linux内核的云服务器上的完整版CentOS已经自带了PPP这个软件包,如果云服务器上安装的是MinialCentOS之类的精简系统,则可以通过下面的命令安装PPP:yuminstallPPP。此外,软件还可以是pptpd,有了PPP协议支持,接下来安装pptpd。iptables,同样,如果不是Minial的系统,应该不会没有安装iptables。这是Linux下最流行的防火墙,默认应该就能找到,如果没有,则yuminstalliptables。步骤S12,按照预设的配置规则对软件进行配置。在该步骤中,例如,配置PPP需要编辑它的两个配置文件,一个是option(选项)文件,一个是用户账户文件。这里,编辑option文件的命令为:vi/etc/ppp/options.pptpd;编辑用户账户文件的命令为:vi/etc/ppp/chap-secrets。以option文件为例,可以在该文件中添加mtu1440、mru1440等,以解决网页打不开的问题。步骤S13,开启Linux内核的IP转发功能。步骤S14,配置与VPN服务相关的防火墙的放行和转发规则,并在配置完成后进行重启,以完成搭建VPN服务。在本发明实施例中,安装用于在Linux内核的云服务器上搭建VPN服务的软件的软件包;按照预设的配置规则对所述软件进行配置;开启所述Linux内核的IP转发功能;配置与所述VPN服务相关的防火墙的放行和转发规则,并在配置完成后进行重启,以完成搭建VPN服务。由此可见,本发明实施例能够实现灵活、有效地在云服务器上搭建VPN服务的目的。在本发明的可选实施例中,上文步骤S11在安装用于在Linux内核的云服务器上搭建VPN服务的软件的软件包之前,还可以验证Linux内核是否已加载MPPE(MicrosoftPoint-to-PointEncryption,微软点对点加密术)模块;若是,则继续执行安装软件的软件包的操作;若否,则安装加载MPPE模块。在本发明的可选实施例中,上文步骤S12可以实施为以下步骤A1至A2:步骤A1,获取软件的用于配置用户账户信息的第一配置文件;步骤A2,在第一配置文件中配置VPN服务的用户账户信息。例如,存储着用户账户信息的配置文件:vi/etc/ppp/chap-secrets,这个文件非常简单,其中用明文存储VPN客户的用户名、服务名称、密码和IP地址范围,每行一个账户:其中第一第三列分别是用户名和密码;第二列应该和上面的文件/etc/ppp/options.pptpd中name后指定的服务名称一致;最后一列限制客户端IP地址,星号表示没有限制。在本发明的可选实施例中,上文步骤S13可以实施为以下步骤B1至B2:步骤B1,获取用于配置Linux内核的IP转发功能的第二配置文件;步骤B2,在第二配置文件中配置开启Linux内核的IP转发功能,并运行指定命令以使该配置生效。在本实施例中,要使VPN服务器可以作为网络请求的中转代理,能够使客户端通过VPN访问Internet,还需要开启内核的IP转发功能。可以编辑配置文件,其命令为vi/etc/sysctl.conf,找到其中的行net.ipv4.ip_forward=0,将其修改为net.ipv4.ip_forward=1,然后执行命令sysctl-p使上述修改生效。在本发明的可选实施例中,上文步骤S14可以实施为对防火墙进行配置,以放行VPN服务允许的数据包;或者,通过配置NAT(NetworkAddressTranslation,网络地址转换)表的POSTROUTING链,增加NAT使得VPN客户端可以通过云服务器访问互联网。例如,可以清除防火墙的旧规则,命令如下:iptables-Fiptables-Xiptables-tnat-Fiptables-tnat-X此外,还可以在/bin/iptables.sh文件中添加如下命令:/sbin/iptables-AINPUT-pgre-jACCEPT/sbin/iptables-AINPUT-ptcp--dport1723-jACCEPT/sbin/iptables-AINPUT-ptcp--dport47-jACCEPT需要说明的是,上述方案是首先清除掉了所有iptables规则,然后才部署新的规则,在实际应用中,如果是需要保留机器上现有的规则,则可以做好旧规则的备份。下面通过一具体实施例来详细介绍本发明的在云服务器上搭建VPN服务的方法的实现过程。如图2所示为本发明另一实施例中在云服务器上搭建VPN服务的方法的流程图,该方法可以包括以下步骤S21-S24。步骤S21,安装用于在Linux内核的云服务器上搭建VPN服务的软件的软件包。在该步骤之前,还可以验证Linux内核是否已加载MPPE模块;若是,则继续执行安装软件的软件包的操作;若否,则安装加载MPPE模块。软件可以是PPP,PPTP使用PPP协议对用户数据进行封装,然后将PPP数据帧封装在IP数据报里,经由IP网络传播。因此首先需要支持PPP协议,Linux内核的云服务器上的完整版CentOS已经自带了PPP这个软件包,如果云服务器上安装的是MinialCentOS之类的精简系统,则可以通过下面的命令安装PPP:yuminstallPPP。此外,软件还可以是pptpd,有了PPP协议支持,接下来安装pptpd。iptables,同样,如果不是Minial的系统,应该不会没有安装iptables。这是Linux下最流行的防火墙,默认应该就能找到,如果没有,则yuminstalliptables。步骤S22,获取软件的用于配置用户账户信息的第一配置文件,在第一配置文件中配置VPN服务的用户账户信息。在该步骤中,例如,配置PPP需要编辑它的两个配置文件,一个是option文件,一个是用户账户文件。这里,编辑option文件的命令为:vi/etc/ppp/options.pptpd;编辑用户账户文件的命令为:vi/etc/ppp/chap-secrets。以option文件为例,可以在该文件中添加mtu1440、mru1440等,以解决网页打不开的问题。以用户账户文件为例,可以用明文存储VPN客户的用户名、服务名称、密码和IP地址范围,每行一个账户:其中第一第三列分别是用户名和密码;第二列应该和上面的文件/etc/ppp/options.pptpd中name后指定的服务名称一致;最后一列限制客户端IP地址,星号表示没有限制。步骤S23,获取用于配置Linux内核的IP转发功能的第二配置文件,在第二配置文件中配置开启Linux内核的IP转发功能,并运行指定命令以使该配置生效。在该步骤中,要使VPN服务器可以作为网络请求的中转代理,能够使客户端通过VPN访问Internet,还需要开启内核的IP转发功能。可以编辑配置文件,其命令为vi/etc/sysctl.conf,找到其中的行net.ipv4.ip_forward=0,将其修改为net.ipv4.ip_forward=1,然后执行命令sysctl-p使上述修改生效。步骤S24,配置与VPN服务相关的防火墙的放行和转发规则,并在配置完成后进行重启,以完成搭建VPN服务。在该步骤中,可以对防火墙进行配置,以放行VPN服务允许的数据包;或者,通过配置NAT表的POSTROUTING链,增加NAT使得VPN客户端可以通过云服务器访问互联网。需要说明的是,在实际应用中,上述所有可选实施方式可以采用结合的方式任意组合,形成本发明的可选实施例,在此不再一一赘述。对应于上述实施例中的在云服务器上搭建VPN服务的方法,本发明还提供一种在云服务器上搭建VPN服务的装置。如图3所示为本发明一实施例中在云服务器上搭建VPN服务的装置的结构示意图,包括:安装模块31,用于安装用于在Linux内核的云服务器上搭建VPN服务的软件的软件包;第一配置模块32,用于按照预设的配置规则对所述软件进行配置;开启模块33,用于开启所述Linux内核的IP转发功能;第二配置模块34,用于配置与所述VPN服务相关的防火墙的放行和转发规则,并在配置完成后进行重启,以完成搭建所述VPN服务。在本发明一实施例中,如图4所示,上文图3展示的装置还可以包括:验证模块41,用于在所述安装模块31安装用于在Linux内核的云服务器上搭建VPN服务的软件的软件包之前,验证所述Linux内核是否已加载MPPE模块;若是,则继续执行安装软件的软件包的操作。在本发明一实施例中,上述第一配置模块32还用于:获取所述软件的用于配置用户账户信息的第一配置文件;在所述第一配置文件中配置所述VPN服务的用户账户信息。在本发明一实施例中,上述开启模块33还用于:获取用于配置所述Linux内核的IP转发功能的第二配置文件;在所述第二配置文件中配置开启所述Linux内核的IP转发功能,并运行指定命令以使该配置生效。在本发明一实施例中,上述第二配置模块34还用于:对防火墙进行配置,以放行所述VPN服务允许的数据包;和/或通过配置NAT表的POSTROUTING链,增加NAT使得VPN客户端可以通过所述云服务器访问互联网。本发明实施例的上述装置:安装用于在Linux内核的云服务器上搭建VPN服务的软件的软件包;按照预设的配置规则对所述软件进行配置;开启所述Linux内核的IP转发功能;配置与所述VPN服务相关的防火墙的放行和转发规则,并在配置完成后进行重启,以完成搭建VPN服务。由此可见,本发明实施例能够实现灵活、有效地在云服务器上搭建VPN服务的目的。本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1