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

命令坞
命令坞
命令坞
95
文章
2
评论
2020-05-2012:00:01 评论 270 2325字

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

默认情况下,设置服务器时,将配置主网络接口。

这是每个人所做的构建工作的一部分。

有时出于多种原因,您可能需要配置其他网络接口。

这可以是网络绑定/团队协作或高可用性,也可以是用于应用程序需求或备份的单独接口。

为此,您需要知道您的计算机有多少个接口以及它们的配置速度。

有许多命令可以检查可用的网络接口,但是我们仅使用IP命令。

稍后,我们将使用所有这些工具撰写单独的文章。

Linux中几个检查网卡信息的方法 请点这里

在本教程中,我们将向您显示可用网络接口卡(NIC)信息,例如接口名称,关联的IP地址,MAC地址和接口速度。

什么是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

什么是ethtool命令

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

# ethtool eth0

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
或者
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      <--- 新建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

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

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

test.bash5.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 Mint 20 发布前一窥 最新资讯

Linux Mint 20 发布前一窥

Ubuntu 20.04 LTS 版本发布了。这对 Linux Mint 用户来说也是一个好消息。一个新的 Ubuntu LTS 版本意味着新的 Linux Mint 主要版本也将很快随之出现。 为什...
使用 AppImage 进行 Linux 软件包管理 分享

使用 AppImage 进行 Linux 软件包管理

AppImage 在自足的环境中分发应用, 它适用于任何 Linux 发行版。 管理 Linux 机器(尤其是远程机器)的一个重要分就是管理和安装软件。当本地应用程序出现问题时,或者文件系统上的某些文...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: