hyperglass支持的网络设备平台全解析:从Arista到VyOS的完整指南
【免费下载链接】hyperglasshyperglass is the network looking glass that tries to make the internet better.项目地址: https://gitcode.com/gh_mirrors/hy/hyperglass
hyperglass是一款现代化的网络Looking Glass工具,旨在让网络运营商能够轻松地为客户、对等方或公众提供查看网络元素和运行测试的能力。作为一个开源项目,hyperglass通过支持广泛的网络设备平台,帮助网络工程师简化网络监控和故障排除工作。本文将全面解析hyperglass支持的13个主要网络设备平台,从企业级的Arista EOS到开源的VyOS,为您提供完整的平台支持指南和配置建议。
📊 原生支持的13个网络设备平台
hyperglass原生支持以下13个主流网络设备平台,这些平台都内置了完整的指令集,开箱即用:
1. Arista EOS
- 平台标识符:
arista_eos - 支持的命令: BGP路由查询、BGP AS路径查询、BGP社区查询、Ping、Traceroute
- 配置文件: hyperglass/defaults/directives/arista_eos.py
- 特色功能: 支持JSON结构化输出,提供表格化展示
2. Cisco IOS
- 平台标识符:
cisco_ios - 支持的命令: BGP路由查询、BGP AS路径查询、BGP社区查询、Ping、Traceroute
- 配置文件: hyperglass/defaults/directives/cisco_ios.py
- 命令示例:
show bgp ipv4 unicast {target} | exclude pathid:|Epoch
3. Cisco NX-OS
- 平台标识符:
cisco_nxos - 支持的命令: BGP路由查询、BGP AS路径查询、BGP社区查询、Ping、Traceroute
- 配置文件: hyperglass/defaults/directives/cisco_nxos.py
4. Cisco IOS-XR
- 平台标识符:
cisco_xr - 支持的命令: BGP路由查询、BGP AS路径查询、BGP社区查询、Ping、Traceroute
- 配置文件: hyperglass/defaults/directives/cisco_xr.py
5. Juniper Junos
- 平台标识符:
juniper或juniper_junos - 支持的命令: BGP路由查询、BGP AS路径查询、BGP社区查询、Ping、Traceroute
- 配置文件: hyperglass/defaults/directives/juniper.py
- 特色功能: 支持XML结构化输出,提供详细的网络信息
6. VyOS
- 平台标识符:
vyos - 支持的命令: BGP路由查询、BGP AS路径查询、BGP社区查询、Ping、Traceroute
- 配置文件: hyperglass/defaults/directives/vyos.py
- 命令示例:
show bgp ipv4 {target}
7. FRRouting (FRR)
- 平台标识符:
frr - 支持的命令: BGP路由查询、BGP AS路径查询、BGP社区查询、Ping、Traceroute
- 配置文件: hyperglass/defaults/directives/frr.py
8. BIRD
- 平台标识符:
bird - 支持的命令: BGP路由查询、BGP AS路径查询、BGP社区查询、Ping、Traceroute
- 配置文件: hyperglass/defaults/directives/bird.py
9. Huawei VRP
- 平台标识符:
huawei或huawei_vrpv8 - 支持的命令: BGP路由查询、BGP AS路径查询、BGP社区查询、Ping、Traceroute
- 配置文件: hyperglass/defaults/directives/huawei.py
10. Mikrotik RouterOS/SwitchOS
- 平台标识符:
mikrotik_routeros或mikrotik_switchos - 支持的命令: BGP路由查询、BGP AS路径查询、BGP社区查询、Ping、Traceroute
- 配置文件: hyperglass/defaults/directives/mikrotik.py
- 特殊配置: 需要设置
global_cmd_verify: false参数
11. Nokia SR OS
- 平台标识符:
nokia_sros - 支持的命令: BGP路由查询、BGP AS路径查询、BGP社区查询、Ping、Traceroute
- 配置文件: hyperglass/defaults/directives/nokia_sros.py
12. OpenBGPD
- 平台标识符:
openbgpd - 支持的命令: BGP路由查询、BGP AS路径查询、BGP社区查询、Ping、Traceroute
- 配置文件: hyperglass/defaults/directives/openbgpd.py
13. TNSR
- 平台标识符:
tnsr - 支持的命令: BGP路由查询、BGP AS路径查询、BGP社区查询、Ping、Traceroute
- 配置文件: hyperglass/defaults/directives/tnsr.py
🔧 如何配置hyperglass支持的网络设备
基础设备配置示例
在devices.yaml配置文件中,添加网络设备非常简单:
devices: - name: "纽约核心路由器" address: 192.0.2.1 platform: arista_eos credential: username: admin password: your_password attrs: source4: 192.0.2.1 source6: "2001:db8::1"多平台混合环境配置
对于包含多种网络设备的混合环境,hyperglass可以轻松管理:
devices: - name: "Cisco核心交换机" address: 192.0.2.10 platform: cisco_ios group: "核心网络" credential: username: network_admin password: secure_password - name: "Juniper边缘路由器" address: 192.0.2.20 platform: juniper group: "边缘网络" credential: username: juniper_admin password: another_password - name: "VyOS开源路由器" address: 192.0.2.30 platform: vyos group: "测试网络" credential: username: vyos_user password: test_password🚀 扩展支持:基于Netmiko的广泛兼容性
hyperglass基于Netmiko库构建,这意味着它实际上支持所有Netmiko支持的平台。根据 Netmiko支持的平台列表,hyperglass可以通过自定义指令支持超过100种网络设备!
支持的扩展平台包括:
- A10 Networks设备:
a10,a10_ssh - Adtran操作系统:
adtran_os,adtran_os_ssh,adtran_os_telnet - Alcatel设备:
alcatel_aos,alcatel_aos_ssh,alcatel_sros,alcatel_sros_ssh - Allied Telesis设备:
allied_telesis_awplus,allied_telesis_awplus_ssh - Aruba操作系统:
aruba_os,aruba_os_ssh - Brocade设备:
brocade_fastiron,brocade_netiron - Dell设备:
dell_force10,dell_powerconnect - Extreme Networks设备:
extreme,extreme_wing,extreme_exos - HP设备:
hp_comware,hp_procurve - Palo Alto Networks设备:
paloalto_panos - 以及更多...
📋 每个平台支持的5个核心功能
所有原生支持的平台都提供以下5个核心网络诊断功能:
- BGP路由查询- 查询特定IP地址或前缀的BGP路由信息
- BGP AS路径查询- 基于AS路径正则表达式查询路由
- BGP社区查询- 查询特定BGP社区的路由
- Ping测试- 执行IPv4/IPv6 Ping测试
- Traceroute测试- 执行IPv4/IPv6 Traceroute测试
⚙️ 高级配置技巧
1. 自定义指令配置
对于非原生支持的平台,可以创建自定义指令:
# directives.yaml custom_bgp_route: name: "自定义BGP路由查询" rules: - condition: "0.0.0.0/0" action: permit command: "show ip bgp {target} detail" field: description: "IP地址或前缀"2. 设备分组管理
使用group字段对设备进行逻辑分组:
devices: - name: "核心交换机-01" address: 10.0.0.1 platform: cisco_ios group: "核心网络" - name: "边缘路由器-01" address: 10.0.1.1 platform: juniper group: "边缘网络"3. SSH代理配置
通过SSH代理访问设备:
devices: - name: "远程设备" address: 192.168.1.1 platform: arista_eos proxy: address: 203.0.113.1 port: 22 credential: username: proxy_user password: proxy_password🎯 最佳实践建议
1. 平台选择策略
- 企业环境: 优先使用Arista EOS、Cisco IOS、Juniper Junos等原生支持平台
- 开源环境: 考虑使用VyOS、FRRouting、BIRD等开源平台
- 混合环境: hyperglass完美支持多平台混合部署
2. 安全配置
- 使用SSH密钥认证而非密码
- 配置适当的访问控制列表
- 定期更新hyperglass和Netmiko库
3. 性能优化
- 合理配置请求超时时间
- 使用SSH代理减少直接连接
- 启用结构化输出提升解析效率
🔍 故障排除指南
常见问题及解决方案
连接失败
- 检查网络可达性和防火墙规则
- 验证SSH/Telnet端口是否开放
- 确认认证信息正确
命令执行错误
- 检查平台标识符是否正确
- 验证设备支持的命令语法
- 查看hyperglass日志获取详细信息
输出解析问题
- 确认设备输出格式与预期一致
- 检查结构化输出配置
- 考虑使用自定义指令适配特定输出格式
📈 平台支持扩展计划
hyperglass团队持续扩展平台支持范围。如果您需要特定平台的支持,可以:
- 提交功能请求: 在项目GitHub页面提交issue
- 贡献代码: 为新的平台添加指令支持
- 自定义开发: 基于现有模板创建自定义指令
💡 总结
hyperglass作为现代化的网络Looking Glass工具,通过广泛的网络设备平台支持,为网络工程师提供了统一的网络诊断界面。无论是传统的企业级设备如Arista EOS、Cisco IOS、Juniper Junos,还是开源平台如VyOS、FRRouting、BIRD,hyperglass都能提供一致的用户体验和强大的网络诊断功能。
通过本文的详细解析,您应该已经了解了hyperglass支持的13个原生平台以及如何通过Netmiko扩展支持更多设备。现在就开始配置您的hyperglass实例,享受统一、高效的网络监控体验吧!🚀
提示:更多详细配置信息,请参考官方文档中的设备配置指南。
【免费下载链接】hyperglasshyperglass is the network looking glass that tries to make the internet better.项目地址: https://gitcode.com/gh_mirrors/hy/hyperglass
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考