Linux下利用ifconfig命令查看和操縱網絡接口


為了說明這個問題,首先我們需要解釋一下在Linux系統下“網絡接口”的含義。通俗來講,Linux中的所謂網絡接口就是指本機的網卡,它相當於計算機的一台負責對網絡進行收發數據的外設。

如何在Linux系統下進行查看和操縱網絡接口呢?查看和操縱網絡接口,使用的都是同一個命令——ifconfig。

操縱網絡接口,具體包括啟動,關閉和臨時修改網絡接口參數。

在Linux下,所有的用戶都可以使用ifconfig命令來查看網絡接口,但是只有根用戶才可以使用ifconfig操縱網絡接口。

在使用ifconfig命令之前,必須先安裝Linux網絡包。安裝方法為在shell中鍵入sudo apt install net-tools.

首先,我們來查看一下所有已開啟的網絡接口。(再次提醒,是已開啟的網絡接口,而不是所有的)

只要在shell中直接鍵入ifconfig即可。

 

其中,第一個ens33就表示網絡接口的名字。

一般來講,本機的第一個以太網網絡接口的接口名為eth0.如果本機中有多個接口,則它們的名字會按照數字的順序依次排列命名下去。

而本機的網絡接口是本機的VMWare虛擬機網絡接口,因此名字默認為ens33.

目前本機中只有一個已開啟的網絡接口。其余部分則顯示了該網絡接口的狀態。

第一行的flags=4163<UP,BROADCAST,RUNNING,MULTICAST> MTU 1500 則表明該網絡接口的運行狀態,為:已經啟用,支持廣播和組播,MTU被設置為1500默認值。

第二行表明該網絡接口的IPv4地址,本網絡的子網掩碼及本網絡的廣播地址。

第三行表明該網絡接口的IPv6地址,prefixlen表示該地址的掩碼長度,scopeid 0x20<link>表明,該網絡接口的作用域僅該接口有效。

第四行表示該網絡接口的MAC地址,txqueuelen表示傳輸隊列長度為1000B,並表明該網絡接口運行的環境為以太網。

第五行和第六行分別表示該網絡接口接收的報文個數453,總字節數481.5KB,錯誤報文數,丟棄報文數,溢出報文數,沖突幀數。

第七行和第八行表示的是該網絡接口發送的報文情況,具體含義和第五行與第六行相同。

 

對於下方的lo網絡接口。lo叫做回環接口,它並不是一個真正的網絡接口,它是一個特殊的,模擬出來的網絡接口,每個系統都具有這樣的一個接口,其IP地址永遠為127.0.0.1,子網掩碼為255.0.0.0.

回環接口為系統提供一個單機的網絡環境,一般用於網絡程序的調試。許多程序的運行也需要這個接口。我們一般不會去配置這個接口。

 

可以在ifconfig命令后加上一個具體的網絡接口的名字來查看一個由用戶指定的網絡接口的信息。

 

如果網絡接口因為一些其他原因沒有啟動,那么就無法在ifconfig命令的輸出中查看其狀態了。此時,可以在ifconfig命令后加入-a選項,以查看本機中所有網絡接口的狀態,無論其是否開啟,是否被配置好。

 

使用ifconfig -a命令后可能出現的情況有三種:

一,仍然沒有看到接口,那么說明網卡硬件連接或者驅動出現了問題,導致系統無法識別此網卡了,此時應該檢查硬件或者重新安裝驅動,如果仍然無法識別,則應該考慮更換網卡。

二,看到接口了,但是輸出中沒有Inet address,broadcast,mask等參數出現,那就說明網卡硬件沒有問題,是接口沒有配置好,此時應該查看並編輯相關配置文件,對接口進行配置。

三,看到接口了,並且接口一切正常,那么就是接口未開啟。可以使用ifconfig 接口名 up命令來開啟接口。(up對應down,表示關閉接口)

 

如果要臨時改變網絡接口的配置參數,也可以使用ifconfig命令:

如設置eth0接口的地址為172.168.19.54的命令為:

ifconfig eth0 172.168.19.54 255.255.255.0

因為這個IP地址對應的子網掩碼為24位1+8位0.

再比如,設置該網絡接口的MTU值的命令為:

ifconfig eth0 mtu 你想設置的值

 

注意:

1.ifconfig命令修改網絡接口參數,只能由root用戶完成;

2.ifconfig命令修改網絡接口參數是臨時的,一旦系統重啟,或者網絡重啟,這些修改將會失效;

3.在遠程連接主機時,不要輕易改動網絡參數,否則很有可能導致掉線。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM