影响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 地 ...
随机推荐
- Python - 安装 - 在 Alpine Linux 下安装 Python2
概述 在 Alpine Liunx 下安装 python2 感觉又是水了一发... 感觉还是有点丢人, 就像在帮小学生写作业, 写完了后还想找人夸我... 最近看 docker 和 jenkins, ...
- jumpserver 常见错误解决
官方链接:https://jumpserver.readthedocs.io/zh/master/faq_install.html 重启jumpserver后台 #cd /opt#python3.6 ...
- Web 安全工具篇:Burp Suite 使用指南
真的是一点都不过分,了解详情请继续往下读. Burp Suite 介绍 Burp Suite 是用于攻击 web 应用程序的集成平台.它包含了许多工具,并为这些工具设计了许多接口,以促进加快攻击应用程 ...
- MFC程序使用控制台打印
1.在OnCreate窗口创建方法中调用控制台窗口创建方法,创建的窗口是与MFC主窗口共存亡的 参考地址:https://blog.csdn.net/Yong_Qi2015/article/detai ...
- php一些实用的自制方法
时间戳转多久之前 function mdate($time = NULL) { $text = ''; $time = $time === NULL || $time > time() ? ti ...
- Java进阶学习(6)之抽象与接口
抽象与接口 抽象 抽象函数 表达概念而无法实现具体代码的函数 抽象类 表达概念而无法构造出实体的类 有抽象函数的类也可以有非抽象函数 实现抽象函数 继承自抽象类的子类必须覆盖父类中的抽象函数 抽象 与 ...
- 【C语言】用指针描述数组,实现选择法排序
#include <stdio.h> int main() { ], t; int i, j, max; printf("请输入10个数:\n"); ; i <= ...
- JavaScript对象,函数,作用域
JavaScript对象 在 JavaScript中,几乎所有的事物都是对象.JavaScript 对象是拥有属性和方法的数据. var car = {type:"Fiat", m ...
- Java经典面试笔试题及答案
1.什么是对象序列化,为什么要使用? 所谓对象序列化就是把一个对象以二进制流的方式保存到硬盘上.好处:方便远程调用. 2.值传递与引用传递的区别? 所谓值传递就是把一个对象的值传给一个新的变量,但是系 ...
- queue 官方运用
import threading import random,time import queue q_init = queue.Queue(maxsize=5) import logging logg ...