影响IPSec VPN的网络问题:
①、动态地址问题:两个 站点之间IPSec VPN的条件是站点之间有固定的IP地址,假如说分支站点采用ADSL上网链路,那么其IP地址是动态的,那么就在VPN时出现问题了。解决这一问题的方法有4种:
                                                                                *动态crypto map
                                                                                *DDNS
                                                                                *EzVPN
                                                                                *GRE over EzVPN
*******动态crypto map*************
实验拓扑如下:

基本配置默认完成
R2:
R2(config)#ip dhcp pool Branch
R2(dhcp-config)#default-router 23.1.1.2
R2(dhcp-config)#network 23.1.1.0 255.255.255.0
R2(config)#ip dhcp excluded-address 23.1.1.2
R3:
Enter configuration commands, one per line.  End with CNTL/Z.
R3(config)#int f1/0
R3(config-if)#no ip address
R3(config-if)#ip address dhcp
R3(config-if)#no shu
R3(config-if)#int lo0
R3(config-if)#ip add 3.3.3.3 255.255.255.0
R3#ping 12.1.1.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 12.1.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 92/123/160 ms
因为在R3的路由表中通过DHCP获得一条默认路由:
R3#sho ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, + - replicated route

Gateway of last resort is 23.1.1.2 to network 0.0.0.0

S*    0.0.0.0/0 [254/0] via 23.1.1.2
      3.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C        3.3.3.0/24 is directly connected, Loopback0
L        3.3.3.3/32 is directly connected, Loopback0
      23.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C        23.1.1.0/24 is directly connected, FastEthernet1/0
L        23.1.1.1/32 is directly connected, FastEthernet1/0
R1的配置(Center):
R1(config)#ip route 0.0.0.0 0.0.0.0 12.1.1.2
R1(config)#crypto  isakmp  policy  10
R1(config-isakmp)#authentication  pre-share
R1(config-isakmp)#exi
R1(config)#crypto isakmp  key 0 cisco address 0.0.0.0 0.0.0.0//这样配置不管对方是什么地址,只要用是相同的共享密钥cisco就可以建立IPSec VPN,但是这样不安全建议采用证书认证。
R1(config)#crypto ipsec transform-set trans esp-des esp-md5-hmac 
R1(cfg-crypto-trans)#exi                                                                                             
R1(config)#crypto dynamic-map DMAP 10 //动态map的配置只需要set转化集,任意的感兴趣流都被center接受,其本身也无法设置感兴趣流,因为branch端的地址并不知道。
R1(config-crypto-map)#set transform-set trans            
R1(config-crypto-map)#exi      
R1(config)#crypto map cisco 10000 ipsec-isakmp dynamic DMAP//其实map的序号是1-65535,从小到大优先递减,有多个IPSec VPN的话可以通过map序号来解决。这里设置为10000,目的是让明细的先匹配,所以动态的map的序号设置较大为好。
R1(config)#interface f1/0             
R1(config-if)#crypto map cisco       
注意:
R1#ping 3.3.3.3 so 1.1.1.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 3.3.3.3, timeout is 2 seconds:
Packet sent with a source address of 1.1.1.1
.....
Success rate is 0 percent (0/5)
这是因为动态crypto map的IPSec VPN中,必须首先由动态获取IP方向IP固定的一方主动发起IPSec VPN,只有当IPSec VPN建立之后,R1才能访问R3,因为此时R1并不知道感兴趣流和peer是什么。
R3#ping 1.1.1.1 so 3.3.3.3

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds:
Packet sent with a source address of 3.3.3.3
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 176/210/280 ms
R1#ping 3.3.3.3 so 1.1.1.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 3.3.3.3, timeout is 2 seconds:
Packet sent with a source address of 1.1.1.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 172/201/244 ms
R1#show crypto  engine connections active
Crypto Engine Connections

ID  Type    Algorithm           Encrypt  Decrypt LastSeqN IP-Address
    1  IPsec   DES+MD5                   0       31       37 12.1.1.1
    2  IPsec   DES+MD5                  37        0        0 12.1.1.1
 1001  IKE     SHA+DES                   0        0        0 12.1.1.1
动态crypto map存在的缺点:首先center不能主动发起IPSec VPN;这种配置方式使用了虚拟隧道接口,所以不能再center和branch站点之间贯通的使用动态路由协议,更不能使用ACL,QOS和NAT等流量控制技术。
¥¥¥¥¥¥¥由于动态DNS(DDNS)模拟器不能实现,所以这里只是介绍一下:
            传统的DNS服务是通过将域名解析为IP地址,但是假如IP地址变化了,那么解析出来的IP也就是错误的,从而导致访问失败。DDNS用来动态的更新DNS服务器上域名和IP地址之间的对应关系,以此来确保通过域名解析为正确的IP地址。
            使用DDNS,我们可以在两个都是动态获取IP的站点之间建立IPSec VPN,我们可以为动态获取IP地址的中心站点使用DDNS技术,将中心站点获取的IP动态的映射到一个域名,这样的话,不管中心站点的IP地址如何变化,映射的域名总是不变的,这样分支站点就可以通过连接中心站点的域名来建立IPSec VPN了。

使用DDNS的前提条件是要到相应的DDNS运营商去申请服务。
示例配置:将中心站点动态获取的IP映射到DDNS域名
Center:
  ip ddns update method yeslab
  HTTP
  add http://yeslab:yeslabccies@<s>/nic/update?system=dyndn&hostname=<h>&myip=<a>interval maximum 0 1 0 0
   <":"前面的yeslab为用户名,之后的为密码,其余的配置可以照抄>
  int dialer 1
    ip add negotiated
    ip ddns update hostname yeslab.mingjiao.org
    ip ddns update yeslab host members.dyndns.org
   <dialer 1为PPPOE拨号虚拟接口,动态获取的公网IP就附着在这一接口上>
Branch:
   ip domai-lookup
   ip name-server 8.8.8.8 <配置的服务器,使用此DNS解析中心站的动态域名的IP>
   crypto isakmp policy 10
     authen pre-share
  crypto isakmp key 0 cisco add 0.0.0.0 0.0.0.0
     ip access-list ex vpn
       permit ip 2.2.2.0 0.0.0.255 1.1.1.0 0.0.0.255
 crypto ipsec transform-set cisco esp-des esp-md5-hmac
 crypto map cisco 10 ipsec-isakmp
     match add vpn
     set transform-set cisco
     set peer yeslab.mingjiao.org dynamic  <设置peer用yeslab.mingjiao.org,注意一定要在配置的域名后面加上dynamic,这样每次发起连接的时候,都会解析域名对应的IP地址>
                                                                     
     int f1/0
           crypto map cisco

影响IPSec的网络问题的更多相关文章

  1. [ipsec][strongswan] VirtualPN隧道网络加速FEC(forward error correction)

    引用 跟一个网友就有关IPsec的网络加速以及降低延迟等问题进行了一些讨论,并总结了一写粗浅的看法. 因为FEC的资料并不多,所以分享出来,希望能被有需要的人看见:) 先说一下FEC. 我们使用ips ...

  2. 【Kubernetes】K8S 网络隔离 方案

    参考资料: K8S-网络隔离参考 OpenContrail is an open source network virtualization platform for the cloud. – Kub ...

  3. 【好书摘要】性能优化中CPU、内存、磁盘IO、网络性能的依赖

    系统优化是一项复杂.繁琐.长期的工作,优化前需要监测.采集.测试.评估,优化后也需要测试.采集.评估.监测,而且是一个长期和持续的过程,不 是说现在优化了,测试了,以后就可以一劳永逸了,也不是说书本上 ...

  4. iOS中利用CoreTelephony获取用户当前网络状态(判断2G,3G,4G)

    前言: 在项目开发当中,往往需要利用网络.而用户的网络环境也需要我们开发者去注意,根据不同的网络状态作相应的优化,以提升用户体验. 但通常我们只会判断用户是在WIFI还是移动数据,而实际上,移动数据也 ...

  5. Linux就这个范儿 第11章 独霸网络的蜘蛛神功

    Linux就这个范儿 第11章  独霸网络的蜘蛛神功  第11章 应用层 (Application):网络服务与最终用户的一个接口.协议有:HTTP FTP TFTP SMTP SNMP DNS表示层 ...

  6. Linux按照CPU、内存、磁盘IO、网络性能监测

      系统优化是一项复杂.繁琐.长期的工作,优化前需要监测.采集.测试.评估,优化后也需要测试.采集.评估.监测,而且是一个长期和持续的过程,不 是说现在优化了,测试了,以后就可以一劳永逸了,也不是说书 ...

  7. 深入理解Hadoop集群和网络

    导读:云计算和Hadoop中网络是讨论得相对比较少的领域.本文原文由Dell企业技术专家Brad Hedlund撰写,他曾在思科工作多年,专长是数据中心.云网络等.文章素材基于作者自己的研究.实验和C ...

  8. inux按照CPU、内存、磁盘IO、网络性能监测

    http://my.oschina.net/chape/blog/159640 系统优化是一项复杂.繁琐.长期的工作,优化前需要监测.采集.测试.评估,优化后也需要测试.采集.评估.监测,而且是一个长 ...

  9. IPSEC VPN配置实例

    TL-R400VPN应用——IPSEC VPN配置实例 TL-ER6120是TP-LINK专为企业应用而开发的VPN路由器,具备强大的数据处理能力,并且支持丰富的软件功能,包括VPN.IP/MAC 地 ...

随机推荐

  1. ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked.

    ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked. 解决方案: 异步更新 ...

  2. CSS和JS两种颜色渐变文字效果代码

    js实现颜色渐变文字效果代码: <!-- js颜色渐变色文字 --> <div id="moml"> <div style="text-al ...

  3. Redis如果内存满了怎么办?

    Redis占用内存大小 我们知道Redis是基于内存的key-value数据库,因为系统的内存大小有限,所以我们在使用Redis的时候可以配置Redis能使用的最大的内存大小. 1.通过配置文件配置 ...

  4. Mysql SQL CAST()函数

    (1).CAST()函数的参数是一个表达式,它包括用AS关键字分隔的源值和目标数据类型.以下例子用于将文本字符串'12'转换为整型: SELECT CAST('12' AS int) (2).返回值是 ...

  5. splay2(区间修改+内存回收)

    poj3580 要求写一种数据结构: 对一个序列进行 区间增减(add): 区间翻转(reverse):  区间移动(revolve): 插入(insert):   删除(delete):       ...

  6. Windows10_64位下upload-labs靶场搭建+phpstudy_v8.1安装教程

     之前介绍了Windows10_64位搭建WampServer的教程,这一次再来水一篇phpstudy的搭建教程.哈哈哈.     顺便安装一下upload-labs,搭着玩玩~         操作 ...

  7. 一起学Netty(一)之HelloWorld,可以聊天的小程序哦

    转自于:http://blog.csdn.net/linuu/article/details/51306480

  8. 记录一下自己搭建springboot+mybatis+druid 多数据源的过程

    前言  上次的一个项目(springboot+mybatis+vue),做到后面的时间发现需要用到多数据源.当时没有思路..后来直接用了jdbc来实现.这几天不是很忙,所以决定自己再搭建一次.不多说, ...

  9. 前端——语言——Core JS——《The good part》读书笔记——第六章节(Arrays)

    本章介绍数组的内容,Java中的数组在创建时,会分配同等大小的内存空间,一旦创建数组的大小无法改变,如果数据超过数组大小,会进行扩容操作.并且数组的元素类型在创建时必须是已知的,而且只能存放相同数据类 ...

  10. 【C语言】分别用下标法,地址法和指针法输出数组中的全部元素

    #include<stdio.h> int main() { ] = { ,,,, }; int i, * p; printf("下标法:\n"); ; i < ...