Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

网络设备工具实用化 #3

Open
nobodxbodon opened this issue Jan 12, 2019 · 5 comments
Open

网络设备工具实用化 #3

nobodxbodon opened this issue Jan 12, 2019 · 5 comments

Comments

@nobodxbodon
Copy link

nobodxbodon commented Jan 12, 2019

继续会上的话题, 不知与实际应用有哪些距离?

@cflw
Copy link
Owner

cflw commented Jan 12, 2019

网络在大部分人看来只是电脑插网线上网、手机连WIFI上网,就没了。很容易想得跟拧水龙头出水一样简单,然而网络实际上是很复杂的。
比如纯理论的内容可以出一系列比字典还厚的书:
o1cn011m9jvmizzjluu0u_ 2455124912 jpg_430x430q90

如果是实际操作,可以出更多的书:
tb21hlzdxzqk1rjszfvxxcb7vxa_ 708307132-0-item_pic jpg_430x430q90
这只是路由方面的内容,其他的还有交换、无线、语音、安全、等。

上面的书籍也只是简单的配置、排错手册,如果要具体问题具体分析,还可以出书:
tb2clegaaowbunjssppxxxpgpxa_ 2145487409-0-item_pic jpg_430x430q90
一个路由协议的排错内容一本书,谁受得了。

如果真的要用到实际生产环境,要看网络规模。如果是网吧环境,一个人就能管好整个网吧网络,不需要用这工具。如果是运营商级别的,我一个人永远也写不完。我目前管着一个大型企业的一堆乱七八糟网,最多写一个只能看看的自动巡检工具,没法写出自动配置、排错的功能。

@nobodxbodon
Copy link
Author

请问有没有一些日常/重复进行的操作, 有进行自动化的价值/可行性?
或者, 基于现有框架, 从常用设备&操作开始实现?

@cflw
Copy link
Owner

cflw commented Jan 13, 2019

用的最多的日常操作就是查看设备信息、检查设备状态,而这些操作已经有网管软件做出来了。现有的网管软件使用简单网络管理协议(SNMP)来控制网络设备,这种协议的缺点就是能读写的内容取决于网络设备的开放程度,不够开放的话只能读到设备型号、接口状态、CPU使用率等基本信息,以及控制接口开关等常见操作。而我的脚本采用仿人工敲命令的方式来控制网络设备,理论上只要拥有最高权限,什么操作都能实现。
要说使用价值,能取代SNMP做一些SNMP做不到的事情就是这个脚本最有价值的地方。

至于常用操作,我已经写了一些实现了。

我打算在月底继续发表文章,内容就写如何获取网络设备的各种信息,以及如何解析字符串分析数据。

@liukun31
Copy link

我是看了你喷forward过来的,现在我急需要用一个工具落地对网络设备批量命令的场景,就像ansible对linux。请问到底选哪个?

@cflw
Copy link
Owner

cflw commented Aug 28, 2022

我是看了你喷forward过来的,现在我急需要用一个工具落地对网络设备批量命令的场景,就像ansible对linux。请问到底选哪个?

看你的需求了。如果想要类似ansible的工具,可以试试nornir。如果想低级一点,手动发送命令交互的那种,可以试试netmiko

如果你想忽略网络设备差异,想要相同的代码作用于所有的网络设备,可以试试我写的网络设备脚本。不过我写的玩意不是很成熟,玩玩还行,大规模刷配置就算了。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants