论文部分内容阅读
摘要:对在中小企业网络中实现VPN进行了研究,提出一种高效而廉价的实现方法。具体阐述了在LINUX系统中如何实现VPN技术,提供了服务器的创建方法和防火墙的设置技巧。对中小企业利用VPN技术实现内网的灵活访问具有极大的参考意义。
关键词:VPN;中小企业;网络
中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)36-2891-02
The Implementation of VPN on The Company-Internal Network
ZHOU Shi-jie
(Fujian Communications Technology College, Fuzhou 350007, China)
Abstract: Do the research of the implementation of VPN on the company-internal network, propose a highly efficient and low-cost method. Descript how to achieve VPN technology in the LINUX system. Provides a method to create the server and firewall settings skills. It has great reference value to use VPN technology with a flexible network access on the company-internal network.
Key words: VPN; company; network
1 引言
隨着计算机网络的不断发展,以及企业信息化进程的加速,大部分的政府部门、企事业单位均已建设了单位内部的网络系统,实现了办公自动化,日常工作也渐渐从以往的文书往来向网络办公发展,大家已经越来越离不开计算机网络。本文主要讨论了如何在中小企业网络中实现VPN技术。
2 中小企业网的VPN实现选择
目前主流的内部网络组网方式较为统一,内部使用私有地址部署,内网出口使用防火墙或路由器做NAT地址转换,在ISP提供的线路帮助下,从而实现中小型企业内部网络与INTERNET的互联。这种组网方式能大量节约IP地址资源,降低联网成本,同时也能够有效的保护中小企业内部网络上各自信息资源的安全。随着企业业务的不断扩展,越来越多的工作需要在企业之外完成,比如在外地出差或者对用户进行上门服务或者在家办公时。这时,我们需要一种能方便而又安全的联入企业内部网络,从而使用网络中的各种信息和资源,让我们的工作方式更加灵活和有效。传统的解决方法是在企业内部建立远程访问服务器,远程用户通过电话线路等远程拨号到远程访问服务器,这种解决方法一是速度慢,二是要支付较高的电话费用,成本较高。而VPN技术就弥补了这些缺陷,它利用廉价的INTERNET或其他公共网络传输数据,在网络出口处提供服务,有需要的客户端通过INTERNET连入VPN服务器,在服务器的帮助下,获得一个事先划分的内网IP地址。此时,该客户端就虚拟的联入了企业内部局域网,和平常在办公室里一样,可以获得各种内网资源。
图1
那么,VPN技术如何部署以及实现呢?在各种网络连接设备上,一些专门的厂商都会有VPN模块可以提供VPN服务。例如CISCO的防火墙,三层交换机等设备上均有VPN模块可以选配。也有一些第三方的VPN技术,如SSLVPN、IPSECVPN等等。但是,这些设备的价格以及LICENCE的费用都比较高,对于一个中小型企业局域网来讲,这样的投入也许超出了各自的承受范围。那么有没有一些简单而又经济的替代方法呢?免费的LINUX系统就给我们提供了这样一种实现的方法。
3 使用的VPN协议
VPN技术在创建隧道实现虚拟专用网的过程中,隧道两端需使用相同的隧道协议。根据OSI参考模型划分,隧道技术可以分为2层和3层隧道协议。第二层隧道协议主要有:PPTP、L2TP和L2F,第三层协议主要有IP over IP和IPSec。通常在LINUX中我们使用PPTP协议实现VPN。
PPTP协议是PPP协议的扩展,并协调使用PPP的身份验证、压缩和加密机制。PPTP协议是使用一般路由封装(GRE)报头和IP报头封装在PPP帧中的,结构如图1。
4 VPN服务的实现
以RED HAT ENTERPRISE AS 4.0系统为例说明VPN服务的实现方法。
为VPN服务器配置两块网卡,分别为eth0和eht1。其中eth0连接到内部网络,假设IP为172.26.1.1;eth1连接到INTERNET,假设IP为218.1.2.3。
首先,需要下载内核补丁、升级自带的PPP程序、安装PPTP以及MPPE软件包以便支持PPTP协议和微软的点对点加密MPPE。
1) dkms-2.0.5-1.noarch.rpm 动态内核模块支持的RPM安装包
2) kernel_ppp_mppe-0.0.5-2dkms.noarch.rpm MPPE加密协议的内核补丁的RPM安装包
3) ppp-2.4.3-5.rhel4.i386.rpm 升级内置PPP到2.4.3版本,以支持MPPE加密协议
4) pptpd-1.3.0-0.i386.rpm PPTP点对点隧道协议的RPM安装包
下载完成后使用一下命令进行安装和升级。
rpm - ivh dkms-2.0.5-1.noarch.rpm
rpm - ivh kernel_ppp_mppe-0.0.5-2dkms.noarch.rpm
rpm - Uvh ppp-2.4.3-5.rhel4.i386.rpm
rpm - ivh pptpd-1.3.0-0.i386.rpm
全部安装升级完成后使用vi程序打开PPTP的主配置文件。
vi /etc/pptpd.conf
在文件中加入以下配置语句:
localip 172.26.1.1
remoteip 172.26.1.100-200,172.26.1.240
文件/etc/ppp/chap-secrets中保存了VPN客户机拨入时所使用的帐户名、口令、固定分配的IP地址等信息,每个账户在该文件中使用一行,格式如下:
帐户名 服务 口令 分配给该账户的IP地址
“test” pptpd “password” “*”
“admin” pptpd “admin” “172.26.1.240”
其中*代表由pptp服务在地址段中随机选择。
接着打开LINUX内核的路由功能,使VPN客户端能通过eth0路由到内部网络,执行以下命令:
echo “1”>/proc/sys/net/ipv4/ip_forward
5 VPN服务的管理
启动VPN服务:
/etc/init.d/pptpd start
停止VPN服务:
/etc/init.d/pptpd stop
重新启动VPN服务:
/etc/init.d/pptpd restart
该命令在重启服务时不能终止已存在的VPN连接,在重启后可能造成IP冲突的错误。可使用以下命令在停止服务时同时终止所有已存在的VPN连接,然后再使用启动VPN服务命令。
/etc/init.d/pptpd restart-kill
自动启动VPN服务:
执行命令”ntsysv”启动服务配置程序,在”pptpd”服务前面选中”*”,接着“确定”即可。
6 防火墙的设置
PPTP服务使用TCP协议中的1723端口和IP协议中编号为47的GRE常规路由封装,若启用了防火墙,则需开放1723端口并允许编号为47的IP协议通过。若使用的是iptables,则执行以下命令:
iptables - I INPUT - p tcp - dport 1723 - j ACCEPT
iptables - I INPUT - p gre - j ACCEPT
7 VPN客户端的配置
一般的VPN客户端均使用WINDOWS操作系统,以在WINDOS XP系统中创建VPN客户端为例说明操作步骤:
1) 网上邻居右键菜单中选择属性;
2) 双击“新建连接向导”;
3) 在向导对话框中单击“下一步”;
4) 在“网络连接类型”中选择“连接到我工作场所的网络”;
5) 在“网络连接”中选择“虚拟专用网连接”;
6) 在“连接名”中输入您想设定的连接名称;
7) 在“VPN服务器选择”中输入VPN服务器的域名或IP,本例中应输入eth1上的IP地址”218.1.2.3”;
8) 单击“完成”即可创建VPN客户端连接。
双击创建的VPN连接,输入服务器上创建的帐号”admin”与密码”admin”点击连接即可联入VPN服务器。连接成功后双击该连接,选择“详细信息”,若显示使用PPTP和MPPE 128加密则表明VPN服务器配置成功。在本例的连接中应获得一个固定分配给”admin”用户的IP地址”172.26.1.240”。
此时,该客户端即可像在内部网络里一样直接访问各种资源。
8 结束语
VPN技术的实现,对于业务灵活性要求越来越高的企业有极大助益,而使用免費的linux系统实现VPN技术,无疑是一种廉价而又高效的手段,具备相当的参考意义。
参考文献:
[1] 童珉,冉晓旻.VPN的扩展性研究[J].计算机时代,2003(7).
[2] 赵金萍,熊君星,罗华群.VPN关键技术的研究[J].电脑知识与技术:学术交流,2007(22).
[3] 封浩宇.IP VPN在电信运营网络中的实现[J].电信科学,2002(4).
关键词:VPN;中小企业;网络
中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)36-2891-02
The Implementation of VPN on The Company-Internal Network
ZHOU Shi-jie
(Fujian Communications Technology College, Fuzhou 350007, China)
Abstract: Do the research of the implementation of VPN on the company-internal network, propose a highly efficient and low-cost method. Descript how to achieve VPN technology in the LINUX system. Provides a method to create the server and firewall settings skills. It has great reference value to use VPN technology with a flexible network access on the company-internal network.
Key words: VPN; company; network
1 引言
隨着计算机网络的不断发展,以及企业信息化进程的加速,大部分的政府部门、企事业单位均已建设了单位内部的网络系统,实现了办公自动化,日常工作也渐渐从以往的文书往来向网络办公发展,大家已经越来越离不开计算机网络。本文主要讨论了如何在中小企业网络中实现VPN技术。
2 中小企业网的VPN实现选择
目前主流的内部网络组网方式较为统一,内部使用私有地址部署,内网出口使用防火墙或路由器做NAT地址转换,在ISP提供的线路帮助下,从而实现中小型企业内部网络与INTERNET的互联。这种组网方式能大量节约IP地址资源,降低联网成本,同时也能够有效的保护中小企业内部网络上各自信息资源的安全。随着企业业务的不断扩展,越来越多的工作需要在企业之外完成,比如在外地出差或者对用户进行上门服务或者在家办公时。这时,我们需要一种能方便而又安全的联入企业内部网络,从而使用网络中的各种信息和资源,让我们的工作方式更加灵活和有效。传统的解决方法是在企业内部建立远程访问服务器,远程用户通过电话线路等远程拨号到远程访问服务器,这种解决方法一是速度慢,二是要支付较高的电话费用,成本较高。而VPN技术就弥补了这些缺陷,它利用廉价的INTERNET或其他公共网络传输数据,在网络出口处提供服务,有需要的客户端通过INTERNET连入VPN服务器,在服务器的帮助下,获得一个事先划分的内网IP地址。此时,该客户端就虚拟的联入了企业内部局域网,和平常在办公室里一样,可以获得各种内网资源。
图1
那么,VPN技术如何部署以及实现呢?在各种网络连接设备上,一些专门的厂商都会有VPN模块可以提供VPN服务。例如CISCO的防火墙,三层交换机等设备上均有VPN模块可以选配。也有一些第三方的VPN技术,如SSLVPN、IPSECVPN等等。但是,这些设备的价格以及LICENCE的费用都比较高,对于一个中小型企业局域网来讲,这样的投入也许超出了各自的承受范围。那么有没有一些简单而又经济的替代方法呢?免费的LINUX系统就给我们提供了这样一种实现的方法。
3 使用的VPN协议
VPN技术在创建隧道实现虚拟专用网的过程中,隧道两端需使用相同的隧道协议。根据OSI参考模型划分,隧道技术可以分为2层和3层隧道协议。第二层隧道协议主要有:PPTP、L2TP和L2F,第三层协议主要有IP over IP和IPSec。通常在LINUX中我们使用PPTP协议实现VPN。
PPTP协议是PPP协议的扩展,并协调使用PPP的身份验证、压缩和加密机制。PPTP协议是使用一般路由封装(GRE)报头和IP报头封装在PPP帧中的,结构如图1。
4 VPN服务的实现
以RED HAT ENTERPRISE AS 4.0系统为例说明VPN服务的实现方法。
为VPN服务器配置两块网卡,分别为eth0和eht1。其中eth0连接到内部网络,假设IP为172.26.1.1;eth1连接到INTERNET,假设IP为218.1.2.3。
首先,需要下载内核补丁、升级自带的PPP程序、安装PPTP以及MPPE软件包以便支持PPTP协议和微软的点对点加密MPPE。
1) dkms-2.0.5-1.noarch.rpm 动态内核模块支持的RPM安装包
2) kernel_ppp_mppe-0.0.5-2dkms.noarch.rpm MPPE加密协议的内核补丁的RPM安装包
3) ppp-2.4.3-5.rhel4.i386.rpm 升级内置PPP到2.4.3版本,以支持MPPE加密协议
4) pptpd-1.3.0-0.i386.rpm PPTP点对点隧道协议的RPM安装包
下载完成后使用一下命令进行安装和升级。
rpm - ivh dkms-2.0.5-1.noarch.rpm
rpm - ivh kernel_ppp_mppe-0.0.5-2dkms.noarch.rpm
rpm - Uvh ppp-2.4.3-5.rhel4.i386.rpm
rpm - ivh pptpd-1.3.0-0.i386.rpm
全部安装升级完成后使用vi程序打开PPTP的主配置文件。
vi /etc/pptpd.conf
在文件中加入以下配置语句:
localip 172.26.1.1
remoteip 172.26.1.100-200,172.26.1.240
文件/etc/ppp/chap-secrets中保存了VPN客户机拨入时所使用的帐户名、口令、固定分配的IP地址等信息,每个账户在该文件中使用一行,格式如下:
帐户名 服务 口令 分配给该账户的IP地址
“test” pptpd “password” “*”
“admin” pptpd “admin” “172.26.1.240”
其中*代表由pptp服务在地址段中随机选择。
接着打开LINUX内核的路由功能,使VPN客户端能通过eth0路由到内部网络,执行以下命令:
echo “1”>/proc/sys/net/ipv4/ip_forward
5 VPN服务的管理
启动VPN服务:
/etc/init.d/pptpd start
停止VPN服务:
/etc/init.d/pptpd stop
重新启动VPN服务:
/etc/init.d/pptpd restart
该命令在重启服务时不能终止已存在的VPN连接,在重启后可能造成IP冲突的错误。可使用以下命令在停止服务时同时终止所有已存在的VPN连接,然后再使用启动VPN服务命令。
/etc/init.d/pptpd restart-kill
自动启动VPN服务:
执行命令”ntsysv”启动服务配置程序,在”pptpd”服务前面选中”*”,接着“确定”即可。
6 防火墙的设置
PPTP服务使用TCP协议中的1723端口和IP协议中编号为47的GRE常规路由封装,若启用了防火墙,则需开放1723端口并允许编号为47的IP协议通过。若使用的是iptables,则执行以下命令:
iptables - I INPUT - p tcp - dport 1723 - j ACCEPT
iptables - I INPUT - p gre - j ACCEPT
7 VPN客户端的配置
一般的VPN客户端均使用WINDOWS操作系统,以在WINDOS XP系统中创建VPN客户端为例说明操作步骤:
1) 网上邻居右键菜单中选择属性;
2) 双击“新建连接向导”;
3) 在向导对话框中单击“下一步”;
4) 在“网络连接类型”中选择“连接到我工作场所的网络”;
5) 在“网络连接”中选择“虚拟专用网连接”;
6) 在“连接名”中输入您想设定的连接名称;
7) 在“VPN服务器选择”中输入VPN服务器的域名或IP,本例中应输入eth1上的IP地址”218.1.2.3”;
8) 单击“完成”即可创建VPN客户端连接。
双击创建的VPN连接,输入服务器上创建的帐号”admin”与密码”admin”点击连接即可联入VPN服务器。连接成功后双击该连接,选择“详细信息”,若显示使用PPTP和MPPE 128加密则表明VPN服务器配置成功。在本例的连接中应获得一个固定分配给”admin”用户的IP地址”172.26.1.240”。
此时,该客户端即可像在内部网络里一样直接访问各种资源。
8 结束语
VPN技术的实现,对于业务灵活性要求越来越高的企业有极大助益,而使用免費的linux系统实现VPN技术,无疑是一种廉价而又高效的手段,具备相当的参考意义。
参考文献:
[1] 童珉,冉晓旻.VPN的扩展性研究[J].计算机时代,2003(7).
[2] 赵金萍,熊君星,罗华群.VPN关键技术的研究[J].电脑知识与技术:学术交流,2007(22).
[3] 封浩宇.IP VPN在电信运营网络中的实现[J].电信科学,2002(4).