CCNP-EIGRP 路由认证:
 
实验拓扑:
 
 

 
 
实验目标:
 
EIGRP 的认证。
 
为了安全起见,所以在路由上添加认证,在路由更新时对数据包进行认证。 EIGRP 只支持 MD5 加密认证,不支持明文认证 。在发送时并不发送密钥本身。而是发送一个消息摘要。所以即使被截取也不知道密钥。 EIGRP 配置认证时先要配置一个密钥链,然后在密钥链是添加密钥 ID ,在密钥 ID 上设置密码。密钥链的名称可以不同,但密钥 ID 和密码是必须相同。
 
 
路由基本配置(略)
 
IP 地址配置:
 
r1(config)#in s1/0
r1(config-if)#ip add 219.146.0.1 255.255.255.0
r1(config-if)#no sh
r1(config-if)#exi
 
r2(config)#in s1/0
r2(config-if)#ip add 219.146.0.2 255.255.255.0
r2(config-if)#no sh
r2(config-if)#in s1/1
r2(config-if)#ip add 219.146.1.1 255.255.255.0
r2(config-if)#no sh
r2(config-if)#exi
 
r3(config)#in s1/1
r3(config-if)#ip add 219.146.1.2 255.255.255.0
r3(config-if)#no sh
r3(config-if)#exi
 
EIGRP 配置:
 
r1(config)#router e 10
r1(config-router)#no au
r1(config-router)#net 219.146.0.0 0.0.0.255
r1(config-router)#exi
 
r2(config)#router e 10
r2(config-router)#no au
r2(config-router)#net 219.146.0.0 0.0.1.255
r2(config-router)#exi
 
r3(config)#router e 10
r3(config-router)#no au
r3(config-router)#net 219.146.1.0 0.0.0.255
r3(config-router)#exi
 
查看一下 R1 的邻居表:
r1(config)#do sh ip ei nei
IP-EIGRP neighbors for process 10
H   Address                 Interface       Hold Uptime   SRTT   RTO Q Seq
                                            (sec)         (ms)       Cnt Num
0   219.146.0.2             Se1/0             14 00:02:34 147   882 0 2
 
已经有一个邻居了,下面来配置认证。
 
r1(config)#key chain cisco     // 定义一个密钥链
r1(config-keychain)#key 1 // 定义密钥 ID
r1(config-keychain-key)#key-string 123 // 定义密码
r1(config-keychain-key)#exi
r1(config-keychain)#exi
 
r1(config)#in s1/0    // 在接口下应用
r1(config-if)#ip authentication key-chain eigrp 10 cisco
r1(config-if)#ip authentication mode eigrp 10 md5
 
r1(config)#do sh ip ei nei
IP-EIGRP neighbors for process 10
 
已经没有邻居了,因为 R2 没有通过认证。在 R2 上配置:
 
r2(config)#key chain cisco
r2(config-keychain)#key 1
r2(config-keychain-key)#key-string 123
r2(config-keychain-key)#exi
r2(config-keychain)#exi
 
r2(config)#in s1/0
r2(config-if)#ip authentication key-chain ei 10 cisco
r2(config-if)#ip authentication mode ei 10 md5
r2(config-if)#exi
 
r1(config)#do sh ip ei nei
IP-EIGRP neighbors for process 10
H   Address                 Interface       Hold Uptime   SRTT   RTO Q Seq
                                            (sec)         (ms)       Cnt Num
0   219.146.0.2             Se1/0             13 00:00:28 111   666 0 8
 
重新建立了邻居关系。双方通过了认证。
 
接下来在 R2 R3 上做认证。
 
r2(config)#in s1/1
r2(config-if)#ip authentication key-chain ei 10 cisco
r2(config-if)#ip authentication mode ei 10 md5
r2(config-if)#exi
 
r3(config)#key chain mycisco      // 这里定义了一个不同的密钥链。
r3(config-keychain)#key 1
r3(config-keychain-key)#key-string 123
r3(config-keychain-key)#exi
r3(config-keychain)#exi
 
r3(config)#in s1/1
r3(config-if)#ip authentication key-chain ei 10 mycisco
r3(config-if)#ip authentication mode ei 10 md5
r3(config-if)#exi
 
r3(config)#do sh ip ei nei
IP-EIGRP neighbors for process 10
H   Address                 Interface       Hold Uptime   SRTT   RTO Q Seq
                                            (sec)         (ms)       Cnt Num
0   219.146.1.1             Se1/1             13 00:00:06 135   810 0 12
 
这就说明 key chain 不同可以通过认证
下面来试一下 key id 不同能不能通过认证。
 
r3(config)#no key chain mycisco
r3(config)#key chain mycisco
r3(config-keychain)#key 2
r3(config-keychain-key)#key-string 123
r3(config-keychain-key)#exi
r3(config-keychain)#exi
 
r3(config)#exi
r3#clear ip ei nei
r3#sh ip ei nei
IP-EIGRP neighbors for process 10
 
已经不能建立邻居关系了。说明 key id 要相同才能通过认证
接下来在 R2 操作。
 
r2(config)#key chain cisco
r2(config-keychain)#key 2
r2(config-keychain-key)#key-string 123
r2(config-keychain-key)#exi
r2(config-keychain)#exi
 
r2(config)#do sh ip ei nei
IP-EIGRP neighbors for process 10
H   Address                 Interface       Hold Uptime   SRTT   RTO Q Seq
                                            (sec)         (ms)       Cnt Num
1   219.146.1.2             Se1/1             10 00:00:36    1 5000 1 0
0   219.146.0.1             Se1/0             11 00:30:18 119   714 0 6
 
r3#sh ip ei nei
IP-EIGRP neighbors for process 10
 
R2 上和 R3 建立了邻居关系,但 R3 上并没有建立邻居关系。这是因为 R2 会发送 key 1 R3 认证。但 R3 上没有 key 1 。所以认证不能通过。但 R3 发送 key 2 R2 认证。因为 R2 上有 key 1 。所以 R2 上能够通过认证。这就说明如果存在多个有效的 key id ,路由器会发送第一个 ( 最小 ) 和邻居认证 。这时只需在 R3 上配上 key 1( 或在 R2 NO key 1) 就能恢复。
 
关于 key id 的有效期如下:
 
r2(config)#key chain cisco
r2(config-keychain)#key 1
r2(config-keychain-key)#accept-lifetime 11:00:00 jan 3 2010 duration 3600
      // 在这个时间后的 3600 秒之内接收认证。把 duration 3600 换成 infinite 表示一直有效。
r2(config-keychain-key)#send-lifetime 11:00:00 jan 3 2010 12:00:00 jan 3 2010
      // 在这个时间之间发送认证。
 
 
如果配置了多个密钥且对密钥都设置了有效期。那在两个相邻的有效期之间要有个重叠的时间。避免在这段时间内路由不能通过认证。