- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
自我总结IPsec隧道和传输模式
即使使用传输模式,在L2L的模型中,Set Peer X.X.X.X的IP地址和原本IP包头中的目的地址不相同的话,也会在外层再添加一个新的IP包头,
这个新的包头就是set peer X.X.X.X为目的地址的包头,源地址用发出接口的地址来发出数据包。等于自动转换成了隧道模式。所以必须要做到原始数据包中的目的IP地址和set peer语句中的ip地址一样才能是传输模式,否则会自动转换为隧道模式
如GRE over IPsec 就可以使用传输模式。而且推荐使用传输模式。因为如果是隧道模式 IPsec将会在原来的最外层ip包头的更外层添加一个以set peer x.x.x.x为目的地址和本身发出接口地址为源地址的数据包,如图所示:
这个是传输模式,配置了set peer 为20.0.0.2 因为匹配最外层IP数据包的地址,所以不在更外层添加新的地址。说一下过程,ping R2 的Loop接口,路由器首先查看路由表,发现下一条是tunnel接口,所以用tunnel接口事先定义的源和目的地址来封装数据包。也就是用10.0.0.1到20.0.0.2来封装数据包,然后送到S0/0物理接口,由于在物理接口上有一个crypto map 路由器查看这个流量是否和crypo map的感兴趣流匹配,(感兴趣流定义 permit gre host 10.0.0.1 host 20.0.0.2)由于与定义的感兴趣流匹配,也就是GRE协议的10.0.0.1到20.0.0.2,所以与set peer对端建立IKE阶段1 2 的协商,由于是传输模式,而且set peer的地址同最外层IP包头的地址相同,所以不进行再次封装。而是直接插入AH头后从物理口送出。
这个是隧道模式,可以看到在最外层的数据包的更外层又添加了一个新的匹配 set peer x.x.x.x的IP包头,浪费了资源
这个是set peer 1.1.1.1 符合IP包目的地址的数据包分析,可以运行在传输模式,要注意让源地址也要符合对方的目的地址才可以建立连接 可以用 crypto map name local-address interface 来定义封装数据包的源端口。
总结:set peer 定义了封装的目的地址。crypto map name local-address interface定义了封装的源地址,(默认是用出接口的地址)。
如果是传输模式那么要求Set peer 的地址和原始的(也就是最内层的)IP数据包的目的地相同,否则自动变为隧道模式
有一点要注意就是IPSEC也是只处理最外部的IP包头,比如下图的这种情况,如果要指定感兴趣流,只能制定10.0.0.1 到20.0.0.2 的流量,因为是在物理接口上绑定的crypto map
而GRE的封装发生在进入这个物理口之前。所以IPsec不管GRE封装里面的原始地址(1.1.1.1 到 2.2.2.2),他只能加密外层的(10.0.0.1 到 20.0.0.2)
2.0.0.0/32 is subnetted, 1 subnets
S 2.2.2.2 is directly connected, Tunnel0
也就是数据包首先到达tunnel0接口,然后进行GRE封装,添加新的IP包头(如下图所示),然后送到物理口s0/0,这时在s0/0接口上有一个CRYPTO MAP 查看感兴趣流是否触发加密(感兴趣流为ip host 1.1.1.1 host 2.2.2.2),但是由于最外面封装的是10.0.0.1到20.0.0.2的IP包,所以不会触发加密,所以以明文传输。
对于IPsec over GRE来说,举一个失败的例子。
首先定义cry map,设置对等体(set peer)为R2的物理接口地址(20.0.0.2)。设置感兴趣流为1.1.1.1到2.2.2.2。cry map绑定在tun0接口。 传输集为传输模式。设置静态路由为从1.1.1.1 到2.2.2.2 出口为tun0接口
首先发出一个ping包 目的地址为2.2.2.2 源地址为1.1.1.1 这个包先到达tun0接口,由于tunnel0接口上有一个crypto map 所以路由器查看crypto map,发现这个流量和感兴趣流匹配,虽然是传输模式,但是由于set peer 的地址(20.0.0.2)和原本数据包的目的地址(2.2.2.2)不匹配,所以用目的地址20.0.0.2和源地址——送出接口的IP地址,封装原本的数据包。
但是这样封装后,最外层的IP包(10.0.0.1 到 20.0.0.2)就不是经过tunnel0 的数据包了,所以也就不会在触发GRE的封装了。所以数据包从原本的物理接口送出。也就
文档评论(0)