如何从多台Linux机器远程获取网卡配置?

时间:2010-09-09 19:44:04

标签: linux fetch network-analysis

我需要一个工具/脚本来从多台Linux机器上获取网卡配置,主要是Red Hat Enterprise 5.我只知道一些基本的bash,我需要一些可以远程运行从CSV中提取服务器名称的东西。它还需要通过Windows机器中的非技术类型快速轻松地运行。我找到了WBEM / CMI / SBLIM,但我宁愿不编写完整的C ++应用程序。任何人都可以指向一个可以实现此目的的工具或脚本吗?

3 个答案:

答案 0 :(得分:0)

您能否详细说明需要提取哪些信息? ifconfig的各种参数提供了很多关于Linux机器网卡配置的信息,所以如果你能这样做,它将非常容易。只需编写一个脚本,将CSV转换为空格分隔的内容,然后您可以执行以下操作:

#!/bin/bash

for host in $HOSTS ; do
    CARDINFO=`ssh $host 'ifconfig'`
    # Do whatever processing you need on CARDINFO here
done

这是伪代码的粗略草图。您还需要在要访问的主机上设置无密码SSH,但这在Red Hat上很容易实现。

答案 1 :(得分:0)

对于Red Hat Enterprise Linux服务器,您可能只需从每个服务器中获取/etc/sysconfig/networking/devices/中的文件副本。您可以使用sftp客户端通过ssh完成该操作。

(这些文件只是易于阅读的文本配置文件,包含网络设备配置)

答案 2 :(得分:0)

如果您想使用WBEM / CIM(如原始问题中所述),并且您更喜欢脚本环境而不是C / C ++ / Java等编程语言,那么PyWBEM和PowerCIM就是两种方式。在Python中做到这一点。如果它需要bash等,那么有命令行客户端(例如来自OpenPegasus项目的cimcli或来自SBLIM项目的wbemcli),你可以解析它们的输出。就个人而言,我更喜欢使用PyWBEM的基于Python的方法。它非常易于使用,连接到CIM服务器是一行,枚举类的CIM实例是另一行。

在您要查询的Linux系统一侧,CIM服务器需要运行(tog-pegasus或sfcb)以及正确的CIM提供程序包(sblim)。这种方法的优点是无论您使用哪种Linux发行版,您的界面都是相同的。解析配置文件通常取决于Linux发行版的类型,我看到它们在各个版本中都有所变化。

CIM的一个主要目的是提供可靠的接口,这些接口在不同类型的环境中是一致的,并且只能随着时间的推移而兼容。

最后但并非最不重要的一点是,使用CIM可以让您无需在要检查的系统上安装任何代理软件即可离开(只要您可以确保CIM服务器正在运行)。

安迪