第四章TACAS+
4.1. 用户登录集中鉴权
提问 使用集中的鉴权方式对用户登录设备进行控制
回答
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#aaa new-model
Router1(config)#aaa authentication login default group tacacs+
Router1(config)#aaa authentication enable default group tacacs+
Router1(config)#tacacs-server host 172.25.1.1
Router1(config)#tacacs-server key COOKBOOK
Router1(config)#end
Router1#
注释 部署集中化鉴权就不需要在每台设备上配置用户名密码了,改密码也变得简单了
4.2. 限制特定命令的执行权限
提问 对设备可执行命令权限进行基于用户的授权
回答
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#aaa new-model
Router1(config)#aaa authorization exec default group tacacs+
Router1(config)#aaa authorization commands 15 default group tacacs+
Router1(config)#tacacs-server host 172.25.1.1
Router1(config)#tacacs-server key neoshi
Router1(config)#end
Router1#
注释 无
4.3. TACACS+服务器无法访问
提问 防止出现TACACS+服务器故障导致所有用户都不能登录
回答
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#aaa new-model
Router1(config)#aaa authentication login default group tacacs+ enable
Router1(config)#aaa authentication enable default group tacacs+ enable
Router1(config)#aaa authorization commands 15 default group tacacs+ if-authenticated
Router1(config)#tacacs-server host 172.25.1.1
Router1(config)#tacacs-server key COOKBOOK
Router1(config)#end
Router1#
注释 在认证服务器出现故障的情况下使用enable密码作为备份,同时建议使用if-authenticated参数在你配置授权的时候
4.4. 在特定端口禁用TACACS+鉴权
提问 为了方便禁止在控制口使用TACACS+鉴权
回答
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#aaa new-model
Router1(config)#aaa authentication login default group tacacs+ local
Router1(config)#aaa authentication login NEOSHI line
Router1(config)#line con 0
Router1(config-line)#login authentication NEOSHI
Router1(config-line)#end
Router1#
注释
4.5. 记录用户行为
提问 记录用户输入的配置命令和时间
回答
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#aaa new-model
Router1(config)#aaa accounting commands 1 default stop-only group tacacs+
Router1(config)#aaa accounting commands 15 default stop-only group tacacs+
Router1(config)#end
Router1#
注释 下面是一条日志记录,很详尽吧
Fri Jan 3 11:08:47 2006 toronto ijbrown tty66 172.25.1.1 stop task_id=512 start_time=1041610127 timezone=EST service=shell priv-lvl=15 cmd=configure terminal <cr>
4.6. 记录系统事件
提问 记录系统事件
回答
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#aaa new-model
Router1(config)#aaa accounting exec default start-stop group tacacs+
Router1(config)#aaa accounting connection default start-stop group tacacs+
Router1(config)#aaa accounting system default stop-only group tacacs+
Router1(config)#end
Router1#
注释 除了可以记录用户输入命令以外还提供了exec(用户开始和中止exec会话的时间记录),connection(用户发起外部连接的时间,地址,数据包多少等信息记录比如telnet ssh等)和system(系统重启,禁用AAA等系统信息)等三种系统事件的记录
4.7. 设置TACACS+消息的源地址
提问 发送TACACS+消息时只使用特定的源地址
回答
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#ip tacacs source-interface Loopback0
Router1(config)#end
Router1#
注释 所有本设备的记录都来自于同一地址方便对日志进行汇总和统计
4.8. TACACS+服务器配置文件样本
注释 可以使用思科免费的TACACS+服务器也可以使用商业的服务器,配置方式略
4.1. 用户登录集中鉴权
提问 使用集中的鉴权方式对用户登录设备进行控制
回答
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#aaa new-model
Router1(config)#aaa authentication login default group tacacs+
Router1(config)#aaa authentication enable default group tacacs+
Router1(config)#tacacs-server host 172.25.1.1
Router1(config)#tacacs-server key COOKBOOK
Router1(config)#end
Router1#
注释 部署集中化鉴权就不需要在每台设备上配置用户名密码了,改密码也变得简单了
4.2. 限制特定命令的执行权限
提问 对设备可执行命令权限进行基于用户的授权
回答
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#aaa new-model
Router1(config)#aaa authorization exec default group tacacs+
Router1(config)#aaa authorization commands 15 default group tacacs+
Router1(config)#tacacs-server host 172.25.1.1
Router1(config)#tacacs-server key neoshi
Router1(config)#end
Router1#
注释 无
4.3. TACACS+服务器无法访问
提问 防止出现TACACS+服务器故障导致所有用户都不能登录
回答
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#aaa new-model
Router1(config)#aaa authentication login default group tacacs+ enable
Router1(config)#aaa authentication enable default group tacacs+ enable
Router1(config)#aaa authorization commands 15 default group tacacs+ if-authenticated
Router1(config)#tacacs-server host 172.25.1.1
Router1(config)#tacacs-server key COOKBOOK
Router1(config)#end
Router1#
注释 在认证服务器出现故障的情况下使用enable密码作为备份,同时建议使用if-authenticated参数在你配置授权的时候
4.4. 在特定端口禁用TACACS+鉴权
提问 为了方便禁止在控制口使用TACACS+鉴权
回答
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#aaa new-model
Router1(config)#aaa authentication login default group tacacs+ local
Router1(config)#aaa authentication login NEOSHI line
Router1(config)#line con 0
Router1(config-line)#login authentication NEOSHI
Router1(config-line)#end
Router1#
注释
4.5. 记录用户行为
提问 记录用户输入的配置命令和时间
回答
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#aaa new-model
Router1(config)#aaa accounting commands 1 default stop-only group tacacs+
Router1(config)#aaa accounting commands 15 default stop-only group tacacs+
Router1(config)#end
Router1#
注释 下面是一条日志记录,很详尽吧
Fri Jan 3 11:08:47 2006 toronto ijbrown tty66 172.25.1.1 stop task_id=512 start_time=1041610127 timezone=EST service=shell priv-lvl=15 cmd=configure terminal <cr>
4.6. 记录系统事件
提问 记录系统事件
回答
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#aaa new-model
Router1(config)#aaa accounting exec default start-stop group tacacs+
Router1(config)#aaa accounting connection default start-stop group tacacs+
Router1(config)#aaa accounting system default stop-only group tacacs+
Router1(config)#end
Router1#
注释 除了可以记录用户输入命令以外还提供了exec(用户开始和中止exec会话的时间记录),connection(用户发起外部连接的时间,地址,数据包多少等信息记录比如telnet ssh等)和system(系统重启,禁用AAA等系统信息)等三种系统事件的记录
4.7. 设置TACACS+消息的源地址
提问 发送TACACS+消息时只使用特定的源地址
回答
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#ip tacacs source-interface Loopback0
Router1(config)#end
Router1#
注释 所有本设备的记录都来自于同一地址方便对日志进行汇总和统计
4.8. TACACS+服务器配置文件样本
注释 可以使用思科免费的TACACS+服务器也可以使用商业的服务器,配置方式略
第五章IP路由
5.1. 查找路由条目
提问 在路由表中查找特定的路由条目
回答
Router>show ip route 172.25.100.15
Routing entry for 172.25.100.0/24
Known via "ospf 55", distance 110, metric 11, type inter area
Redistributing via ospf 55
Last update from 172.25.1.1 on Ethernet0, 2d12h ago
Routing Descriptor Blocks:
* 172.25.1.1, from 172.25.1.1, 2d12h ago, via Ethernet0
Route metric is 11, traffic share count is 1
注释 路由器在路由表中查找路由条目的原则是最长匹配,所以例子中虽然查找的是172.25.200.15但是由于没有这条特定的路由,显示的结果是最长匹配的172.15.100.0/24。如果没有任何一条匹配只能使用缺省路由,会出现下面信息
Router> show ip route 172.15.101.5
% Network not in table
注意的是这里都是无类路由,如果有类的就不一样了
5.2. 查找特定类型的路由条目
提问 在路由表中查找相同类型的路由条目
回答
Router>show ip route static
192.168.1.0/32 is subnetted, 1 subnets
S 192.168.1.1 [1/0] via 172.25.1.4
还有一个更有用的命令
Router>show ip route summary
IP routing table name is Default-IP-Routing-Table(0)
Route Source Networks Subnets Overhead Memory (bytes)
connected 0 3 328 432
static 1 0 64 144
ospf 55 1 3 256 576
Intra-area: 1 Inter-area: 2 External-1: 1 External-2: 0
NSSA External-1: 0 NSSA External-2: 0
internal 2 2328
Total 4 6 648 3480
注释 通过显示路由表的统计情况来了解当前路由器的路由条目,也可以用来以后的比对
5.3. 各种掩码的转换
注释 脚本略去,建议使用Boson提供的免费转换工具
5.4. 使用静态路由
提问 配置静态路由
回答
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#ip route 10.35.15.5 255.255.255.255 Ethernet0 (permanent选项可以使此条目一直存在于路由表中,而不管下一跳的可达性)
Router(config)#ip route 172.16.0.0 255.255.0.0 10.35.6.1 2 (permanent)
Router(config)#end
Router#
也可以给路由条目打上标签
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#ip route 172.16.0.0 255.255.0.0 10.35.6.1 2 tag 36291
Router(config)#end
Router#
注释 在类似以太网这种多路访问的网络中建议使用下一跳为地址而不是接口。正常情况下路由器对静态路由的下一跳有效性的检查是一分钟,在12.3(10)以后增加了下面的命令可以对此时间进行调整Router(config)#ip route static adjust-time 30。对静态路由打tag用于路由再发布时的区分
5.5. 浮动静态路由
提问 当动态路由出问题的时候使用静态路由作为备份
回答
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#ip route 10.0.0.0 255.0.0.0 172.16.1.1 190 (下一跳也可以触发一个拨号接口)
Router(config)#end
Router#
注释 通过调整管理距离的方式来进行路由备份,不过要注意的是管理距离只适合在相同路由的情况下,路由条目的最长匹配是第一位的。另外在不同厂商设备互联的时候,调整管理距离一定要设置合理。
5.6. 基于源地址的策略路由
提问 根据源地址的不同选择不同的路径
回答
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#access-list 1 permit 10.15.35.0 0.0.0.255
Router(config)#access-list 2 permit 10.15.36.0 0.0.0.255
Router(config)#interface Ethernet0
Router(config-if)#ip address 10.15.22.7 255.255.255.0
Router(config-if)#ip policy route-map Engineers
Router(config-if)#ip route-cache policy
Router(config-if)#exit
Router(config)#route-map Engineers permit 10
Router(config-route-map)#match ip address 1
Router(config-route-map)#set ip next-hop 10.15.27.1
Router(config-route-map)#exit
Router(config)#route-map Engineers permit 20
Router(config-route-map)#match ip address 2
Router(config-route-map)#set interface Ethernet1
Router(config-route-map)#end
Router#
注释 缺省情况下route map的最后一句都是deny all,这样不符合route map规则的数据包都会按照正常的路由表进行转发。set ip next-hop verify-availability命令提供了对下一跳的验证,不过是基于CDP的,所以如果使用此命令需要打开CDP,最好同时调整时长,毕竟缺省是180秒。在使用策略路由时会在排错时增加难度,因为缺省对于本路由器发出的数据包可以绕过route map这样会造成错觉。
5.7. 基于应用的策略路由
提问 根据不同的应用来选择不同的路径
回答
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#access-list 101 deny tcp 10.15.25.0 0.0.0.255 any eq www
Router(config)#access-list 101 permit tcp any any eq www
Router(config)#interface Ethernet0
Router(config-if)#ip address 10.15.22.7 255.255.255.0
Router(config-if)#ip policy route-map Websurfers
Router(config-if)#ip route-cache policy
Router(config-if)#exit
Router(config)#route-map Websurfers permit 10
Router(config-route-map)#match ip address 101
Router(config-route-map)#set ip next-hop 10.15.27.1
Router(config-route-map)#exit
Router(config)#route-map Websurfers permit 20
Router(config-route-map)#set ip default next-hop 10.15.26.1
Router(config-route-map)#end
Router#
对于本设备的发出的数据包也使用策略路由
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#ip local policy route-map dlswtraffic
Router(config)#access-list 103 permit tcp any any eq 2065
Router(config)#access-list 103 permit tcp any eq 2065 any
Router(config)#route-map dlswtraffic permit 10
Router(config-route-map)#match ip address 103
Router(config-route-map)#set ip next-hop 10.15.27.3
Router(config-route-map)#end
Router#
注释 正常情况下如果所有定义的下一跳都不存在的情况下会使用路由表来查询,如果路由表没有此定义会使用缺省路由,这时候你可以使用set ip default next-hop来定义一个不同的缺省路由
5.8. 策略路由检查
提问 检查所应用的策略路由
回答
Router>show ip policy
Interface Route map
local dlswtraffic
Ethernet0 Websurfers
Serial0 High-priority
Router>show route-map
route-map High-priority, permit, sequence 10
Match clauses:
ip address (access-lists): 101
Set clauses:
ip next-hop 10.15.27.1
Policy routing matches: 0 packets, 0 bytes
route-map Websurfers, permit, sequence 10
Match clauses:
ip address (access-lists): 102
Set clauses:
ip next-hop 10.15.27.1
Policy routing matches: 0 packets, 0 bytes
route-map Websurfers, permit, sequence 20
Match clauses:
Set clauses:
ip default next-hop 10.15.26.1
Policy routing matches: 4 packets, 531 bytes
route-map dlswtraffic, permit, sequence 10
Match clauses:
ip address (access-lists): 103
Set clauses:
ip next-hop 10.15.27.3
Policy routing matches: 5 packets, 500 bytes
注释 也可以通过show access-list 103命令看到更多的匹配信息
5.9. 改变管理距离
提问 调整学到的外部网络的缺省管理距离
回答
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#router rip
Router(config-route)#network 192.168.15.0
Router(config-route)#distance 15 192.168.15.1 0.0.0.0
Router(config-route)#distance 200 192.168.15.0 0.0.0.255
Router(config-route)#distance 255
Router(config-route)#end
Router#
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#router eigrp 111
Router(config-route)#network 192.168.16.0
Router(config-route)#distance eigrp 55 200
Router(config-route)#end
Router#
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#router ospf 66
Router(config-route)#distance ospf inter-area 115
Router(config-route)#distance ospf intra-area 105
Router(config-route)#distance ospf external 125
Router(config-route)#end
Router#
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#router bgp 65520
Router(config-route)#distance bgp 115 220 50
Router(config-route)#end
Router#
注释 管理距离只是针对自己的,通过调整这些外部路由的管理距离来调整自己路由表的结构
5.10. 相同代价值的多路径路由
提问 限制路由器到达同一目的地的路径数目
回答
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#router ospf 65510
Router(config-router)#maximum-paths 2
Router(config-router)#end
Router#
IOS 12.2T以后对BGP增加了下面的命令
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#router bgp 65511
Router(config-router)#maximum-paths 2
Router(config-router)#maximum-paths ibgp 3
Router(config-router)#end
Router#
注释 缺省情况下静态路由可以有6条冗余,BGP只有一条最佳路径,其他路由协议为4条。使用上述命令在12.3(2)T之前可以调整最大为6条,12.3(2)T之后可以最大为16条
5.11. 配置静态路由的追踪
提问 在某个端口当掉等情况下才启用特定的静态路由
回答
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#track 10 interface Serial0/0 line-protocol
Router(config-track)#delay down 5 up 30
Router(config-track)#exit
Router(config)#ip route 192.168.10.0 255.255.255.0 10.3.12.26 track 10
Router(config)#end
Router#
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#track 11 ip route 10.2.95.0 255.255.255.0 reachability
Router(config-track)#delay down 5 up 5
Router(config-track)#exit
Router(config)#ip route 0.0.0.0 0.0.0.0 10.3.12.26 track 11
Router(config)#end
Router#
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#track 12 list boolean and
Router(config-track)#object 10 not
Router(config-track)#object 11
Router(config-track)#exit
Router(config)#ip route 192.168.13.0 255.255.255.0 10.3.12.26 track 12
Router(config)#end
Router#
注释 从12.3T和12.4以后开始IOS提供了一种track的特性,可以定义跟踪不同的状态。可以使用show track命令来查看跟踪的状态。跟踪状态也可以进行组合,使用and or逻辑运算或者百分比,权重等增加灵活度,很好玩,不过别把自己绕进去了
<!--[if !supportLists]-->5.12. <!--[endif]-->路由表变动统计
提问 通过路由表变动的统计来衡量路由表的稳定性
回答
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#ip route profile
Router(config)#end
Router#
Router#show ip route profile
IP routing table change statistics:
Frequency of changes in a 5 second sampling interval
-------------------------------------------------------------
Change/ Fwd-path Prefix Nexthop Pathcount Prefix
interval change add change change refresh
-------------------------------------------------------------
0 327 327 335 335 331
1 4 4 0 0 1
2 2 2 0 0 1
3 0 0 0 0 0
4 1 1 0 0 1
…….
Router#
注释 12.0就有的一个老命令,但估计很少有人使用,这个统计也是够难懂的,简单的说最理想的情况就是第一行数目很大,其他行都是0。统计方法是每3秒一个间隔,在这个间隔内如果有1次路由表变化就累计一次,多次变化就累计多次。但这个命令还是有一些缺点,一就是不能清掉老的数据,必须通过no ip route profile,然后ip route profile 来清除,还有就是这里只是统计结果,没有办法确定是哪条路由出的问题
5.1. 查找路由条目
提问 在路由表中查找特定的路由条目
回答
Router>show ip route 172.25.100.15
Routing entry for 172.25.100.0/24
Known via "ospf 55", distance 110, metric 11, type inter area
Redistributing via ospf 55
Last update from 172.25.1.1 on Ethernet0, 2d12h ago
Routing Descriptor Blocks:
* 172.25.1.1, from 172.25.1.1, 2d12h ago, via Ethernet0
Route metric is 11, traffic share count is 1
注释 路由器在路由表中查找路由条目的原则是最长匹配,所以例子中虽然查找的是172.25.200.15但是由于没有这条特定的路由,显示的结果是最长匹配的172.15.100.0/24。如果没有任何一条匹配只能使用缺省路由,会出现下面信息
Router> show ip route 172.15.101.5
% Network not in table
注意的是这里都是无类路由,如果有类的就不一样了
5.2. 查找特定类型的路由条目
提问 在路由表中查找相同类型的路由条目
回答
Router>show ip route static
192.168.1.0/32 is subnetted, 1 subnets
S 192.168.1.1 [1/0] via 172.25.1.4
还有一个更有用的命令
Router>show ip route summary
IP routing table name is Default-IP-Routing-Table(0)
Route Source Networks Subnets Overhead Memory (bytes)
connected 0 3 328 432
static 1 0 64 144
ospf 55 1 3 256 576
Intra-area: 1 Inter-area: 2 External-1: 1 External-2: 0
NSSA External-1: 0 NSSA External-2: 0
internal 2 2328
Total 4 6 648 3480
注释 通过显示路由表的统计情况来了解当前路由器的路由条目,也可以用来以后的比对
5.3. 各种掩码的转换
注释 脚本略去,建议使用Boson提供的免费转换工具
5.4. 使用静态路由
提问 配置静态路由
回答
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#ip route 10.35.15.5 255.255.255.255 Ethernet0 (permanent选项可以使此条目一直存在于路由表中,而不管下一跳的可达性)
Router(config)#ip route 172.16.0.0 255.255.0.0 10.35.6.1 2 (permanent)
Router(config)#end
Router#
也可以给路由条目打上标签
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#ip route 172.16.0.0 255.255.0.0 10.35.6.1 2 tag 36291
Router(config)#end
Router#
注释 在类似以太网这种多路访问的网络中建议使用下一跳为地址而不是接口。正常情况下路由器对静态路由的下一跳有效性的检查是一分钟,在12.3(10)以后增加了下面的命令可以对此时间进行调整Router(config)#ip route static adjust-time 30。对静态路由打tag用于路由再发布时的区分
5.5. 浮动静态路由
提问 当动态路由出问题的时候使用静态路由作为备份
回答
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#ip route 10.0.0.0 255.0.0.0 172.16.1.1 190 (下一跳也可以触发一个拨号接口)
Router(config)#end
Router#
注释 通过调整管理距离的方式来进行路由备份,不过要注意的是管理距离只适合在相同路由的情况下,路由条目的最长匹配是第一位的。另外在不同厂商设备互联的时候,调整管理距离一定要设置合理。
5.6. 基于源地址的策略路由
提问 根据源地址的不同选择不同的路径
回答
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#access-list 1 permit 10.15.35.0 0.0.0.255
Router(config)#access-list 2 permit 10.15.36.0 0.0.0.255
Router(config)#interface Ethernet0
Router(config-if)#ip address 10.15.22.7 255.255.255.0
Router(config-if)#ip policy route-map Engineers
Router(config-if)#ip route-cache policy
Router(config-if)#exit
Router(config)#route-map Engineers permit 10
Router(config-route-map)#match ip address 1
Router(config-route-map)#set ip next-hop 10.15.27.1
Router(config-route-map)#exit
Router(config)#route-map Engineers permit 20
Router(config-route-map)#match ip address 2
Router(config-route-map)#set interface Ethernet1
Router(config-route-map)#end
Router#
注释 缺省情况下route map的最后一句都是deny all,这样不符合route map规则的数据包都会按照正常的路由表进行转发。set ip next-hop verify-availability命令提供了对下一跳的验证,不过是基于CDP的,所以如果使用此命令需要打开CDP,最好同时调整时长,毕竟缺省是180秒。在使用策略路由时会在排错时增加难度,因为缺省对于本路由器发出的数据包可以绕过route map这样会造成错觉。
5.7. 基于应用的策略路由
提问 根据不同的应用来选择不同的路径
回答
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#access-list 101 deny tcp 10.15.25.0 0.0.0.255 any eq www
Router(config)#access-list 101 permit tcp any any eq www
Router(config)#interface Ethernet0
Router(config-if)#ip address 10.15.22.7 255.255.255.0
Router(config-if)#ip policy route-map Websurfers
Router(config-if)#ip route-cache policy
Router(config-if)#exit
Router(config)#route-map Websurfers permit 10
Router(config-route-map)#match ip address 101
Router(config-route-map)#set ip next-hop 10.15.27.1
Router(config-route-map)#exit
Router(config)#route-map Websurfers permit 20
Router(config-route-map)#set ip default next-hop 10.15.26.1
Router(config-route-map)#end
Router#
对于本设备的发出的数据包也使用策略路由
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#ip local policy route-map dlswtraffic
Router(config)#access-list 103 permit tcp any any eq 2065
Router(config)#access-list 103 permit tcp any eq 2065 any
Router(config)#route-map dlswtraffic permit 10
Router(config-route-map)#match ip address 103
Router(config-route-map)#set ip next-hop 10.15.27.3
Router(config-route-map)#end
Router#
注释 正常情况下如果所有定义的下一跳都不存在的情况下会使用路由表来查询,如果路由表没有此定义会使用缺省路由,这时候你可以使用set ip default next-hop来定义一个不同的缺省路由
5.8. 策略路由检查
提问 检查所应用的策略路由
回答
Router>show ip policy
Interface Route map
local dlswtraffic
Ethernet0 Websurfers
Serial0 High-priority
Router>show route-map
route-map High-priority, permit, sequence 10
Match clauses:
ip address (access-lists): 101
Set clauses:
ip next-hop 10.15.27.1
Policy routing matches: 0 packets, 0 bytes
route-map Websurfers, permit, sequence 10
Match clauses:
ip address (access-lists): 102
Set clauses:
ip next-hop 10.15.27.1
Policy routing matches: 0 packets, 0 bytes
route-map Websurfers, permit, sequence 20
Match clauses:
Set clauses:
ip default next-hop 10.15.26.1
Policy routing matches: 4 packets, 531 bytes
route-map dlswtraffic, permit, sequence 10
Match clauses:
ip address (access-lists): 103
Set clauses:
ip next-hop 10.15.27.3
Policy routing matches: 5 packets, 500 bytes
注释 也可以通过show access-list 103命令看到更多的匹配信息
5.9. 改变管理距离
提问 调整学到的外部网络的缺省管理距离
回答
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#router rip
Router(config-route)#network 192.168.15.0
Router(config-route)#distance 15 192.168.15.1 0.0.0.0
Router(config-route)#distance 200 192.168.15.0 0.0.0.255
Router(config-route)#distance 255
Router(config-route)#end
Router#
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#router eigrp 111
Router(config-route)#network 192.168.16.0
Router(config-route)#distance eigrp 55 200
Router(config-route)#end
Router#
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#router ospf 66
Router(config-route)#distance ospf inter-area 115
Router(config-route)#distance ospf intra-area 105
Router(config-route)#distance ospf external 125
Router(config-route)#end
Router#
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#router bgp 65520
Router(config-route)#distance bgp 115 220 50
Router(config-route)#end
Router#
注释 管理距离只是针对自己的,通过调整这些外部路由的管理距离来调整自己路由表的结构
5.10. 相同代价值的多路径路由
提问 限制路由器到达同一目的地的路径数目
回答
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#router ospf 65510
Router(config-router)#maximum-paths 2
Router(config-router)#end
Router#
IOS 12.2T以后对BGP增加了下面的命令
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#router bgp 65511
Router(config-router)#maximum-paths 2
Router(config-router)#maximum-paths ibgp 3
Router(config-router)#end
Router#
注释 缺省情况下静态路由可以有6条冗余,BGP只有一条最佳路径,其他路由协议为4条。使用上述命令在12.3(2)T之前可以调整最大为6条,12.3(2)T之后可以最大为16条
5.11. 配置静态路由的追踪
提问 在某个端口当掉等情况下才启用特定的静态路由
回答
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#track 10 interface Serial0/0 line-protocol
Router(config-track)#delay down 5 up 30
Router(config-track)#exit
Router(config)#ip route 192.168.10.0 255.255.255.0 10.3.12.26 track 10
Router(config)#end
Router#
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#track 11 ip route 10.2.95.0 255.255.255.0 reachability
Router(config-track)#delay down 5 up 5
Router(config-track)#exit
Router(config)#ip route 0.0.0.0 0.0.0.0 10.3.12.26 track 11
Router(config)#end
Router#
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#track 12 list boolean and
Router(config-track)#object 10 not
Router(config-track)#object 11
Router(config-track)#exit
Router(config)#ip route 192.168.13.0 255.255.255.0 10.3.12.26 track 12
Router(config)#end
Router#
注释 从12.3T和12.4以后开始IOS提供了一种track的特性,可以定义跟踪不同的状态。可以使用show track命令来查看跟踪的状态。跟踪状态也可以进行组合,使用and or逻辑运算或者百分比,权重等增加灵活度,很好玩,不过别把自己绕进去了
<!--[if !supportLists]-->5.12. <!--[endif]-->路由表变动统计
提问 通过路由表变动的统计来衡量路由表的稳定性
回答
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#ip route profile
Router(config)#end
Router#
Router#show ip route profile
IP routing table change statistics:
Frequency of changes in a 5 second sampling interval
-------------------------------------------------------------
Change/ Fwd-path Prefix Nexthop Pathcount Prefix
interval change add change change refresh
-------------------------------------------------------------
0 327 327 335 335 331
1 4 4 0 0 1
2 2 2 0 0 1
3 0 0 0 0 0
4 1 1 0 0 1
…….
Router#
注释 12.0就有的一个老命令,但估计很少有人使用,这个统计也是够难懂的,简单的说最理想的情况就是第一行数目很大,其他行都是0。统计方法是每3秒一个间隔,在这个间隔内如果有1次路由表变化就累计一次,多次变化就累计多次。但这个命令还是有一些缺点,一就是不能清掉老的数据,必须通过no ip route profile,然后ip route profile 来清除,还有就是这里只是统计结果,没有办法确定是哪条路由出的问题
第六章RIP
6.1. 配置RIP(N>V1)
提问 在简单的网络中启用RIP路由协议
回答
Router2#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router2(config)#interface Ethernet0
Router2(config-if)#ip address 192.168.30.1 255.255.255.0
Router2(config-if)#interface Serial0.1
Router2(config-subif)#ip address 172.25.2.2 255.255.255.0
Router2(config-subif)#exit
Router2(config)#router rip
Router2(config-router)#network 172.25.0.0
Router2(config-router)#network 192.168.30.0
Router2(config-router)#exit
Router2(config)#end
Router2#
注释 要特别注意的是版本1的RIP中的network命令是无类的,就算你配置命令是无类的网络,路由器内部还是会转化为无类的。show ip rip database 是一个很好的验证命令
6.2. RIP中的路由过滤
提问 限制RIP中某些特定路由条目的交换
回答
入方向
Router2#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router2(config)#access-list 10 deny 192.168.20.0
Router2(config)#access-list 10 permit any
Router2(config)#router rip
Router2(config-router)#distribute-list 10 in Serial 0.1 (该命令除了可以用于特定接口也可以用于所有接口)
Router2(config-router)#network 172.25.0.0
Router2(config-router)#network 192.168.30.0
Router2(config-router)#exit
Router2(config)#end
Router2#
出方向
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#access-list 20 permit 0.0.0.0
Router1(config)#access-list 20 deny any
Router1(config)#router rip
Router1(config-router)#distribute-list 20 out Serial0/0.2
Router1(config-router)#network 172.25.0.0
Router1(config-router)#exit
Router1(config)#end
Router1#
注释 使用show ip protocol命令可以用来验证所配置的distribute-list
6.3. 再发布静态路由至RIP
提问 再发布你所配置的静态路由到RIP路由协议中
回答
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#ip route 192.168.10.0 255.255.255.0 172.22.1.4
Router1(config)#router rip
Router1(config-router)#redistribute static metric 5
Router1(config-router)#distribute-list 7 out static
Router1(config-router)#exit
Router1(config)#access-list 7 permit 192.168.10.0
Router1(config)#end
Router1#
注释 这里再发布还是要注意无类路由的问题,所以还是建议用V2。例子是再发布静态路由,也可以再发布其他动态路由协议,比如OSPF,BGP,EIGRP等,命令类似redistribute eigrp 65530
有一个好玩的情况是虽然此命令也可以支持RIP自己的再发布,但是配置时候是不允许的,因为RIP没有其他动态路由协议中的进程号的概念,无法区别不同的进程
6.4. 使用Route Maps进行路由再发布
提问 使用Route Maps这种更好控制粒度的方式来进行路由再发布的配置
回答
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#ip route 192.168.10.0 255.255.255.0 172.22.1.4
Router1(config)#ip route 192.168.11.0 255.255.255.0 172.22.1.4
Router1(config)#ip route 192.168.12.0 255.255.255.0 172.22.1.4
Router1(config)#access-list 20 permit 192.168.10.0
Router1(config)#access-list 21 permit 192.168.11.0
Router1(config)#route-map STATIC permit 10
Router1(config-route-map)#match ip address 20
Router1(config-route-map)#set metric 2
Router1(config-route-map)#set tag 2
Router1(config-route-map)#exit
Router1(config)#route-map STATIC permit 20
Router1(config-route-map)#match ip address 21
Router1(config-route-map)#set metric 8
Router1(config-route-map)#route-map STATIC deny 30
Router1(config-route-map)#exit
Router1(config)#router rip
Router1(config-router)#redistribute static route-map STATIC
Router1(config-router)#exit
Router1(config)#end
Router1#
注释 使用route map可以对路由再发布进行更好粒度的控制,如果觉得配置命令难懂的话,使用验证命令show route-map 可能更好理解一些
6.5. 在RIP中宣告缺省路由
提问 使用RIP来宣告一条缺省路由
回答
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#ip route 0.0.0.0 0.0.0.0 172.25.1.1
Router1(config)#router rip
Router1(config-router)#default-information originate
Router1(config-router)#end
Router1#
或者使用再发布命令
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#ip route 0.0.0.0 0.0.0.0 172.25.1.1
Router1(config)#access-list 7 permit 0.0.0.0
Router1(config)#router rip
Router1(config-router)#redistribute static
Router1(config-router)#distribute-list 7 out static
Router1(config-router)#end
Router1#
注释 推荐使用第一种方式,除了可以免除使用过滤列表以外还可以和route map来组合使用
6.6. 在特定接口禁用RIP
提问 阻止某个接口参与RIP
回答
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#access-list 12 deny any
Router1(config)#router rip
Router1(config-router)#passive-interface FastEthernet0/1
Router1(config-router)#distribute-list 12 in FastEthernet0/1
Router1(config-router)#end
Router1#
注释 passive-interface 用于防止端口发送路由信息,但是并不能控制此接口不接收路由信息,所以要再使用distribute-list 命令来防止此接口接收路由信息
6.7. 缺省被动接口
提问 缺省在所有端口禁用RIP,除非特别指定
回答
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#router rip
Router1(config-router)#passive-interface default
Router1(config-router)#no passive-interface FastEthernet0/0.1
Router1(config-router)#network 172.22.0.0
Router1(config-router)#network 172.25.0.0
Router1(config-router)#network 192.168.1.0
Router1(config-router)#exit
Router1(config)#end
Router1#
注释 无
6.8. RIP更新使用单播包
提问 不想使用组播或者广播的形式来发布路由更新
回答
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#router rip
Router1(config-router)#passive-interface FastEthernet0/1
Router1(config-router)#neighbor 172.22.1.4
Router1(config-router)#end
Router1#
注释 缺省V1使用广播包,V2使用组播包的形式来发布路由更新
6.9. 对路由应用Offsets
提问 修改特定接口学到或者发布路由的度量值
回答
Router2#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router2(config)#access-list 22 permit 192.168.20.0
Router2(config)#access-list 33 permit 192.168.30.0
Router2(config)#router rip
Router2(config-router)#offset-list 33 out 10 Serial0.1
Router2(config-router)#offset-list 22 in 5 Serial0.1
Router2(config-router)#exit
Router2(config)#end
Router2#
注释 RIP是根据跳数来进行选路而没有考虑到链路的不同,通过这样的命令可以变相的增加某个接口的度量值,从而在选路时考虑,注意的是offset只能增加度量值不能减少
6.10. 定时器调整
提问 对RIP的定时器设定进行调整,提高收敛速度
回答
Router2#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router2(config)#router rip
Router2(config-router)#timers basic 20 80 80 120
Router2(config-router)#exit
Router2(config)#end
Router2#
注释 所有定时器单位都是秒,第一个为更新周期,第二个为无效路由时间,第三个为保持时间,第四个为flush时间。需要注意的是要确保启用RIP的网络定时器都设置一致
6.11. 增加路由更新数据包发送延迟
提问 避免路由更新数据包发送速度太快导致老设备来不及处理
回答
Router2#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router2(config)#router rip
Router2(config-router)#output-delay 10
Router2(config-router)#exit
Router2(config)#end
Router2#
注释 正常情况下一个RIP更新数据包大小为512字节可以包含25条路由条目,如果路由表条目大于25就会通过多个路由更新包来发送,正常是尽可能快的发,启用本特性可以增加发送的间隔,单位为毫秒
6.12. 启用非周期性更新
提问 避免使用每30秒的周期性更新,使用触发更新
回答
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#interface Serial0/0.2
Router1(config-subif)#ip rip triggered
Router1(config-subif)#end
Router1#
注释 一定要在邻居路由器上也启用此特性,只能用于点对点链路
6.13. 增加RIP的输入队列
提问 在低端路由器上增加RIP的输入队列避免丢失路由信息
回答
Router2#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router2(config)#router rip
Router2(config-router)#input-queue 200
Router2(config-router)#end
Router2#
注释 类似6.11
<!--[if !supportLists]-->6.14. <!--[endif]-->配置RIP(V2)
提问 启用更灵活的版本2 RIP
回答
Router2#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router2(config)#router rip
Router2(config-router)#version 2
Router2(config-router)#network 172.25.0.0
Router2(config-router)#network 192.168.30.0
Router2(config-router)#end
Router2#
注释 缺省情况下路由器会监听v1和v2的RIP数据包,但是只会发送v1的数据包
6.15. 启用RIP认证
提问 对RIP的数据包进行认证增加安全性
回答
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#key chain ORA
Router1(config-keychain)#key 1
Router1(config-keychain-key)#key-string neoshi
Router1(config-keychain-key)#exit
Router1(config)#interface FastEthernet0/0.1
Router1(config-subif)#ip rip authentication key-chain ORA
Router1(config-subif)#ip rip authentication mode text (或者ip rip authentication mode md5)
Router1(config-subif)#exit
Router1(config)#end
Router1#
注释 RIP认证是RIPv2的特性之一,需要注意的是由于启用了认证所以在更新数据包中所包含的路由条目数会减少,文本方式会减少为24,MD5会减少为23
6.16. 配置RIP路由汇总
提问 通过使用路由汇总来减少路由表的大小,增加稳定性
回答
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#interface Serial0/0.2
Router1(config-subif)#ip summary-address rip 172.25.0.0 255.255.0.0
Router1(config-subif)#exit
Router1(config)#end
Router1#
缺省情况下RIP会自动对路由条目汇总为无类网络路由,使用下面方法关闭
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#router rip
Router1(config-router)#no auto-summary
Router1(config-router)#exit
Router1(config)#end
Router1#
注释 只要配置的汇总路由中的有一条子网路由是存在的,路由器就会继续宣告此条汇总路由
<!--[if !supportLists]-->6.17. <!--[endif]-->路由标签
提问 对再发布的路由配置标签,从而避免不同路由协议之间路由再发布出现路由回环
回答
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#ip route 0.0.0.0 0.0.0.0 172.25.1.1
Router1(config)#access-list 7 permit 0.0.0.0
Router1(config)#route-map TAGGING permit 10
Router1(config-route-map)# match ip address 7
Router1(config-route-map)# set tag 5
Router1(config-route-map)#exit
Router1(config)#router rip
Router1(config-router)#redistribute static route-map TAGGING
Router1(config-router)#exit
Router1(config)#end
Router1#
注释 标签TAG只用于外部的路由,而不是通过RIP学到的路由,RIP自身正常情况下也不直接使用这些标签,只是分发而已,如果这些路由再被分发到其他路由进程就可以用标签来识别从而进行控制
6.1. 配置RIP(N>V1)
提问 在简单的网络中启用RIP路由协议
回答
Router2#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router2(config)#interface Ethernet0
Router2(config-if)#ip address 192.168.30.1 255.255.255.0
Router2(config-if)#interface Serial0.1
Router2(config-subif)#ip address 172.25.2.2 255.255.255.0
Router2(config-subif)#exit
Router2(config)#router rip
Router2(config-router)#network 172.25.0.0
Router2(config-router)#network 192.168.30.0
Router2(config-router)#exit
Router2(config)#end
Router2#
注释 要特别注意的是版本1的RIP中的network命令是无类的,就算你配置命令是无类的网络,路由器内部还是会转化为无类的。show ip rip database 是一个很好的验证命令
6.2. RIP中的路由过滤
提问 限制RIP中某些特定路由条目的交换
回答
入方向
Router2#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router2(config)#access-list 10 deny 192.168.20.0
Router2(config)#access-list 10 permit any
Router2(config)#router rip
Router2(config-router)#distribute-list 10 in Serial 0.1 (该命令除了可以用于特定接口也可以用于所有接口)
Router2(config-router)#network 172.25.0.0
Router2(config-router)#network 192.168.30.0
Router2(config-router)#exit
Router2(config)#end
Router2#
出方向
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#access-list 20 permit 0.0.0.0
Router1(config)#access-list 20 deny any
Router1(config)#router rip
Router1(config-router)#distribute-list 20 out Serial0/0.2
Router1(config-router)#network 172.25.0.0
Router1(config-router)#exit
Router1(config)#end
Router1#
注释 使用show ip protocol命令可以用来验证所配置的distribute-list
6.3. 再发布静态路由至RIP
提问 再发布你所配置的静态路由到RIP路由协议中
回答
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#ip route 192.168.10.0 255.255.255.0 172.22.1.4
Router1(config)#router rip
Router1(config-router)#redistribute static metric 5
Router1(config-router)#distribute-list 7 out static
Router1(config-router)#exit
Router1(config)#access-list 7 permit 192.168.10.0
Router1(config)#end
Router1#
注释 这里再发布还是要注意无类路由的问题,所以还是建议用V2。例子是再发布静态路由,也可以再发布其他动态路由协议,比如OSPF,BGP,EIGRP等,命令类似redistribute eigrp 65530
有一个好玩的情况是虽然此命令也可以支持RIP自己的再发布,但是配置时候是不允许的,因为RIP没有其他动态路由协议中的进程号的概念,无法区别不同的进程
6.4. 使用Route Maps进行路由再发布
提问 使用Route Maps这种更好控制粒度的方式来进行路由再发布的配置
回答
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#ip route 192.168.10.0 255.255.255.0 172.22.1.4
Router1(config)#ip route 192.168.11.0 255.255.255.0 172.22.1.4
Router1(config)#ip route 192.168.12.0 255.255.255.0 172.22.1.4
Router1(config)#access-list 20 permit 192.168.10.0
Router1(config)#access-list 21 permit 192.168.11.0
Router1(config)#route-map STATIC permit 10
Router1(config-route-map)#match ip address 20
Router1(config-route-map)#set metric 2
Router1(config-route-map)#set tag 2
Router1(config-route-map)#exit
Router1(config)#route-map STATIC permit 20
Router1(config-route-map)#match ip address 21
Router1(config-route-map)#set metric 8
Router1(config-route-map)#route-map STATIC deny 30
Router1(config-route-map)#exit
Router1(config)#router rip
Router1(config-router)#redistribute static route-map STATIC
Router1(config-router)#exit
Router1(config)#end
Router1#
注释 使用route map可以对路由再发布进行更好粒度的控制,如果觉得配置命令难懂的话,使用验证命令show route-map 可能更好理解一些
6.5. 在RIP中宣告缺省路由
提问 使用RIP来宣告一条缺省路由
回答
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#ip route 0.0.0.0 0.0.0.0 172.25.1.1
Router1(config)#router rip
Router1(config-router)#default-information originate
Router1(config-router)#end
Router1#
或者使用再发布命令
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#ip route 0.0.0.0 0.0.0.0 172.25.1.1
Router1(config)#access-list 7 permit 0.0.0.0
Router1(config)#router rip
Router1(config-router)#redistribute static
Router1(config-router)#distribute-list 7 out static
Router1(config-router)#end
Router1#
注释 推荐使用第一种方式,除了可以免除使用过滤列表以外还可以和route map来组合使用
6.6. 在特定接口禁用RIP
提问 阻止某个接口参与RIP
回答
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#access-list 12 deny any
Router1(config)#router rip
Router1(config-router)#passive-interface FastEthernet0/1
Router1(config-router)#distribute-list 12 in FastEthernet0/1
Router1(config-router)#end
Router1#
注释 passive-interface 用于防止端口发送路由信息,但是并不能控制此接口不接收路由信息,所以要再使用distribute-list 命令来防止此接口接收路由信息
6.7. 缺省被动接口
提问 缺省在所有端口禁用RIP,除非特别指定
回答
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#router rip
Router1(config-router)#passive-interface default
Router1(config-router)#no passive-interface FastEthernet0/0.1
Router1(config-router)#network 172.22.0.0
Router1(config-router)#network 172.25.0.0
Router1(config-router)#network 192.168.1.0
Router1(config-router)#exit
Router1(config)#end
Router1#
注释 无
6.8. RIP更新使用单播包
提问 不想使用组播或者广播的形式来发布路由更新
回答
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#router rip
Router1(config-router)#passive-interface FastEthernet0/1
Router1(config-router)#neighbor 172.22.1.4
Router1(config-router)#end
Router1#
注释 缺省V1使用广播包,V2使用组播包的形式来发布路由更新
6.9. 对路由应用Offsets
提问 修改特定接口学到或者发布路由的度量值
回答
Router2#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router2(config)#access-list 22 permit 192.168.20.0
Router2(config)#access-list 33 permit 192.168.30.0
Router2(config)#router rip
Router2(config-router)#offset-list 33 out 10 Serial0.1
Router2(config-router)#offset-list 22 in 5 Serial0.1
Router2(config-router)#exit
Router2(config)#end
Router2#
注释 RIP是根据跳数来进行选路而没有考虑到链路的不同,通过这样的命令可以变相的增加某个接口的度量值,从而在选路时考虑,注意的是offset只能增加度量值不能减少
6.10. 定时器调整
提问 对RIP的定时器设定进行调整,提高收敛速度
回答
Router2#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router2(config)#router rip
Router2(config-router)#timers basic 20 80 80 120
Router2(config-router)#exit
Router2(config)#end
Router2#
注释 所有定时器单位都是秒,第一个为更新周期,第二个为无效路由时间,第三个为保持时间,第四个为flush时间。需要注意的是要确保启用RIP的网络定时器都设置一致
6.11. 增加路由更新数据包发送延迟
提问 避免路由更新数据包发送速度太快导致老设备来不及处理
回答
Router2#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router2(config)#router rip
Router2(config-router)#output-delay 10
Router2(config-router)#exit
Router2(config)#end
Router2#
注释 正常情况下一个RIP更新数据包大小为512字节可以包含25条路由条目,如果路由表条目大于25就会通过多个路由更新包来发送,正常是尽可能快的发,启用本特性可以增加发送的间隔,单位为毫秒
6.12. 启用非周期性更新
提问 避免使用每30秒的周期性更新,使用触发更新
回答
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#interface Serial0/0.2
Router1(config-subif)#ip rip triggered
Router1(config-subif)#end
Router1#
注释 一定要在邻居路由器上也启用此特性,只能用于点对点链路
6.13. 增加RIP的输入队列
提问 在低端路由器上增加RIP的输入队列避免丢失路由信息
回答
Router2#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router2(config)#router rip
Router2(config-router)#input-queue 200
Router2(config-router)#end
Router2#
注释 类似6.11
<!--[if !supportLists]-->6.14. <!--[endif]-->配置RIP(V2)
提问 启用更灵活的版本2 RIP
回答
Router2#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router2(config)#router rip
Router2(config-router)#version 2
Router2(config-router)#network 172.25.0.0
Router2(config-router)#network 192.168.30.0
Router2(config-router)#end
Router2#
注释 缺省情况下路由器会监听v1和v2的RIP数据包,但是只会发送v1的数据包
6.15. 启用RIP认证
提问 对RIP的数据包进行认证增加安全性
回答
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#key chain ORA
Router1(config-keychain)#key 1
Router1(config-keychain-key)#key-string neoshi
Router1(config-keychain-key)#exit
Router1(config)#interface FastEthernet0/0.1
Router1(config-subif)#ip rip authentication key-chain ORA
Router1(config-subif)#ip rip authentication mode text (或者ip rip authentication mode md5)
Router1(config-subif)#exit
Router1(config)#end
Router1#
注释 RIP认证是RIPv2的特性之一,需要注意的是由于启用了认证所以在更新数据包中所包含的路由条目数会减少,文本方式会减少为24,MD5会减少为23
6.16. 配置RIP路由汇总
提问 通过使用路由汇总来减少路由表的大小,增加稳定性
回答
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#interface Serial0/0.2
Router1(config-subif)#ip summary-address rip 172.25.0.0 255.255.0.0
Router1(config-subif)#exit
Router1(config)#end
Router1#
缺省情况下RIP会自动对路由条目汇总为无类网络路由,使用下面方法关闭
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#router rip
Router1(config-router)#no auto-summary
Router1(config-router)#exit
Router1(config)#end
Router1#
注释 只要配置的汇总路由中的有一条子网路由是存在的,路由器就会继续宣告此条汇总路由
<!--[if !supportLists]-->6.17. <!--[endif]-->路由标签
提问 对再发布的路由配置标签,从而避免不同路由协议之间路由再发布出现路由回环
回答
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#ip route 0.0.0.0 0.0.0.0 172.25.1.1
Router1(config)#access-list 7 permit 0.0.0.0
Router1(config)#route-map TAGGING permit 10
Router1(config-route-map)# match ip address 7
Router1(config-route-map)# set tag 5
Router1(config-route-map)#exit
Router1(config)#router rip
Router1(config-router)#redistribute static route-map TAGGING
Router1(config-router)#exit
Router1(config)#end
Router1#
注释 标签TAG只用于外部的路由,而不是通过RIP学到的路由,RIP自身正常情况下也不直接使用这些标签,只是分发而已,如果这些路由再被分发到其他路由进程就可以用标签来识别从而进行控制
转载于:https://blog.51cto.com/xiong/19294