影响IPSec的网络问题
影响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的网络问题的更多相关文章
- [ipsec][strongswan] VirtualPN隧道网络加速FEC(forward error correction)
引用 跟一个网友就有关IPsec的网络加速以及降低延迟等问题进行了一些讨论,并总结了一写粗浅的看法. 因为FEC的资料并不多,所以分享出来,希望能被有需要的人看见:) 先说一下FEC. 我们使用ips ...
- 【Kubernetes】K8S 网络隔离 方案
参考资料: K8S-网络隔离参考 OpenContrail is an open source network virtualization platform for the cloud. – Kub ...
- 【好书摘要】性能优化中CPU、内存、磁盘IO、网络性能的依赖
系统优化是一项复杂.繁琐.长期的工作,优化前需要监测.采集.测试.评估,优化后也需要测试.采集.评估.监测,而且是一个长期和持续的过程,不 是说现在优化了,测试了,以后就可以一劳永逸了,也不是说书本上 ...
- iOS中利用CoreTelephony获取用户当前网络状态(判断2G,3G,4G)
前言: 在项目开发当中,往往需要利用网络.而用户的网络环境也需要我们开发者去注意,根据不同的网络状态作相应的优化,以提升用户体验. 但通常我们只会判断用户是在WIFI还是移动数据,而实际上,移动数据也 ...
- Linux就这个范儿 第11章 独霸网络的蜘蛛神功
Linux就这个范儿 第11章 独霸网络的蜘蛛神功 第11章 应用层 (Application):网络服务与最终用户的一个接口.协议有:HTTP FTP TFTP SMTP SNMP DNS表示层 ...
- Linux按照CPU、内存、磁盘IO、网络性能监测
系统优化是一项复杂.繁琐.长期的工作,优化前需要监测.采集.测试.评估,优化后也需要测试.采集.评估.监测,而且是一个长期和持续的过程,不 是说现在优化了,测试了,以后就可以一劳永逸了,也不是说书 ...
- 深入理解Hadoop集群和网络
导读:云计算和Hadoop中网络是讨论得相对比较少的领域.本文原文由Dell企业技术专家Brad Hedlund撰写,他曾在思科工作多年,专长是数据中心.云网络等.文章素材基于作者自己的研究.实验和C ...
- inux按照CPU、内存、磁盘IO、网络性能监测
http://my.oschina.net/chape/blog/159640 系统优化是一项复杂.繁琐.长期的工作,优化前需要监测.采集.测试.评估,优化后也需要测试.采集.评估.监测,而且是一个长 ...
- IPSEC VPN配置实例
TL-R400VPN应用——IPSEC VPN配置实例 TL-ER6120是TP-LINK专为企业应用而开发的VPN路由器,具备强大的数据处理能力,并且支持丰富的软件功能,包括VPN.IP/MAC 地 ...
随机推荐
- 第七章 类(class)7.1 笔记
最好不要把对象的定义和类的定义放在一起,这么做无异于把两种不同实体的定义混在了一条语句里,一会定义类,一会又定义变量,显然这是一种不被建议的行为. 类的定义最后要加上分号(:) 成员函数的声明必须放在 ...
- 2.17NOIP模拟赛(by hzwer) T1 小奇挖矿
[题目背景] 小奇要开采一些矿物,它驾驶着一台带有钻头(初始能力值 w)的飞船,按既定 路线依次飞过喵星系的 n 个星球. [问题描述] 星球分为 2 类:资源型和维修型. 1. 资源型:含矿物质量 ...
- centos7 命令 对比 cenots6 命令
1) 列出所有service开机启动项 centos 7 systemctl list-unit-files |grep enabled centos 6 chkconfig --list|grep ...
- java基础(七)之子类实例化
知识点;1.生成子类的过程2.使用super调用父类构造函数的方法 首先编写3个文件. Person.java class Person{ String name; int age; Person() ...
- MinGW dll导入导出类
dll不仅可以导入导出函数,还可以导入导出类.这篇文章就来介绍如何将类导入dll中并导出. 首先我们建立一个名为dll.cpp的文件(又是这种破名字),里面写上: #include <iostr ...
- MinGW编译dll并引用
记得某位神仙曾经说过:一个项目不使用dll简直是一场灾难.(滑稽) 这篇文章以A+B/A-B为范例,来介绍如何在MinGW下编译dll并引用. 首先你要安装MinGW,并配置好环境变量(不配置环境变量 ...
- Unity Hub破解
1.退出UnityHub,安装好nodejs后,用Win+R输入"cmd"执行以下命令 npm install -g asar 2.打开UnityHub安装目录如 C:\Progr ...
- 在页面跳转的时候,在跳转后的页面中使用js 获取到 页面跳转的url中携带的参数。
common.js代码 //获取URL中的参数..等等function getQueryString(name){var reg = new RegExp("(^|&)"+ ...
- C++四种初始化方式
1. 直接初始化直接调用与实参匹配的构造函数,形式如“T t(u)”.2. 拷贝初始化:复制初始化首先使用指定构造函数创建一个临时对象,然后用复制构造函数将那个临时对象复制到正在创建的对象”,形式如“ ...
- 6_13古代象形符号(UVa1103)<图的连通块的应用>
给出一幅黑白图像,每行相邻的四个点压缩成一个十六进制的字符.然后还有题中图示的6中古老的字符,按字母表顺序输出这些字符的标号. 输出说明:For each test case, display its ...