netmikoで使えるデバイスタイプ
netmikoは抽象化の度合いこそ低いものの、対応デバイスの多さが特徴です。ただ、対応デバイス名の記載について言及があまりなく、実際どんなものがあるのかはGithubのソースを見ないとわかりません。
そこで、どんなものがあるのかを列挙してみました。実際には、ここにあるコードを見て、それぞれのベンダーに対応するモジュール名を確認してみました。
A10 Networks
- a10_ssh
Accedian Networks
- accedian_ssh
Alcatel
- alcatel_aos_ssh
- alcatel_sros_ssh
Arista Networks
- arista_ssh
Aruba Networks (Hewlett-Packard Enterprise)
- aruba_ssh
Avaya
- avaya_ers_ssh
- avaya_vsp_ssh
Brocade Communication Systems
- brocade_nos_ssh
- brocade_netiron
Calix
- calix_b6_ssh
Checkpoint Software Technologies
- checkpoint_gaia_ssh
Ciena
- ciena_saos_ssh
Cisco Systems
- cisco_asa_ssh
- cisco_ios(SSH/TELNET両対応)
- cisco_nxos_ssh
- cisco_s300
- cisco_tp_tcce
- cisco_wlc_ssh
- cisco_xr_ssh
Coriant
- coriant_ssh
DELL
- dell_force10_ssh
- dell_powerconnect
Eltex
- eltex_ssh
Enterasys Networks
- enterasys_ssh
Extreme Networks
- extreme_ssh
- extreme_wing_ssh
f5 networks
- f5_ltm_ssh
Fortinet
- fortinet_ssh
Hewlett-Packard Enterprise
- hp_comware_ssh
- hp_procurve_ssh
HUAWEI(H3C/Hewlett-Packard Etnterprise)
- huawei_ssh
Juniper Networks
- juniper_ssh
Linux
- linux_ssh
Mellanox Technologies
- mellanox_ssh
MRV Communications
- mrv_ssh
NetApp
- netapp_cdot_ssh
OVS (Open VSwitch)
- ovs_linux_ssh
PaloAlto Networks
- paloalto_panos_ssh
Pluribus Networks
- pluribus_ssh
Quanta
- quanta_mesh_ssh
Ruckus Wireless
- ruckus_fastiron_ssh
terminal_server
- terminal_server
Ubiquiti Networks
- edge_ssh
Viyatta/VyOS
- vyos_ssh
感じたこと
見てわかると思うのですが、多岐にわたって対応していると思いきや、意外とそうでもありません。ただ、コネクションの部分を特化してコーディングされてるため、おそらくはユーザが必要に応じてドライバを増やしているんだろうなーと言う感じがしました。
あと、SSHが前提のモジュールが多いですね。使用の際は、SSHを構成した上で実施することをオススメしますです。具体的な中身は、例えばCisco_IOSモジュールの場合、SSH/TELNETそれぞれで接続用クラスなどが提供されていることがソースから判別つくので、そのあたりからにらめっこするとわかりやすいのかなと感じます。
ある程度Pythonの書き方を覚えた上で、こうしてGithub上のソースを見てみるのも一つ大事なことかなと感じました。
個人的な感想ですが、netmikoは戻り値としてスイッチの出力がそのまま返ってくることから、コンフィグのバックアップには最適かな?と言う印象です。逆に、スイッチの統計情報や接続情報等に関するものについては、別途存在するNAPALMを使ったほうが良いのだろうなとも。
NAPALMはどうやらRouterboardにも対応しているらしく、それ使えばもう少し網羅的に構成管理が出来るかもです。そのうち使って、運用管理などに役立ててみようかなーと考えています。
Comments are closed