在 Unix/Linux 系统的日常管理工作中,系统管理员可能会遇到因网络接口带宽耗尽而导致网络服务响应过慢,或者服务中断等问题。这些问题较严重的影响了工作效率。因此,关注系统的网络接口使用情况,建立一个警告系统对网络接口带宽的潜在问题发出警告,确保网络接口带宽没有被塞满是系统管理的一个重要的方面。
在本文中,作者介绍了一些查看网络接口使用情况的工具命令并结合这些工具实现了一个自动化监控网络接口带宽的示范脚本。通过介绍,读者将了解如何监视网络接口带宽并以此为依据做出相应的调整。
Unix/Linux 网络接口管理相关命令介绍
获取网络适配器列表信息
在获知网络接口使用状态之前,你可能需要知道你当前的系统使用的网络适配器,在 Linux 和 AIX 中查看网络设备器的属性使用不同的命令,下面的例子给出了在不同系统上如何查看网络设备器的属性。
Linux 系统启动加载网卡驱动会输出识别到的所有网络适配器信息。dmesg 显示系统开机信息。所以可以利用该命令取得系统网络适配器列表。清单 1 命令输出显示共有 2 块网卡,eth0 与 eth1,其中仅 eth1 被启用。
清单 1. 在 RHEL5.3 系统上查看网络适配器
# dmesg|grep -i eth
IBM eHEA ethernet device driver (Release EHEA_0092-03)
ehea: eth0: Jumbo frames are enabled
ehea: eth0 -> logical port id #1
ehea: eth1: Jumbo frames are enabled
ehea: eth1 -> logical port id #2
ehea: eth1: Physical port up
eth1: no IPv6 routers present
AIX 系统查看系统设备状态使用 lsdev – C 命令。清单 2 为命令在 AIX 6.1 上的输出,AIX 5.3 与之相同。
清单 2. 在 AIX 6.1 系统上查看网络适配器
# lsdev -CHc adapter|grep en
name status location description
ent0 Available 03-08 2-Port 10/100/1000 Base-TX PCI-X Adapter (14108902)
ent1 Available 03-09 2-Port 10/100/1000 Base-TX PCI-X Adapter (14108902)
ent2 Available 04-08 2-Port 10/100/1000 Base-TX PCI-X Adapter (14108902)
ent3 Available 04-09 2-Port 10/100/1000 Base-TX PCI-X Adapter (14108902)
上面的命令给出了系统可用的网络适配器信息,从上面的输出可以看出,系统有四个可用的网络适配器,
如果要获得网络适配器的配置信息,可以使用 lscfg 来查看。
# lscfg -vl ent0
ent0 U787D.001.992059Y-P1-T1 2-Port 10/100/1000 Base-TX PCI-X Adapter (14108902)
2-Port 10/100/1000 Base-TX PCI-X Adapter:
Network Address.............000D60F42314
ROM Level.(alterable).......DV0210
Hardware Location Code......U787D.001.992059Y-P1-T1
可以通过下面命令得到网络接口列表,并可以通过比较 location 获得网络接口与网络适配器的对应关系,
比如接口 en0 对应网络适配器 ent0,因为他们对应相同的 location。
# lsdev -CHc if|grep en
name status location description
en0 Available 03-08 Standard Ethernet Network Interface
en1 Available 03-09 Standard Ethernet Network Interface
en2 Defined 04-08 Standard Ethernet Network Interface
en3 Defined 04-09 Standard Ethernet Network Interface
查看网络接口状态
网络接口状态包括接口是否启用,是否设置 IP 地址、MTU 大小、收发的包数等,查询的命令为 ifconfig, 在不同操作系统其输出格式略有不同。
清单 3 为在 RHEL5.3 上的输出,其显示两个以太网络接口,eth0 未配置 ip 地址,未被启用;eth1 配置了 IP 地址并被启用。
清单 3. 在 RHEL5.3 系统上查看网络接口状态
责任编辑:小草