目录
一、基于接口的认证(公有):
(1)在R1和R2的串行链路上进行OSPF明文认证:
(2)在R2和R3的串行链路上进行MD5认证的:
(3)注意:
二、基于OSPF区域的认证(思科私有)
(1)总结:OSPF区域接口接口定义密钥,区域启用(一、中)
(2)明文认证
(3)密文认证:
三、 虚链路认证:
(1)明文认证:
(2)密文认证:
(3)虚链路——路由转发黑洞形成:
四、负载均衡:
负载均衡分类:
一、基于接口的认证(公有):
(1)在R1和R2的串行链路上进行OSPF明文认证:
(config-if)#ip ospf authentication(启用认证)
(config-if)#ip ospf authentication-key cisco(配置密码)
只有一端开启通过debug工具我们可以看到如下信息:
*Aug 15 22:51:54.275: OSPF: Rcv pkt from 10.1.1.2, Serial1/0 : Mismatch Authentication type. Input packet specified type 0, we use type 1
这里的 type 0是指对方没有启用认证,type1 是明文认证,type 2 是MD5密文认证。
(2)在R2和R3的串行链路上进行MD5认证的:
(config-if)#ip ospf authentication message-digest(定义认证类型为MD5)
(config-if)#ip ospf message-digest-key 1 md5 cisco(定义key和密码)//key ID 1 两端必须要一致
#show ip ospf int s1/0 //查看
(3)注意:
- 使用明文传输时,会把密钥也传输到网络上的,所以安全性不高;
- 使用密文传输时,不会把密钥传输到网络上,它是把密钥与数据报文利用MD5算法计算出一个哈希值,实际上传输的是哈希值与数据,不会传输密钥;就算黑客拿到了哈希值,利用哈希值想要与推出明文数据是不可能的,因为MD5算法是单向的,不可逆的!只有两方的哈希值都是一致的,才会认证成功【一般密钥设置要复杂,避免黑客猜出)
- 需求:出于网络安全的角度来说,密钥使用时间过长,很有可能会被泄露,所以需要定期更换密钥,但更换密钥了的同时又不希望邻居关系中断(数据不丢失)解决:可以双方再新增一个MD5认证(使用新的key ID),再将原来的密码删除(要修改链路的MD5认证的密码时,可以先将新的密码配置到启用认证的路由器后在将原来的密码删除,这样的话可以保证在修改配置的时候邻居关系依然存在。)
二、基于OSPF区域的认证(思科私有)
(1)总结:OSPF区域接口接口定义密钥,区域启用(一、中)
(2)明文认证
R1(config)#int s1/0
R1(config-if)#ip ospf authentication-key cisco //明文密钥
R1(config-if)#router ospf 100
R1(config-router)#area 0 authentication //开启认证
(3)密文认证:
R1(config)#int s1/0
R1(config-if)#ip ospf message-digest-key 1 md5 cisco //接口定义密文密钥
R1(config-if)#router ospf 100
R1(config-router)#area 0 authentication message-digest// 声明密文认证
注意:
- 如果一边是接口认证,一边是接口认证,邻居关系是可以建立的,是兼容的
- 区域认证需在该区域所有的路由上都做
三、 虚链路认证:
(1)明文认证:
R2(config)#router ospf 100
R2(config-router)#area 2 virtual-link 3.3.3.3 authentication-key cisco// 启用明文
R2(config-router)#area 2 virtual-link 3.3.3.3 authentication//声明明文认证
(2)密文认证:
R2(config)#router ospf 100
R2(config-router)#area 2 virtual-link 3.3.3.3 message-digest-key 1 md5 cisco
R2(config-router)# area 2 virtual-link 3.3.3.3 authentication message-digest
(3)虚链路——路由转发黑洞形成:
- 注意:虚链路只是一个临时的解决方案,虚链路在建立OSPF邻居的时候,一开始的时候会互相发送hello包。但是虚链路的邻居一旦建立成功之后,就不会在虚链路上互相发送hello包(被意被抑制了)。每隔30分钟的LSA泛洪时间(刷新时间)在虚链路上也是失效的。(LSA的泛洪机制在虚链路上是没有生效的)从虚链路学习到LSA的老化时间是永不超时的。
- 导致问题:当我中间的物理链路出现故障,但虚链路的PSPF邻居关系还是正常的。此时检测OSPF邻居需要相互发送hello包,此时虽然物理链路的OSPF邻居关系已经down了,但是虚链路的OSPF邻居关系还是正常的。那从虚链路学习到的LSA还是相信的,相关的路由还是存在的,但是毕竟还是要从物理接口转发,所以形成了路由转发黑洞。
四、负载均衡:
OSPF里面默认开启负载均衡,默认开启4条链路负载均衡,最大16条,修改配置:
Router(config-router)#maximum-paths 16
(1)负载均衡分类:
- 1、基于数据包的链路负载均衡(假设pc1有10个数据包,有5个从0/6接口转发,有5个从0/7接口转发)
- 2、基于会话的负载(默认):
(1)基于目的ip的链路负载(pc1访问pc3的,全走0/6接口,pc1访问pc4时,又是另一个目的ip,另一个会话,全走0/7接口(sip和dip相同,是一个会话)
(2)基于目的mac地址的链路负载(默认),和(1)一样
(2)接口下修改优先级和cost
r1(config-if)#ip ospf priority 2------大好
r1(config-if)#ip ospf cost 65535
- 根据ospf的机制,可以通过修改cost值,让两边等价,以实现负载均衡,只支持等价负载均衡