Ubuntu ifconfig命令:查看/配置網絡接口

在Ubuntu系統中,網絡配置是日常運維和故障排查的基礎。而ifconfig命令(Interface Configuration)正是用於查看和配置網絡接口的經典工具。對於初學者來說,掌握它的基本用法能快速解決大部分網絡相關的問題。

一、什麼是網絡接口?

在計算機網絡中,網絡接口是系統與外部網絡通信的“通道”,比如電腦的有線網卡(通常顯示爲eth0ens33等)、無線網卡(可能顯示爲wlan0),甚至本地迴環接口lo(用於系統內部通信)。每個接口都有唯一的MAC地址(物理地址)和IP地址(邏輯地址)。

二、如何查看網絡接口信息?

ifconfig最常用的功能就是查看網絡接口的狀態和參數。不需要任何參數時,直接執行ifconfig即可顯示當前系統中所有已啓用的網絡接口信息:

ifconfig

輸出解讀(以常見情況爲例):

  • eth0/ens33:這是有線網卡接口(不同Ubuntu版本命名可能不同,ens33是較新的命名方式)。
  • inet 192.168.1.100:接口的IP地址(若爲127.0.0.1則是迴環接口)。
  • netmask 255.255.255.0:子網掩碼,用於劃分IP地址的網絡部分和主機部分。
  • ether 00:11:22:33:44:55:MAC地址(物理地址),全球唯一標識硬件。
  • RX packets/TX packets:接收/發送的數據包數量(用於排查流量問題)。
  • UP:接口當前處於“啓用”狀態;DOWN則表示禁用。

  • lo(迴環接口):這是系統內部通信的接口,IP固定爲127.0.0.1(IPv4)或::1(IPv6)。它僅用於本地程序間通信,無法對外提供服務。

常用參數擴展:

  • 查看所有接口(包括禁用的)
  ifconfig -a

即使某個接口未插網線或未啓用,-a參數也會顯示其名稱和狀態。

  • 查看簡短信息(適合快速排查)
  ifconfig -s

輸出更簡潔,僅顯示接口名、MTU(最大傳輸單元)、RX/TX速率等關鍵指標。

三、如何臨時配置網絡接口?

ifconfig不僅能查看,還能臨時修改接口參數(重啓後會失效,適合快速測試)。

1. 臨時設置IP地址和子網掩碼

語法:ifconfig <接口名> <IP地址> netmask <子網掩碼>
例如,爲有線網卡ens33設置IP爲192.168.1.200,子網掩碼255.255.255.0

sudo ifconfig ens33 192.168.1.200 netmask 255.255.255.0
  • sudo:需管理員權限,否則無法修改系統配置。
  • 若要設置默認網關,需結合route命令(例如route add default gw 192.168.1.1)。

2. 啓用/禁用接口

  • 啓用接口:若接口顯示DOWN,可執行:
  sudo ifconfig ens33 up
  • 禁用接口:臨時斷開連接:
  sudo ifconfig ens33 down

四、注意事項與常見問題

  1. 權限問題:修改網絡配置必須加sudo,否則會提示“權限不足”。
   # 錯誤示例(無權限):
   ifconfig ens33 up
   # 正確示例(有sudo):
   sudo ifconfig ens33 up
  1. 臨時配置 vs 永久配置
    - ifconfig的修改僅對當前會話有效,重啓後失效。若需永久配置IP,Ubuntu 18.04+推薦使用netplan工具(通過YAML配置文件管理),或修改/etc/network/interfaces(較舊方式)。

  2. 找不到ifconfig命令?
    Ubuntu 20.04+默認可能未安裝net-tools包(ifconfig屬於該包),需先安裝:

   sudo apt update && sudo apt install net-tools

五、總結

ifconfig是Ubuntu下快速排查網絡問題的利器,核心功能是查看接口狀態臨時配置IP。對於初學者,先掌握:
- 用ifconfig無參數查看接口信息(重點關注UP狀態和IP地址)。
- 用ifconfig -a查看所有接口(避免遺漏禁用的網卡)。
- 臨時配置IP用ifconfig <接口名> <IP> netmask <子網掩碼>,並配合up/down啓用接口。

雖然Ubuntu現在推薦用netplan管理網絡,但ifconfig仍是排查網絡問題的“快速工具”,掌握它能幫你更快定位本地網絡故障。

提示:若需長期穩定配置網絡,建議學習netplan工具或修改系統配置文件(/etc/netplan/*.yaml),而非依賴ifconfig的臨時修改。

小夜