You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Nornir调用Netmiko时遇到设备类型不支持问题

解决Nornir + Netmiko连接Cisco设备时的「Unsupported device_type」错误

这个错误提示很明确——Netmiko找不到对应Cisco设备的device_type配置,导致无法建立连接。我来给你拆解排查步骤:

1. 检查Inventory里的主机配置是否正确

Nornir是通过主机的platform字段来映射Netmiko的device_type的,所以你需要确保每个Cisco主机都设置了正确的platform值:

  • 对于Cisco IOS设备,platform应该设为cisco_ios
  • 如果是NX-OS设备,设为cisco_nxos,以此类推

举个hosts.yml的正确示例:

cisco_router:
  hostname: 192.168.100.1
  username: your_username
  password: your_password
  platform: cisco_ios  # 关键字段,Netmiko靠它识别设备类型

2. 确认Nornir配置文件的连接插件设置

检查你的config.yml里是否正确启用了Netmiko连接插件,确保没有拼写错误:

inventory:
  plugin: SimpleInventory
  options:
    host_file: "hosts.yml"
    group_file: "groups.yml"

connections:
  netmiko:
    plugin: nornir_netmiko.connections.netmiko  # 正确的插件路径
    extras:
      global_delay_factor: 1  # 可选的额外参数

3. 手动指定device_type(应急方案)

如果自动映射失效,你可以在调用netmiko_send_command时直接指定device_type参数,绕开Inventory的映射逻辑:

result = test.run(
    netmiko_send_command,
    command_string="sh ver",
    device_type="cisco_ios"  # 直接告诉Netmiko设备类型
)

4. 更新Netmiko版本

如果你的Netmiko版本太老,可能不支持某些Cisco设备的device_type,执行命令更新到最新版:

pip install --upgrade netmiko

核心问题就是Nornir没有把你过滤的「Cisco」平台主机,正确映射到Netmiko能识别的device_type上,按照上面的步骤逐一排查应该就能解决。

内容的提问来源于stack exchange,提问作者benanater

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 15:53:12