Linux中國

如何在 Linux 上檢查網卡信息

默認情況下,在設置伺服器時你會配置主網路介面。這是每個人所做的構建工作的一部分。有時出於各種原因,你可能需要配置額外的網路介面。

這可以是通過網路 綁定 bonding / 協作 teaming 來提供高可用性,也可以是用於應用需求或備份的單獨介面。

為此,你需要知道計算機有多少介面以及它們的速度來配置它們。

有許多命令可檢查可用的網路介面,但是我們僅使用 ip 命令。以後,我們會另外寫一篇文章來全部介紹這些工具。

在本教程中,我們將向你顯示可用網路網卡(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)如何在 Linux 上使用 ip 命令檢查可用的網路介面

在不帶任何參數的情況下運行 ip 命令時,它會提供大量信息,但是,如果僅需要可用的網路介面,請使用以下定製的 ip 命令。

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

eth0:
eth1:

2)如何在 Linux 上使用 ip 命令檢查網路介面的 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)如何在 Linux 上使用 ip 命令檢查網卡的 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

運行該腳本獲取多個網路介面的 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)如何在 Linux 上使用 ethtool 命令檢查網路介面速度

如果要在 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

運行該腳本獲取多個網路介面速度:

# 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

運行該腳本檢查網卡信息:

# 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

via: https://www.2daygeek.com/linux-unix-check-network-interfaces-names-nic-speed-ip-mac-address/

作者:Magesh Maruthamuthu 選題:lujun9972 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    這個站點使用 Akismet 來減少垃圾評論。了解你的評論數據如何被處理

    More in:Linux中國

    Linux中國

    捐贈 Let's Encrypt,共建安全的互聯網

    隨著 Mozilla、蘋果和谷歌對沃通和 StartCom 這兩家 CA 公司處罰落定,很多使用這兩家 CA 所簽發證書的網站紛紛尋求新的證書籤發商。有一個非盈利組織可以為大家提供了免費、可靠和安全的 SSL 證書服務,這就是 Let's Encrypt 項目。現在,它需要您的幫助
    Linux中國

    關於Linux防火牆iptables的面試問答

    Nishita Agarwal是Tecmint的用戶,她將分享關於她剛剛經歷的一家公司(印度的一家私人公司Pune)的面試經驗。在面試中她被問及許多不同的問題,但她是iptables方面的專家,因此她想分享這些關於iptables的問題和相應的答案給那些以後可能會進行相關面試的人。 所有的問題和相應的答案都基於Nishita Agarwal的記憶並經過了重寫。 嗨,朋友!我叫Nishita Agarwal。我已經取得了理學學士學位,我的專業集中在UNIX和它的變種(BSD,Linux)。它們一直深深的吸引著我。我在存儲方面有1年多的經驗。我正在尋求職業上的變化,並將供職於印度的P
    Linux中國

    Lets Encrypt 已被所有主流瀏覽器所信任

    旨在讓每個網站都能使用 HTTPS 加密的非贏利組織 Lets Encrypt 已經得了 IdenTrust的交叉簽名,這意味著其證書現在已經可以被所有主流的瀏覽器所信任。從這個裡程碑事件開始,訪問者訪問使用了Lets Encrypt 證書的網站不再需要特別配置就可以得到 HTTPS 安全保護了。 Lets Encrypt 的兩個中級證書 ...