textfsm 案例分享

由于安全需要,需要定期对接入层交换机配置进行合规检查,避免不规范配置存在的漏洞给公司网络带来安全风险。

如下案例是通过textfsm 提取交换机接口的配置信息,进一步进行检查准入配置是否开启:

1、首先看接口下的配置

?

| 1234567891011121314151617 | interface GigabitEthernet1``/``0``/``7``description user_0001``switchport access vlan 192``switchport mode access``authentication event server dead action reinitialize vlan 192``authentication event server alive action reinitialize``authentication port``-``control auto``authentication periodic``authentication timer reauthenticate server``authentication timer restart 36000``mab eap``dot1x pae authenticator``dot1x timeout tx``-``period 5``dot1x max``-``req 1``dot1x max``-``reauth``-``req 1``spanning``-``tree portfast edge``! |

需要提取的信息已经用蓝色背景标注了,其中有接口名称,接口描述(可选),接口接入VLAN,接口模式,准入配置,端口生成树模式;其中接口名称,在交换机的配置文件中会有多种接口,比如vlan/vlanif,loopback,null 和链路聚合等情况,需要通过正则表达式的关键字进行过滤。

2、注意配置格式:

接口数据应该类似:{接口:(接口描述,接口接入VLAN,接口模式,准入配置,端口生成树模式)},向下查找的内容均属于该接口,直到发现有“!”。

重点在于提前记录这个接口,待查找完数据后,再进行下一个接口的数据匹配。

3、配置模板

这个模板正常地开始提取数据的点是在检测到

Interface
Start
${IntfaceName}
Interface

 1 Value IntfaceName (\S+Ethernet+\S+)
 2 Value Interface\_mode (\S+)
 3 Value VLAN\_id (\d+)
 4 Value STPmode (\S+)
 5 Value Desc (\S+)
 6 Value dot1x\_cfg (\S+)
 7 Value AdminState (shut+\S+)
 8 
 9 Start
10  ^interface ${IntfaceName} -> IntfaceName
11 
12 IntfaceName
13  ^\sdescription ${Desc} 
14  ^\sswitchport access vlan ${VLAN\_id}
15  ^\sswitchport mode ${Interface\_mode} 
16  ^\s+${AdminState}
17  ^\sdot1x pae ${dot1x\_cfg} 
18  ^\sspanning-tree ${STPmode} 
19  ^! -> Record Start
20  #发现“!”后,记录以上匹配到的内容,并开始进行下一个查找。

  • 7
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值