影响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. BZOJ1034[ZJOI2008]泡泡堂

    一开始是不会的,不知道如何处理相等的情况,瞎贪心一直WA. 于是就递归处理是让相等的平局还是输掉,如下,拿到了50分. int solve(int *a,int *b,int i,int l,int ...

  2. MySQL学习(七) 索引选择(半原创)

    概述 该篇文章主要阐述一个例子(例子来自参考资料,侵删),然后总结今天相关的知识点. 例子 (例子来自参考文章,非原创) 创建表并插入数据,并执行查询 CREATE TABLE `t` ( `id` ...

  3. 牛客多校第一场 A Equivalent Prefixes 单调栈(笛卡尔树)

    Equivalent Prefixes 单调栈(笛卡尔树) 题意: 给出两个数组u,v,每个数组都有n个不同的元素,RMQ(u,l,r)表示u数组中[l,r]区间里面的最小值标号是多少,求一个最大的m ...

  4. EQ实现

    原理参考: https://www.cnblogs.com/fellow1988/p/9189338.html https://www.cnblogs.com/fellow1988/p/9136346 ...

  5. 每天进步一点点------下载Microblaze程序到Flash

    第一步 生成下载文件(bit文件) 选择之前的工作目录,打开SDK.点击Program FPGA图标. 将bootloop项改为Hello_World.elf.点击Program.此时可以不用连接下载 ...

  6. layer.open 回调函数

    官方资料:http://www.layui.com/doc/modules/layer.html 在一个弹出框中新增个按钮,点击按钮后执行自己的语句(返回上一页并刷新). layer.open({ti ...

  7. MFC单文档视图中嵌入GLFW窗口

    开始学习OpenGL由于有一段时间,但是glfw只有窗口区,虽然通过某种手段(移步这里)可以加入工具栏,但仍然无法作为一个标准的GUI,而直接在MFC或Qt里面使用OpenGL API感觉有诸多制肘, ...

  8. string常用成员函数

    string常用成员函数 std::string::clear Clear string Erases the contents of the string, which becomes an emp ...

  9. Visual Studio Code修改全屏背景

    打开VSCode安装目录,找到workbench.desktop.main.css文件 在最后一行添加以下代码: body{ pointer-events:auto !important; backg ...

  10. glog与gflags的windows编译

    参考博客:https://kezunlin.me/post/bb64e398/