1.命令簡介
ifconfig(configure a network interface)命令是系統管理員命令,用于查看和配置網絡接口。
2.命令格式
ifconfig [-v] [-a] [-s] [INTERFACE]
ifconfig [-v] INTERFACE [aftype] OPTIONS | ADDRESS ...
3.選項說明
-a
顯示所有接口的狀態,包括那些關閉的接口
-s
顯示接口簡短狀態列表,類似于 netstat -i
-v
冗余模式,遇到錯誤將報告錯誤信息
INTERFACE
接口的名稱。這通常是一個驅動程序名,后面跟著一個單元號,例如用于第一個以太網接口的 eth0
up
此標志將導致激活接口。如果將地址分配給接口,則會隱式激活接口
down
此標志用于關閉接口的驅動程序
[-]arp
啟用或關閉接口使用 ARP 協議
[-]promisc
啟用或禁用接口的混雜模式。如果選中,網絡上的所有數據包都將由接口接收
[-]allmulti
啟用或禁用所有多播模式。如果選中,則接口將接收網絡上的所有多播數據包
mtu N
設置接口的最大傳輸單元
dstaddr ADDR
為點對點鏈路(如 PPP)設置遠程 IP 地址。關鍵字 dstaddr 現在已經過時了,使用 pointopoint 關鍵字代替
netmask ADDR
設置接口的 IP 網絡掩碼。此值默認為通常的 A、B 或 C 類網絡掩碼(從接口 IP 地址派生),但可以設置為任何值
add ADDR/PREFIX_LEN
向接口添加 IPv6 地址
del ADDR/PREFIX_LEN
從接口中刪除 IPv6 地址
tunnel ::aa.bb.cc.dd
創建一個新的SIT(IPv6-in-IPv4)設備,通過隧道到達給定的目的地
irq ADDR
設置此設備使用的中斷行。并非所有設備都可以動態更改其 IRQ 設置
io_addr ADDR
為該設備設置 I/O 空間中的起始地址
mem_start ADDR
設置此設備使用的共享內存的起始地址。只有少數幾個設備需要這個
media TYPE
設置設備要使用的物理端口或介質類型。典型的類型值有10base2(細以太網)、10baseT(雙絞線 10Mbps 以太網)、AUI(外部收發器)等。特殊的媒體類型可以使用 auto 來告訴驅動程序進行自動感知。注意,并非所有設備都可以更改此設置
[-]broadcast [ADDR]
如果給定地址參數,則為該接口設置協議廣播地址。否則設置(或清除)接口的 IFF_BROADCAST標志
[-]pointopoint [ADDR]
這個關鍵字啟用了接口的點對點模式,這意味著它是兩臺機器之間的直接連接,沒有其他人監聽它。如果給了地址參數,就像過時的 dstaddr 關鍵字一樣,設置另一端的協議地址。否則設置或清除接口的 IFF_POINTOPOINT 標志
hw CLASS ADDR
如果設備驅動程序支持此操作,則設置此接口的物理地址。CLASS 為硬件類型名稱,ADDR 為物理地址。目前支持的硬件類包括 ether (Ethernet)、ax25 (AMPR AX.25)、ARCnet 和 netrom (AMPR NET/ROM)
multicast
在接口上設置多播標志。一般不需要顯示設置,因為驅動程序本身會設置正確的標志
ADDRESS
接口的 IP 地址
txqueuelen LENGTH
設置設備的傳輸隊列的長度。對于具有高延遲(調制解調器鏈路,ISDN)的較慢設備,將其設置為小值是有用的,以防止快速批量傳輸過多地干擾諸如 telnet 之類的交互通信
4.常用示例
(1)查看處于激活狀態的網絡接口信息。
ifconfig
eth0 Link encap:Ethernet HWaddr 00:16:3E:00:1E:51
inet addr:10.160.7.81 Bcast:10.160.15.255 Mask:255.255.240.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:61430830 errors:0 dropped:0 overruns:0 frame:0
TX packets:88534 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3607197869 (3.3 GiB) TX bytes:6115042 (5.8 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:56103 errors:0 dropped:0 overruns:0 frame:0
TX packets:56103 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:5079451 (4.8 MiB) TX bytes:5079451 (4.8 MiB)
eth0 表示第一塊網卡。
第一行 Link encap:Ethernet 表示連接類型為以太網,HWaddr 00:16:3E:00:1E:51 為網卡的物理地址;
第二行 inet addr:10.160.7.81 為網卡的 IPv4 地址,Bcast:10.160.15.255 為廣播地址,Mask:255.255.240.0 為子網掩碼;
第三行 UP(代表網卡開啟狀態),BROADCAST(支持廣播),RUNNING(代表網卡的網線被接上),MULTICAST(支持組播),MTU:1500(最大傳輸單元 1500 字節),Metric:1 表示網卡路由數據包優先級,數值越低,優先級越高;
第四、五行:接收、發送數據包情況統計;
第七行:接收、發送數據字節數統計信息。
lo 是表示主機的回環地址,這個一般是用來測試一個網絡程序,只能在本機上訪問,局域網或外網的主機無法訪問該地址。
(2)查看所有網絡接口信息,不論其是否激活。
(3)查看指定網絡接口信息。
(4)啟動和關閉指定網卡。
# 啟動網卡
ifconfig eth0 up
# 關閉網卡
ifconfig eth0 down
(5)修改 MAC 地址。
ifconfig eth0 down
ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE
ifconfig eth0 up
(6)配置 IP 地址。
# 給 eth0 網卡配置 IP 地址
ifconfig eth0 192.168.1.56
# 給 eth0 網卡配置 IP 地址并加上子網掩碼
ifconfig eth0 192.168.1.56 netmask 255.255.255.0
# 給 eth0 網卡配置 IP 地址,加上子網掩碼,加上廣播地址
ifconfig eth0 192.168.1.56 netmask 255.255.255.0 broadcast 192.168.1.255
(7)啟用和關閉 ARP 協議。
# 開啟網卡 eth0 的 arp 協議
ifconfig eth0 arp
# 關閉網卡 eth0 的 arp 協議
ifconfig eth0 -arp
(8)設置最大傳輸單元。
# 設置能通過的最大數據包大小為 1500 bytes
ifconfig eth0 mtu 1500
以上就是Linux ifconfig 命令的使用的詳細內容,更多關于Linux ifconfig 命令的資料請關注腳本之家其它相關文章!