ipsec vpn

来源:互联网 发布:手机棋牌游戏平台源码 编辑:程序博客网 时间:2024/05/21 15:41

转自:http://bbs.51cto.com/thread-1067548-1.html

【技术分享】ipsec vpn 五步曲之一,为什么要使用ipsec vpn和ipsec vpn理论支持

http://bbs.51cto.com/thread-1066397-1.html
【技术分享】ipsec vpn 五步曲之二,基础ipsec vpn实验和排错思路
http://bbs.51cto.com/thread-1066493-1.html
【技术分享】ipsec vpn 五步曲之三,影响ipsec vpn 的因素及其解决方法
http://bbs.51cto.com/thread-1066874-1.html
【技术分享】ipsec vpn 五步曲之四,DMVPN和EzVPN
http://bbs.51cto.com/thread-1067356-1.html
【技术分享】ipsec vpn 五步曲之五,高可用技术(冗余,备份)

http://bbs.51cto.com/thread-1067548-1.html


对于想深入学习ipsec vpn 的可以看下此视频教程或者查询相关文献书籍。


http://down.51cto.com/zt/5155

本实验将介绍两点。 
1.DPD (问题对等体检测)

2.高可用性冗余解决方案(双SVTI,链路+设备一起冗余)

这篇文档也是ipsec vpn 的结束篇。后面有【我想说的话】 ,附录。(我觉得这个应该好好看看)

另外这篇文档将只介绍一篇实验,DPD,不单做实验了。只列出命令行。



1.DPD
前面介绍过一种基础的ipsec vpn(参考文档二) ,即站点到站点VPN,由于VPN先天不足,不能很及时的发现对端是否 “存活”,以至于可能对方已经down了很久,但是发送端仍然继续使用原来的安全关联对数据包进行加密 然后发送,造成大量的丢包和路由资源的浪费。正因为如此 推出了一种新的技术 DPD。


DPD工作模式


1.周期性工作模式
类似于hello 报文,每隔一段时间就发送一次报文,确定对方还存活。
好处在于可以快速检测到对端的错误,效率高。但是同样频繁的发送DPD数据包,会消耗过多的网络资源和设备资源


2.按需工作模式
如果路由器加密了数据,并且发送给了对等体。但是在一定时间内没有解密数据,那么路由器就会发送DPD报文,询问对方状态。如果在规定的时间内收到了DPD回复消息。则ipsec vpn关系不会down。


如果在5个DPD包都发送过去,但是没有回复的情况下。那么将会终止于对端的ipsec 安全关联——down




配置——————


只需要在原有ipsec 配置基础上 加入以下命令即可



周期工作模式:crypto isakmp keepalive 10 periodic

【10】代表的是 10秒钟发送一次DPD报文






按需工作模式:crypto isakmp keepalive 10
这里的【10】非比上面的【10】
这里是【10】表示的是当一个加密数据包出去以后,如果10秒内没有收到解密的报文,那么就将发送DPD报文询问对方是否存活。 懂?


基础配置可以参照一下 文档二
关于DPD的分析可以看下http://bbs.chinaunix.net/thread-1618510-1-1.html 文档,觉得写的还不错。
——————————————————————————————————————————————



2.备份冗余

其实书后面介绍了2个实验 链路备份和设备备份。不过我觉得还是最后一个双 SVTI 技术最佳可靠,此实验可以完成三个功能 1.负载均衡 2.冗余 3.不使用DPD技术,仍然可以保证ipsec 高可用性。

所以在这里将直接介绍 
【高可用性站点到站点 ipsec vpn 最佳解决方案】


简介,前面介绍过 SVTI ipsec vpn ,就是让动态路由协议能在 ipsec vpn 上跑起来,既然用了动态路由协议,那么可否用动态路由协议中的hello 来替代DPD的功能呢?   可以!
所以此实验配置完成后真的是一种很爽的感觉。


逻辑拓扑

 



作者的思想是 R1 与 R3 R4 通过tunnel建立邻居关系
为什么要使用tunnel? 因为中间隔着ISP网络

通过tunnel 让路由器觉得自己和他好像 是直连在一起。从而建立邻居关系,建立了邻居关系之后,就可以传递路由。
路由没有任何问题 即 VPN 就不会出问题。 如果路由都没有了 那么何谈 ipsec vpn 呢?
这种方法非常之巧妙!!!



GNS3 实验拓扑

 



R1 【发送端】
R2【ISP网络】
R3【主网关】
R4【备份网关】
R5【内网服务器】
R6 【内网中的一台SW】

IP地址规划如下。

R1-Branch#show ip int br
Interface                  IP-Address      OK? Method Status                Protocol
Ethernet0/0                202.100.1.1     YES NVRAM  up                    up      【出接口公网IP】
Loopback0                  1.1.1.1         YES NVRAM  up                    up      【内网路由】
Tunnel0                    172.16.1.1      YES NVRAM  up                    up    【与R3的tunnel】  
Tunnel1                    172.16.2.1      YES NVRAM  up                    up      【与R4的tunnel】



R2 地址规划【略】

R3-Primary#show ip int br
Interface                  IP-Address      OK? Method Status                Protocol
Ethernet0/0                10.1.1.10       YES NVRAM  up                    up      【R3的内网路由】
Ethernet0/1                61.128.1.1      YES NVRAM  up                    up      【出接口公网IP】

Tunnel0                    172.16.1.2      YES NVRAM  up                    up      【与R1的tunnel】


R4#show ip int br
Interface                  IP-Address      OK? Method Status                Protocol
Ethernet0/0                unassigned      YES NVRAM  administratively down down    
Ethernet0/1                10.1.1.20       YES NVRAM  up                    up      【内网路由】
Ethernet0/2                137.78.5.1      YES NVRAM  up                    up      【出接口公网IP】
Tunnel0                    172.16.2.2      YES NVRAM  up                    up      【与R1的tunnel】


R5#show ip int br
Interface                  IP-Address      OK? Method Status                Protocol
Ethernet0/0                10.1.1.1        YES NVRAM  up                    up      【内接口】
Loopback0                  2.2.2.2         YES NVRAM  up                    up 
【最终要访问的地址】




配置。

1.配置IP地址 【略】
2.配置默认路由。
在R1 R3 R4 上分别配置默认路由 出去,指向ISP。要不然底层不可达的哈。


3.在R1上配置 ipsec vpn 和 tunnel 


R1-Branch(config)#crypto isakmp policy 10【第一阶段】这里不再多述了。不知道的可以看下文档二。
R1-Branch(config-isakmp)#authentication pre-share

R1-Branch(config)#crypto isakmp key 0 cisco address 61.128.1.1
【与61.128.1.1 建立isakmp sa ——R3】
R1-Branch(config)#crypto isakmp key 0 cisco address 137.78.5.1
【分别与137.78.5.1 建立isakmp sa ——R4】————这里建立了两个isakmp sa

R1-Branch(config)#crypto ipsec transform-set cisco esp-des esp-md5-hmac【第二阶段策略】

R1-Branch(config)#crypto ipsec profile ipsec-profile    【配置一个集合名称是  ipsec-profile】


R1-Branch(ipsec-profile)#set transform-set cisco

【set一个策略,cisco从第二阶段策略 名称中得到。】





配置tunnel



interface Tunnel0【与R3建立的tunnel】


ip address 172.16.1.1 255.255.255.0


【配置一个IP,注意要网段分开】


tunnel source 202.100.1.1


【配置一个源 互联网出接口IP】


tunnel destination 61.128.1.1


【目的是R3入接口IP】


tunnel mode ipsec ipv4


【tunnel的类型】


tunnel protection ipsec profile ipsec-profile


【接口应用】


!         


interface Tunnel1【与R4建立的tunnel,如上所述。不再重复了。】


ip address 172.16.2.1 255.255.255.0


tunnel source 202.100.1.1


tunnel destination 137.78.5.1


tunnel mode ipsec ipv4


tunnel protection ipsec profile ipsec-profile



最后别忘了默认路由


此时 R1 的配置已经完成。



接下来就在 R3 和R4 上进行 相同的配置,会有少许不同。大致一样的。



R3



crypto isakmp policy 10【同样 第一阶段策略】


authentication pre-share【认证类型】


crypto isakmp key cisco address 202.100.1.1【与谁建立isakmp 关系】


!         


!         


crypto ipsec transform-set cisco esp-des esp-md5-hmac 【第二阶段策略】


!         


crypto ipsec profile ipsec-profile【做一个集合】


set transform-set cisco



interface Tunnel0
ip address 172.16.1.2 255.255.255.0【注意网段一致】
tunnel source 61.128.1.1【互联网出接口】
tunnel destination 202.100.1.1【对端入接口】
tunnel mode ipsec ipv4【tunnel类型】
tunnel protection ipsec profile ipsec-profile【接口应用】


最后别忘了默认路由
此时 R3配置完成。

R4也是一样 不再注释。
crypto isakmp policy 10
authentication pre-share
crypto isakmp key cisco address 202.100.1.1
!         
!         
crypto ipsec transform-set cisco esp-des esp-md5-hmac 
!         
crypto ipsec profile ipsec-profile
set transform-set cisco 


interface Tunnel0
ip address 172.16.2.2 255.255.255.0
tunnel source 137.78.5.1
tunnel destination 202.100.1.1
tunnel mode ipsec ipv4
tunnel protection ipsec profile ipsec-profile

ip route 0.0.0.0 0.0.0.0 137.78.5.10

如果以上配置无误,那么会发现tunnel口已经 UP起来了。如果tunnel口的协议(Protocol)还是down的,请检查配置和底层是否可达

R1-Branch#show ip int br
Interface                  IP-Address      OK? Method Status                Protocol

Tunnel0                    172.16.1.1      YES NVRAM  up                    up      
Tunnel1                    172.16.2.1      YES NVRAM  up                    up 

通道都建立好了,接下来就是跑动态路由协议了。
R1【network 自己的tunnel口 和内网路由】
router eigrp 1
network 1.1.1.0 0.0.0.255
network 172.16.1.0 0.0.0.255
network 172.16.2.0 0.0.0.255
no auto-summary


R3【network 自己的tunnel口 和内网路由】
router eigrp 1
network 10.1.1.0 0.0.0.255
network 172.16.1.0 0.0.0.255
no auto-summary


R4【network 自己的tunnel口 和内网路由】
router eigrp 1
network 10.1.1.0 0.0.0.255
network 172.16.2.0 0.0.0.255
no auto-summary


R5【同上】
router eigrp 1
network 2.2.2.0 0.0.0.255
network 10.1.1.0 0.0.0.255
no auto-summary


发现邻居建立都没问题后不要急着ping 。先看下路由有没有问题。
R1-Branch#show ip route 
     2.0.0.0/24 is subnetted, 1 subnets
D       2.2.2.0 [90/297398016] via 172.16.2.2, 00:46:45, Tunnel1
                [90/297398016] via 172.16.1.2, 00:46:45, Tunnel0


发现R1去往R5 2.2.2.2 已经负载

这时ping  ----必定通了~

然后
在ping的过程中 down 一个接口看看 会不会进行切换。

R1-Branch#ping 2.2.2.2 source loopback 0 repeat 100000000

Type escape sequence to abort.
Sending 100000000, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:
Packet sent with a source address of 1.1.1.1 
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!......
*Mar  1 00:57:07.239: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor 172.16.1.2 (Tunnel0) is down: holding time expired..!!!!!!!!!!!!!!!!!!!!!!!!.
Success rate is 94 percent (169/178), round-trip min/avg/max = 36/78/132 ms


成功切换。 实验完成。
 高可用性.rar (31.75 KB) 





附录想要了解更多ipsec vpn知识?


GRE over ipsec vpn
双NAT环境下 ipsec vpn 建立
DPD debug 信息分析
RRI技术(cisco反向路由注入)
设备备份和链路备份的工作原理及其实现方法


DMVPN 单云双中心(同在一个ISP网络环境下,两个网关,建立DMVPN)


DMVPN 双云双中心(联通走联通,电信走电信,互相冗余)


GETVPN  组加密传输VPN


EZVPN 通过AAA认证服务器完成认证实验。


isakmp profile 技术


DVTI  技术(动态虚拟隧道技术)   与SVTI 有什么区别 能解决什么问题?


如果有CCSP方向的还需要了解 ASA 策略图。  





——————————————————————————————————————————————————
【我想说的话】
终于把这5篇文档做完了。途径没有检查过,如果有些地方定义不严谨,或者有错误的地方欢迎指出,会进行改正。
另外我不知道有多少人看到了今天 我争论帖子。
首先我要在这里做出道歉,确实做得不对。
除此之外我只想谈谈我的个人观点。


1.我从不怕任何的争论
注意这里用的是争论,而不是争吵,这个习惯是我在 某培训机构进行培训时养成的习惯,对一个未知事物总喜欢刨根问底,问个不停。其实我很享受,到产生问题,最终到解决问题的这种感觉。但是如果争论变成了争吵,成为了互相抬杠,我觉得就毫无意义了,当然如果在争论激烈的时候,说了几句冲的话,请指出,无心之口。不必放在心上。


2.保持敬畏之心
这句话是高中老师对我们说的,其实当时听到这句话真的笑cha 了。后来到了大学才明白这句话的含义,至少我认为我做到了这一点。我不知道在看此文档的有多少人已经觉得 ipsec vpn 已经过时了无用了。但是我觉得这些都不重要,我们探讨的仅仅是技术,而非谁跟优劣,技术无优劣之分,只有适不适合自己。
有的时候一个人坐在教室,翻开那本 ipsec vpn ,有的时候感觉与作者是在同步的。比如在看到书上P281页 介绍 GRE over EZVPN   “精彩部分马上开始” 我会和作者一样心跳加速的,会想后面的结果是什么,会遇到什么情况,怎么解决。然而这样的情况还有很多很多.....


也许若干年之后 ipsec vpn 这项技术早就被替代,人们都觉得ipsec 已经不值一提了。我再次翻开此书,再次学习。仍然会发现作者在此书中留下的激情。那种解决问题的快感! 无法用语言表达。




3.关于差距
我仍然是一名大学生。目前马上大四,由于环境问题,始之不可能有太多的实践机会,对于底层我向来就不是很关心(底层而不是理论),所以如果始终有人抓着理论不放,不看看实验效果,实验理论,我确实无法解释。
如果我有错误,只要提出正确,理由充分,一定改正。 说道做到。
但是如果断章取义,五十步笑百步的心态贬低别人,那我真的无话可说。




4.如何提交问题
提交问题和解决问题的思路是一致的,但仅仅这样,仍然有人不会。


1.不是反驳,而是分析
分析为什么我的看法会与他的看法不同。


2.差异化对比
如果他这样会怎样
我这样会怎样


3.提出个人见解
对方是否可行
我是否可行


4.达成共识 
交流探讨。


如果第一步就出现问题,就会出现我前面所说的互相抬杠(我承认我先抬的

杠)



5.学习方法

学习并不是一撮而就,而是持之以恒。如果你单纯的以为就靠我这5篇文档就能完全了解ipsec vpn那就大错特错了。具体查询下 附录



6.我始终保持一颗平常心




你看得起我,我还是我,看不起我还是我,我就是我,我就是那个样子


7.始终保持一颗学习的心
技术比你好的人大有人在,工作能力比你强的人也大有人在。人缘,写文档,英语.....所以......

0 0
原创粉丝点击