云网牛站
所在位置:首页 > Linux命令 > 在Linux上检查可用的网络接口,关联的IP地址,MAC地址和接口速度

在Linux上检查可用的网络接口,关联的IP地址,MAC地址和接口速度

2020-04-28 11:01:42作者:吴增景稿源:云网牛站

在本文中,我们将向您显示可用网络接口卡(NIC)信息,例如接口名称,关联的IP地址,MAC地址和接口速度,将使用到IP命令和ethtool命令,包括提供验证网络接口卡信息的Shell脚本。默认情况下,设置服务器时,将配置主网络接口。这是每个人所做的构建工作的一部分。有时出于多种原因,您可能需要配置其他网络接口。这可以是网络绑定/团队合作或高可用性,也可以是用于应用程序需求或备份的单独接口。为此,您需要知道您的计算机有多少个接口以及它们的配置速度。有许多命令可检查可用的网络接口,但是我们仅使用IP命令。

在Linux上检查可用的网络接口,关联的IP地址,MAC地址和接口速度

 

IP命令和ethtool命令简介

1、什么是IP命令

IP命令类似于ifconfig,用于分配静态IP地址,路由和默认网关等:

# ip a

1: lo: mtu 65536 qdisc noqueue state UNKNOWN

  link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

  inet 127.0.0.1/8 scope host lo

  inet6 ::1/128 scope host

    valid_lft forever preferred_lft forever

2: eth0: mtu 1500 qdisc pfifo_fast state UP qlen 1000

  link/ether fa:16:3e:a0:7d:5a brd ff:ff:ff:ff:ff:ff

  inet 192.168.1.101/24 brd 192.168.1.101 scope global eth0

  inet6 fe80::f816:3eff:fea0:7d5a/64 scope link

    valid_lft forever preferred_lft forever

参考:ip命令_Linux ip命令使用详解:网络配置工具

2、什么是ethtool命令

ethtool用于查询或控制网络驱动程序和硬件设置:

# ethtool eth0

参考:ethtool命令_Linux ethtool命令使用详解:显示或修改以太网卡的配置信息

 

1)、如何使用IP命令检查Linux上的可用网络接口

在不带任何参数的情况下运行IP命令时,它会为您提供大量信息,但是,如果仅需要可用的网络接口,请使用以下定制的IP命令:

# ip a |awk '/state UP/{print $2}'

eth0:

eth1:

 

2)、如何使用IP命令在Linux上检查网络接口的IP地址

如果只想查看将哪个IP地址分配给了哪个接口,请使用以下定制的IP命令:

# ip -o a show | cut -d ' ' -f 2,7

or

ip a |grep -i inet | awk '{print $7, $2}'

lo 127.0.0.1/8

192.168.1.101/24

192.168.1.102/24

 

3)、如何使用IP命令在Linux上检查网络接口卡MAC地址

如果只想查看网络接口名称和相应的MAC地址,请使用以下格式,检查特定的网络接口的MAC地址:

# ip link show dev eth0 |awk '/link/{print $2}'

00:00:00:55:43:5c

检查所有网络接口的MAC地址:

# vi /opt/scripts/mac-addresses.sh

#!/bin/sh

ip a |awk '/state UP/{print $2}' | sed 's/://' | while read output;

do

echo $output:

ethtool -P $output

done

运行以下Shell脚本以获取多个网络接口的MAC地址:

# sh /opt/scripts/mac-addresses.sh

eth0:

Permanent address: 00:00:00:55:43:5c

eth1:

Permanent address: 00:00:00:55:43:5d

 

4)、如何使用ethtool命令在Linux上检查网络接口端口速度

如果要在Linux上检查网络接口端口速度,请使用ethtool命令,检查特定网络接口端口的速度:

# ethtool eth0 |grep "Speed:"

Speed: 10000Mb/s

检查所有网络接口的端口速度:

# vi /opt/scripts/port-speed.sh

#!/bin/sh

ip a |awk '/state UP/{print $2}' | sed 's/://' | while read output;

do

echo $output:

ethtool $output |grep "Speed:"

done

运行以下shell脚本以获取多个网络接口的端口速度:

# sh /opt/scripts/port-speed.sh

eth0:

Speed: 10000Mb/s

eth1:

Speed: 10000Mb/s

 

5)、验证网络接口卡信息的Shell脚本

使用此Shell脚本,您可以收集上述所有信息,例如网络接口名称、网络接口的IP地址、网络接口的MAC地址以及网络接口端口的速度:

# vi /opt/scripts/nic-info.sh

#!/bin/sh

hostname

echo "-------------"

for iname in $(ip a |awk '/state UP/{print $2}')

do

echo "$iname"

ip a | grep -A2 $iname | awk '/inet/{print $2}'

ip a | grep -A2 $iname | awk '/link/{print $2}'

ethtool $iname |grep "Speed:"

done

运行以下Shell程序脚本以检查网卡信息:

# sh /opt/scripts/nic-info.sh

vps.2daygeek.com

----------------

eth0:

192.168.1.101/24

00:00:00:55:43:5c

Speed: 10000Mb/s

eth1:

192.168.1.102/24

00:00:00:55:43:5d

Speed: 10000Mb/s

 

相关主题

Linux上使用ifconfig、ip、netstat、nmcli命令查找可用的网络接口

Linux命令子频道
精选文章
热门文章