是否可以通过编程方式确定运行 8.2(x) 的 ASA 5550 或 5540 上的静态 NAT?我没有将其视为可用的 SNMP oid,但也许我遗漏了它。
答案1
可能有更优雅的方式,但是你可以写一个预计脚本登录到您的 ASA,然后运行命令sh run static
,捕获输出,然后将其发送到某个地方进行处理。
我没有一个完整的脚本可以完全满足您的需求,因为我只使用 expect 在我管理的 ASA 中推出配置更改。但是,以下将登录到 ASA 并进入启用 (#) 提示符,然后将配置转储到 tftp 服务器并退出。这会将您的配置发送到服务器上,然后您可以使用 grep 处理文件。
spawn ssh {user}@{asa-hostname-or-ip-address}
expect -timeout 10
expect "assword:"
send "{password}\r"
expect ">"
send "en\r"
expect "assword:"
send "{password}\r"
expect "#"
# save the running config to the location configured under tftp-server
send "write net\r"
expect "#"
# logout of the ASA
send "exit\r"
根据需要替换上面的 {username}、{asa-hostname-or-ip-address} 和 {password}。
比我更有经验的人可能能够sh run static
使用提取命令的输出$expect_out(buffer)
然后对其进行处理,但是上面的内容应该可以为您提供一些帮助。
如果在一堆 ASA 上执行此操作,您可以将上述内容放入 bash 脚本中,该脚本提取 asa 主机名、用户名和密码数组,然后循环使用do
。