给 Linux 世界的 Cisco IOS 新手有什么建议吗?

给 Linux 世界的 Cisco IOS 新手有什么建议吗?

我来自 Linux 世界。在 Linux 中,我一直在做防火墙、QoS、动态路由、隧道、ipsec、ipv6,甚至为内核编写自定义网络扩展。

现在我已经掌握了一些 Cisco 681。我了解基础知识,但我经常遇到一些问题,例如:

  • 很难调试(tcpdump 在哪里?!)
  • 很容易挂起/崩溃(特别是在调试时)
  • 我需要一些关于如何管理该事物的实用建议(通过 scp 复制运行配置并返回失败......)
  • 我发现的大多数文档在我看来都是公司垃圾(文字太多,信息太少)

我一直在谷歌上搜索并阅读相关资料,但在处理这件事情时我仍然觉得自己很不熟练。

例如,我正在尝试为其中一个路由器的工作配置添加一个简单的基于类的 QoS。

我准备了一个简单的配置:

no ip access-list extended RT_PROTOCOLS                                         
ip access-list extended RT_PROTOCOLS                                            
 permit icmp any any                                                            
 permit udp any any eq 53                                                       
 permit tcp any any eq 22                                                       
!                                                                               
no ip access-list extended HIGH_PROTOCOLS                                       
ip access-list extended HIGH_PROTOCOLS                                          
 permit tcp any any eq 80                                                       
 permit tcp any any eq 443                                                      
!                                                                               
class-map match-any RT_CLASS                                                    
 match access-group name RT_PROTOCOLS                                           
class-map match-any HIGH_CLASS                                                  
 match access-group name HIGH_PROTOCOLS                                         
!                            
policy-map INTERNET_OUT_POLICY                                                  
 class RT_CLASS                                                                 
  bandwidth percent 10                                                          
  random-detect                                                                 
 class HIGH_CLASS                                                               
  bandwidth percent 40                                                          
  random-detect                                                                 
 class class-default                                                            
  fair-queue                                                                    
  bandwidth percent 40                                                          
  random-detect                                                                 
!                                                                               
policy-map INTERNET_OUT_QOS                                                     
 class class-default                                                            
  shape average 8000                                                            
  service-policy INTERNET_OUT_POLICY                                            
!                                                                               
interface FastEthernet4                                                         
 no fair-queue                                                                  
 service-policy output INTERNET_OUT_QOS                                         
!     

我正在通过 复制它copy scp://source running-config。路由器立即导致高 ping 值,大约 20 秒后完全挂起。

我该如何调试哪里出了错误?

任何链接、文档、建议和提示都将不胜感激。

答案1

作为一般规则,请从控制台或通过 telnet 或 SSH 会话将配置应用于设备,而不是尝试将配置复制到正在运行的配置中。通过这样做,当您尝试配置时,您会收到有关配置问题的警报。

我认为您遇到的具体问题是 681 的 CPU 相当弱,而匹配 UDP/TCP 端口号相对繁重,因此我怀疑您的处理能力已经耗尽。如果您在show process cpu应用配置后尝试执行几项操作,您可能会看到 CPU 使用率急剧上升。

编辑:一个方便的方法(在某种程度上)可以缓解没有 tcpdump 的问题(它在某些较新的 IOS 版本中可用,但只有“捕获”位,然后您必须将 PCAP 文件提取到另一台主机进行分析),我通常称之为“监控 ACL”。只需定义一个与您想要检查的内容(存在或不存在)相匹配的 ACL,然后以permit ip any any不实际阻止任何流量结束。如果您专门寻找的流量正在通过,则 ACL 上的计数器(如“show access-list”所示)姓名“)将会增加。

答案2

以下是一些缩小 show run 输出范围的技巧,类似于 grep:

show run | begin word :开始在包含 word 的特定行显示配置
show run | include word :显示包含给定单词的所有行
显示运行 | 部分单词 : 也是一个很好的

答案3

我喜欢使用 PuTTy 通过串行控制台会话进行配置,这样我就可以不依赖于接口启动来访问 IOS(作为一个只做了六个月左右的 Linux 用户,我经常摆弄和关闭接口)。

结合串行控制台,我通过设置完成所有正在进行的工作的备份和恢复,terminal length 0以便我可以将整个运行配置复制并粘贴到一个文件中,如果需要,可以在其中进行批量更改,然后根据需要将其再次粘贴回去。

答案4

  • 很难调试(tcpdump 在哪里?!)
debug ip packets

很危险(参见您的观点#2),但是有些解析器可以从 cisco 调试中生成 .pcap 文件。

  • 很容易挂起/崩溃(特别是在调试时)

当然可以。即使使用大型路由器也可以。

  • 我需要一些关于如何管理该事物的实用建议(通过 scp 复制运行配置并返回失败......)
router#copy tftp://tftpsrv.local/conf/router-confg start
Destination filename [startup-config]? 
[OK]

router#configure replace nvram:startup-config
This will apply all necessary additions and deletions
to replace the current running configuration with the
contents of the specified configuration file, which is
assumed to be a complete configuration, not a partial
configuration. Enter Y if you are sure you want to proceed. ? [no]: y
...

无需重启。您也可以从 tftp 服务器复制配置。

  • 我发现的大多数文档在我看来都是公司垃圾(文字太多,信息太少)

CCIE 博客上有一些很好的信息。如果你想在实验室练习,请查看 packetlife 社区实验室!

相关内容