一.×××的简介

      ×××(Virtual Private Network,虚拟私有网)是近年来随着Internet 的广泛应用而迅速发展起来的一种新技术,实现在公用网络上构建私人专用网络。“虚拟”主要

指这种网络是一种逻辑上的网络。

1. ×××的特点

×××有别于传统网络,它并不实际存在,而是利用现有公共网络,通过资源配置而成的虚拟网络,是一种逻辑上的网络。

×××只为特定的企业或用户群体所专用。从×××用户角度看来,使用×××与传统专网没有区别。×××作为私有专网,一方面与底层承载网络之间保持资源独立性,即在一般情况下,×××资源不会被承载网络中的其它×××或非该×××用户的网络成员所使用;另一方面,×××提供足够安全性,确保 ×××内部信息不受外部的侵扰。

×××不是一种简单的高层业务。该业务建立专网用户之间的网络互联,包括建立×××内部的网络拓扑、路由计算、成员的加入与退出等,因此×××技术就比各种普通的点对点的应用机制要复杂得多。

2. ×××的优势

在远端用户、驻外机构、合作伙伴、供应商与公司总部之间建立可靠的安全连接,保证数据传输的安全性。这一优势对于实现电子商务或金融网络与通讯网络的融合将有特别重要的意义。利用公共网络进行信息通讯,一方面使企业以明显更低的成本连接远地办事机构、出差人员和业务伙伴,另一方面极大的提高了网络的资源利用率,有助于增加ISP (Internet Service Provider ,Internet 服务提供商)的收益。只需要通过软件配置就可以增加、删除×××用户,无需改动硬件设施。这使得×××的应用具有很大灵活性。

3.×××的分类

  1. 按运营模式划分

  2. 按隧道所属的层次划分

     (1) 第二层隧道协议 pptp l2F L2TP

     (2) 第三层隧道协议

现有的第三层隧道协议主要有:

GRE(Generic Routing Encapsulation)协议:这是通用路由封装协议,用于实现任意一种网络层协议在另一种网络层协议上的封装。

IPSec (IP Security )协议:IPSec 协议不是一个单独的协议,它给出了 IP 网络上数据安全的一整套体系结构。包括AH(Authentication Header)、ESP(Encapsulating Security Payload )、IKE (Internet Key Exchange )等协议。

GRE和IPSec 主要用于实现专线 ×××业务。

说明:第二、三层隧道协议之间的异同

第三层隧道与第二层隧道相比,优势在于它的安全性、可扩展性与可靠性。从安全性的角度看,由于第二层隧道一般终止在用户侧设备上,对用户网的安全及防火墙技术提出十分严峻的挑战;而第三层隧道一般终止在ISP 网关上,因此不会对用户网的安全构成威胁。从扩展性的角度看,第二层IP 隧道内封装了整个 PPP帧,这可能产生传输效率问题。其次,PPP会话贯穿整个隧道并终止在用户侧设备上,导致用户侧网关必须要保存大量PPP 会话状态与信息,这将对系统负荷产生较大的影响,也会影响到系统的扩展性。此外,由于PPP的LCP 及NCP协商都对时间非常敏感,这样IP 隧道的效率会造成PPP 对话超时等等一系列问题。相反,第三层隧道终止在ISP 的网关内,PPP会话终止在 NAS处,用户侧网关无需管理和维护每个 PPP 对话的状态,从而减轻了系统负荷。

一般地,第二层隧道协议和第三层隧道协议都是独立使用的,如果合理地将这两层协议结合起来使用,将可能为用户提供更好的安全性(如将L2TP 和IPSec 协议配合使用)和更佳的性能。

  3. 按业务用途划分

     (1) Intranet ×××(企业内部虚拟专网)

     (2) Access ××× (远程访问虚拟专网)

     (3) Extranet ××× (扩展的企业内部虚拟专网)

  4. 按组网模型划分

     (1) 虚拟租用线(VLL )

     (2) 虚拟专用拨号网络(VPDN )

     (3) 虚拟专用LAN 网段(VPLS)业务

     (4) 虚拟专用路由网(VPRN )业务

                

二.GRE协议简介
    1. GRE(Generic Routing Encapsulation,通用路由封装)协议是对某些网络层协议(如
IP 和IPX)的数据报进行封装,使这些被封装的数据报能够在另一个网络层协议(如IP)中传输。GRE 是×××(Virtual Private Network)的第三层隧道协议,在协议层之间采用了一种被称之为Tunnel(隧道)的技术。Tunnel是一个虚拟的点对点的连接,在实际中可以看成仅支持点对点连接的虚拟接口,这个接口提供了一条通路使封装的数据报能够在这个通路上传输,并且在一个Tunnel的两端分别对数据报进行封装及解封装。
      一个报文要想在Tunnel中传输,必须要经过加封装与解封装两个过程,以下面的网络为例说明这两个过程:

gre下的×××配置案例

(1) 加封装过程
      连接Novell Group1的接口收到IPX数据报后首先交由IPX 协议处理,IPX 协议检查IPX 报头中的目的地址域来确定如何路由此包。若报文的目的地址被发现要路由经过网号为1f 的网络(Tunnel 的虚拟网号),则将此报文发给网号为1f 的Tunnel端口。Tunnel 口收到此包后进行GRE 封装,封装完成后交给IP
模块处理,在封装IP 报文头后,根据此包的目的地址及路由表交由相应的网络接口处理。
(2) 解封装的过程
      解封装过程和加封装的过程相反。从Tunnel 接口收到的IP 报文,通过检查目的地址,当发现目的地就是此路由器时,系统剥掉此报文的IP 报头,交给GRE 协议模块处理(进行检验**、检查校验和及报文的***等);GRE 协议模块完成相应的处理后,剥掉GRE 报头,再交由IPX 协议模块处理,IPX 协议模块象对待一般数据报一样对此数据报进行处理。
系统收到一个需要封装和路由的数据报,称之为净荷(payload),这个净荷首先被加上GRE 封装,成为GRE 报文;再被封装在IP 报文中,这样就可完全由IP 层负责此报文的向前传输(forwarded)。人们常把这个负责向前传输IP 协议称为传输协议(delivery protocol 或者transport protocol)。封装好的报文的形式如下图所示:

gre下的×××配置案例

2.应用范围
(1) 多协议的本地网通过单一协议的骨干网传输
(2) 扩大了步跳数受限协议(如rip)的网络的工作范围
(3) 将一些不能连续的子网连接起来,用于组建***
(4) 与IPSec 结合使用,常用的是GRE over IPSec

3.注意事项:
? 只有在Tunnel两端都配置了校验才对进行校验
? Tunnel两端配置的识别关键字完全一致时才能正常通信

4.GRE的基本配置

创建虚拟Tunnel接口、配置Tunnel接口的源端地址、配置Tunnel接口的目的地址、配置Tunnel接口的网络地址

 

三.案例

Ip承载ip的gre (静态路由)

示意图:

gre下的×××配置案例

需求分析:

为了实现分公司和总公司之间的安全通信,采用***的gre协议利用现有的公用网络构建自己的私有网络进而实现数据的互访和加密。

 

配置的步骤

一:Fireware-1 的配置

[R6]sysname fireware1

[fireware1]dis cu

interface Ethernet0

ip address 192.168.2.254 255.255.255.0 内网的网关的地址

!

interface Ethernet1

!

interface Serial0

link-protocol ppp

ip address 61.130.130.1 255.255.255.252 广域网的接口的ip地址

!

interface Tunnel10 配置的gre隧道

link-protocol tunnel

ip address 192.168.5.1 255.255.255.0 隧道接口的ip地址

source 61.130.130.1 隧道的源ip地址

destination 61.130.130.6隧道的目的ip地址

!

quit

ip route-static 0.0.0.0 0.0.0.0 61.130.130.2 preference 60 默认路由

ip route-static 192.168.3.0 255.255.255.0 192.168.5.2 preference 60 为隧道指定下一跳地址

!

return

[fireware1]dis ip rou 查看FIREWALL1路由表

Routing Tables:

Destination/Mask Proto Pref Metric Nexthop Interface

0.0.0.0/0 Static 60 0 61.130.130.2 Serial0

61.130.130.0/30 Direct 0 0 61.130.130.2 Serial0

61.130.130.1/32 Direct 0 0 127.0.0.1 LoopBack0

61.130.130.2/32 Direct 0 0 61.130.130.2 Serial0

127.0.0.0/8 Direct 0 0 127.0.0.1 LoopBack0

127.0.0.1/32 Direct 0 0 127.0.0.1 LoopBack0

192.168.2.0/24 Direct 0 0 192.168.2.254 Ethernet0

192.168.2.254/32 Direct 0 0 127.0.0.1 LoopBack0

192.168.3.0/24 Static 60 0 192.168.5.2 Tunnel10

192.168.5.0/24 Direct 0 0 192.168.5.1 Tunnel10

192.168.5.1/32 Direct 0 0 127.0.0.1 LoopBack0

[fireware1]dis inter tun 10 查看隧道的相关信息

Tunnel10 current state:up, line protocol current state:up

The Maximum Transmit Unit is 64000

Internet Address is 192.168.5.1(24)

Last clearing of counters: Never

input packets:7065, bytes:603287

input errors:0, broadcast:0, drops:0

output packets:7173, bytes:610570

output errors:0, 0 broadcast, no protocol:0

[fireware1]

 

二:Firewall2 的配置过程

[firewall2]dis cu

Now create configuration...

Current configuration

!

interface Aux0

async mode flow

link-protocol ppp

!

interface Ethernet0

loopback

ip address 192.168.3.254 255.255.255.0 由于在这里是进行测试,所以将该接口配置为lookup借口

interface Serial1

link-protocol ppp

ip address 61.130.130.6 255.255.255.252

interface Tunnel20 配置一个隧道

link-protocol tunnel

ip address 192.168.5.2 255.255.255.0 隧道借口的地址

source 61.130.130.6 隧道的源ip地址

destination 61.130.130.1 隧道的目的ip地址

配置的静态的路由表项

ip route-static 0.0.0.0 0.0.0.0 61.130.130.5 preference 60 默认的路由

ip route-static 192.168.2.0 255.255.255.0 192.168.5.1 preference 60 为隧道借口指定下一跳的地址

[firewall2]dis ip rou

Routing Tables:

Destination/Mask Proto Pref Metric Nexthop Interface

0.0.0.0/0 Static 60 0 61.130.130.5 Serial1

61.130.130.4/30 Direct 0 0 61.130.130.5 Serial1

61.130.130.5/32 Direct 0 0 61.130.130.5 Serial1

61.130.130.6/32 Direct 0 0 127.0.0.1 LoopBack0

127.0.0.0/8 Direct 0 0 127.0.0.1 LoopBack0

127.0.0.1/32 Direct 0 0 127.0.0.1 LoopBack0

192.168.2.0/24 Static 60 0 192.168.5.1 Tunnel20

192.168.3.0/24 Direct 0 0 192.168.3.254 Ethernet0

192.168.3.254/32 Direct 0 0 127.0.0.1 LoopBack0

192.168.5.0/24 Direct 0 0 192.168.5.2 Tunnel20

192.168.5.2/32 Direct 0 0 127.0.0.1 LoopBack0

[firewall2]dis inter tu 20

Tunnel20 current state:up, line protocol current state:up

The Maximum Transmit Unit is 64000

Internet Address is 192.168.5.2(24)

input packets:7444, bytes:632762

input errors:0, broadcast:0, drops:0

output packets:7348, bytes:629644

output errors:0, 0 broadcast, no protocol:0

[firewall2]

 

三:在网络中的路由器的相关配置

[R5]dis cu

interface Serial0

clock DTECLK1

link-protocol ppp

ip address 61.130.130.2 255.255.255.252

interface Serial1

clock DTECLK1

link-protocol ppp

ip address 61.130.130.5 255.255.255.252

[R5]ping 61.130.130.1 测试到防火墙1的连通性

PING 61.130.130.1: 56 data bytes, press CTRL_C to break

Reply from 61.130.130.1: bytes=56 Sequence=0 ttl=255 time = 25 ms

Reply from 61.130.130.1: bytes=56 Sequence=1 ttl=255 time = 25 ms

[R5]ping 61.130.130.6 测试到防火墙2的连通性

PING 61.130.130.6: 56 data bytes, press CTRL_C to break

Reply from 61.130.130.6: bytes=56 Sequence=0 ttl=255 time = 48 ms

Reply from 61.130.130.6: bytes=56 Sequence=1 ttl=255 time = 30 ms

 

四:使用的分公司的一台pc进行测试

Pc:192.168.2.100 gw 192.168.2.254

E:\Documents and Settings\Administrator>ping 192.168.3.254 -t

Pinging 192.168.3.254 with 32 bytes of data:

Request timed out.

Request timed out.

Request timed out.

Request timed out.

Request timed out.

Reply from 192.168.3.254: bytes=32 time=50ms TTL=254

Reply from 192.168.3.254: bytes=32 time=49ms TTL=254

Reply from 192.168.3.254: bytes=32 time=51ms TTL=254

Reply from 192.168.3.254: bytes=32 time=51ms TTL=254

Reply from 192.168.3.254: bytes=32 time=50ms TTL=254

Reply from 192.168.3.254: bytes=32 time=49ms TTL=254

Reply from 192.168.3.254: bytes=32 time=49ms TTL=254

Reply from 192.168.3.254: bytes=32 time=49ms TTL=254

对以上的设置进行修改

 

基于rip的gre (基于rip的gre)

一:防火墙一的修改

删除原有的静态ip地址,配置rip,并发布自己的直连网络

[fireware1]dis rip

RIP is running

checkzero is on default-cost : 1

no peer

network :

192.168.2.0 192.168.5.0

summary is on preference : 100

[fireware1]dis cu

interface Ethernet0

ip address 192.168.2.254 255.255.255.0

!

interface Ethernet1

!

interface Serial0

link-protocol ppp

ip address 61.130.130.1 255.255.255.252

!

interface Serial1

link-protocol ppp

!

interface Tunnel10

link-protocol tunnel

ip address 192.168.5.1 255.255.255.0

source 61.130.130.1

destination 61.130.130.6

!

quit

rip

network 192.168.2.0

network 192.168.5.0

!

quit

!

quit

ip route-static 0.0.0.0 0.0.0.0 61.130.130.2 preference 60

!

Return

[firewall2]dis rip

RIP is running

checkzero is on default-cost : 1

no peer

network :

192.168.3.0 192.168.5.0

summary is on preference : 100

 

二:防火墙2的修改

删除原有的静态ip地址,配置rip,并发布自己的直连网络

[firewall2]dis cu

Now create configuration...

Current configuration

interface Ethernet0

loopback

ip address 192.168.3.254 255.255.255.0

!

interface Ethernet1

!

interface Serial0

link-protocol ppp

!

interface Serial1

link-protocol ppp

ip address 61.130.130.6 255.255.255.252

!

interface Tunnel20

link-protocol tunnel

ip address 192.168.5.2 255.255.255.0

source 61.130.130.6

destination 61.130.130.1

rip

network 192.168.3.0

network 192.168.5.0

quit

ip route-static 0.0.0.0 0.0.0.0 61.130.130.5 preference 60

!

Return

 

三:再次进行认证

gre下的×××配置案例