ifconfig 指令
用途
使用 TCP/IP 來配置或顯示網路的網路介面參數。
語法
ifconfig 介面 [ addressfamily [ 地址 [ destinationaddress ] ] [ 參數... ] ]
ifconfig 介面 [ protocolfamily ] 介面 protocolfamily
ifconfig -a [ -l ] [ -d ] [ -u ] [ protocolfamily ]
ifconfig 介面 [ tcp_low_rto rto | -tcp_low_rto ]
說明
您可以使用 ifconfig 指令,將位址指派給網路介面,以及配置或顯示現行網路介面配置資訊。 ifconfig 指令必須在系統啟動時使用,以定義系統上每個介面的網址。 在系統啟動之後,也可以使用它來重新定義介面位址及其其他作業參數。 網路介面配置保留在執行中系統上,且必須在每次系統重新啟動時重設。 ifconfig 指令會解譯 IFF_多重播送 旗標,並列印其值 (如果已設定的話)。
介面可以使用不同的通訊協定來接收傳輸,每一個通訊協定都可能需要個別的命名方法。 必須指定 addressfamily 參數,這可能會變更其餘參數的解譯。 目前支援的位址系列為 Inet 及 inet6。
對於 DARPA-網際網路系列 inet,位址是主機名稱資料庫中的主機名稱 (即 /etc/hosts 檔案) ,或以網際網路標準帶點十進位表示法來表示的 DARPA-網際網路位址。
雖然任何使用者都可以查詢網路介面的狀態,但只有具有管理權限的使用者才能修改那些介面的配置。
當未提供選用參數時, ifconfig 函數會顯示網路介面的現行配置。
如果指定通訊協定系列, ifconfig 只會報告該通訊協定系列特定的詳細資料。
只有超級使用者可以修改網路介面的配置。
乙太網路、記號環及 FDDI 介面支援無償 ARP。 此支援表示當指派 IP 位址時,主機會傳送其本身位址 (新位址) 的 ARP 要求,以將其位址通知其他系統,以便它們可以立即更新其 ARP 項目。 它也可讓主機偵測重複的 IP 位址。 如果您取得 ARP 要求的回應,則會在 /var/adm/ras/errlog中記載錯誤,您可以針對錯誤 ID AIXIF_ARP_DUP_ADDR使用 errpt 指令 (或使用 SMIT 介面) 來檢視該錯誤。
ib0:flags=e3a0063<UP,BROADCAST,NOTRAILERS,RUNNING,ALLCAST,MULTICAST,GROUPRT>
pmtu 2048 qkey
0x1e qpn 0x48 lid 0x5c hca iba0 port 1 inet 1.2.3.120 netmask 0xffffff00 broadcast
1.2.3.255 inet6
fe80::2:c903:1:1e8d/64 tcp_sendspace 262144 tcp_recvspace 262144 rfc1323 1
介面現在會顯示路徑 mtu (pmtu)、佇列金鑰 (qkey)、佇列配對號碼 (qpn)、本端 ID (lid)、主機通道配接卡 (hca) 及埠號 (port)。 在除錯或執行診斷程式期間,此資訊非常有用。當 分離 指令與 ifconfig 指令一起指定時,會忽略所有其他選項。 指定 分離 指令可防止 ipconfig 指令中的記憶體字元導致任何錯誤。 例如,即使使用不正確的選項, ifconfig en3 garbage
detach
指令也會適當地執行。
旗標
項目 | 說明 |
---|---|
-a | 您可以選擇性地使用 -a 旗標來取代介面名稱。 此旗標指示 ifconfig 顯示系統中所有介面的相關資訊。 |
-d | -d 旗標會顯示已關閉的介面。 此旗標只能與 -a 或 -l 旗標一起使用。 |
-l | 此旗標可用來列出系統上所有可用的介面,沒有其他資訊。 使用此旗標與所有其他旗標及指令互斥,但 -d 及 -u除外。 |
-u | -u 旗標會顯示已啟動的介面。 此旗標只能與 -a 或 -l 旗標一起使用。 |
protocolfamily | 此旗標指定通訊協定,例如 tcp、 烏德普、 tcp6、 udp6、 icmp及 icmp6。 |
參數
項目 | 說明 |
---|---|
位址 | 指定網路介面的網址。 對於 Inet 系列, 地址 參數是採用標準帶點十進位表示法的主機名稱或 IP 位址。 |
addressfamily | 指定要變更的網址系列。 目前支援 Inet 及 inet6 位址系列。 此參數預設為 Inet 位址系列。 |
destinationaddress | 指定點對點鏈結遠端上的通信者位址。 |
介面 | 指定要顯示或變更的網路介面配置值。 當您使用 ifconfig 指令時,必須使用 介面 參數來指定介面。 介面的縮寫包括:
在縮寫之後包含數字以識別特定介面 (例如,tr0). 如果尚未載入 介面 , ifconfig 介面 會載入該介面,且 netstat -in 會列出它。 在處理 介面的狀態查詢時,會載入 (如果尚未載入) 該介面以完成查詢處理。 |
參數 | 容許下列參數值:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
rto | 指定重新傳輸逾時 (毫秒)。 此值的範圍是 0-3000。 需求: 在使用 ifconfig 指令來設定 rto 值之前,您必須先設定 沒有 指令的 timer_wheel_tick 值。 您指定的 rto 值必須等於或乘以所設定的 timer_wheel_tick 值。 |
下列網路選項 (通常稱為「介面特定網路選項 (ISNO)」) 可以根據每個介面來配置:
- rfc1323 [0 | 1]
- 啟用或停用 RFC 1323 ( TCP Extensions for High Performance) 指定的 TCP 加強功能。 值 1 指定使用此介面的所有 TCP 連線將嘗試協議 RFC 加強功能。 值 0 會針對使用此介面的所有連線停用 rfc1323 。 SOCKETS 應用程式可以使用 setsockopt 子常式來置換個別 TCP 連線上的這個 ISNO 及廣域行為。
- -rfc1323
- 不再對此網路使用 ISNO for rfc1323 。 SOCKETS 應用程式可以使用 setsockopt 子常式來置換個別 TCP 連線上的廣域行為。
- tcp_mssdflt 數字
- 設定與遠端網路通訊時使用的預設區段大小上限。 如果您透過此介面進行通訊,則 Socket 會使用 數字 作為預設區段大小上限的值。
- -tcp_mssdflt
- 移除 tcp_mssdflt 選項使用 ISNO。 將改用透過 /usr/sbin/no操作的廣域值。
- tcp_recvspace 大小
- 指定正在接收資料之介面 Socket 的預設 Socket 緩衝區大小。 緩衝區大小會影響 TCP 所使用的視窗大小。 (如需相關資訊,請參閱 沒有 指令。)
- -tcp_recvspace
- 移除 tcp_recvspace 選項使用 ISNO。 改用廣域值。
- tcp_sendspace 大小
- 指定傳送資料之介面 Socket 的預設 Socket 緩衝區大小。 緩衝區大小會影響 TCP 所使用的視窗大小。 (如需相關資訊,請參閱 沒有 指令。)
- -tcp_sendspace
- 移除 tcp_sendspace 選項使用 ISNO。 改用廣域值。
- tcp_nodelay [0 | 1]
- 指定當您傳送資料時,透過此介面使用 TCP 的 Socket 遵循 Nagle 演算法。 根據預設值,TCP 會遵循 Nagle 演算法。
- -tcp_nodelay
- 移除 tcp_nodelay 選項使用 ISNO。
提示: 下次重新啟動系統時,您使用 ifconfig 指令所設定的參數會遺失。 使用 chdev 指令來變更每一個介面的「物件資料管理程式 (ODM)」資料庫,以永久變更參數。 使用 lsattr -E -l [介面] 指令來檢視介面屬性,並使用 chdev -l [介面] -a [attribute=value] 指令來變更屬性。 例如:lsattr -E -l en0 chdev -l en0 -a tcp_sendspace=65536
安全
範例
- 若要查詢序列線路 IP 介面的狀態,請輸入下列指令:
在此範例中,要查詢的介面是sl1. 指令的結果看起來類似下列結果:ifconfig sl1
sl1: flags=51<UP,POINTOPOINT,RUNNING> inet 192.9.201.3 --> 192.9.354.7 netmask ffffff00
- 若要配置本端迴圈介面,請輸入下列指令:
ifconfig lo0 inet 127.0.0.1 up
- 若要將本端記號環介面標示為關閉,請輸入下列指令:
在此範例中,要標示的介面是token0.ifconfig tr0 inet down
附註: 只有具有 root 使用者權限的使用者才能修改網路介面的配置。 - 針對所有連線關閉 rfc1323en5(假設廣域值為 1) ,請輸入下列指令:
ifconfig en0 rfc1323 0
- 若要配置介面清單以使用 vipa ,請輸入下列指令:
ifconfig vi0 vipa_iflist en0,en1,tr0
- 若要移除配置為使用 vipa 的介面,請輸入下列指令:
ifconfig vi0 -vipa_iflist en1,tr0
- 若要找出哪些介面已配置為使用 vipa ,例如 vi0,請輸入下列指令:
ifconfig vi0
- 若要啟用鏈結狀態監視,請輸入下列指令:
如果配接卡ifconfig en0 monitor
ent0
上的鏈結狀態變更為down
,則配接卡會通知介面層,這會導致介面也標示為down
。 - 若要在兩個節點的介面之間配置 GRE 通道,請輸入下列指令:
這會在本端介面ifconfig gre0 tunnel 9.3.149.70 9.3.149.121
9.3.149.70
與遠端介面9.3.149.121
之間建立 GRE 通道。 通道的本端由gre0
識別。 - 如果要在兩個節點的介面之間配置 Vxlan (VXL) 通道,請輸入下列指令:
ifconfig vxl0 tunnel 9.3.149.70 9.3.149.121
此指令會在本端介面 9.3.149.70與遠端介面 9.3.149.121之間建立 Vxlan 通道。 通道的本端由
vxl0
識別。 - 若要在兩個節點的介面之間配置 Geneve (GNE) 通道,請輸入下列指令:
ifconfig gne0 tunnel 9.3.149.70 9.3.149.121
此指令會在本端介面 9.3.149.70與遠端介面 9.3.149.121之間建立 Geneve 通道。 通道的本端由
gne0
識別。 - 若要將 IP 位址與新建立的介面相關聯,請輸入下列指令:
或ifconfig gre0 10.10.10.1
或ifconfig vxl0 10.10.11.1
ifconfig gne0 10.10.12.1
- 若要在 GRE 通道上配置 NAT ,請輸入下列指令:
在此範例中, GRE 封包的原始目的地埠是ifconfig gre0 nat toaddr 127.0.0.1 fromport 80 toport 8080
80
,且指令會將目的地埠變更為8080
,並將目的地位址變更為127.0.0.1
。 - 若要配置一對多端點 (一對多通道) 之間的 GIF 通道,請輸入下列指令:
此指令會在來源 (ifconfig gif0 10.10.10.1 netmask 255.255.255.0 tunnel 2000::4612:6995:6c4a:fa6e 10.10.10.10,2000::4612:6995:6c4a:fa6a 10.10.10.11,2000::4612:6995:6c4a: fa6b 15.15.15.1,2000::4612:6995:6c4a:f777
2000::4612:6995:6c4a:fa6e
) 與下列 3 個目標之間建立一對多通道:2000::4612:6995:6c4a:fa6a
2000::4612:6995:6c4a:fa6b
2000::4612:6995:6c4a:f777
10.10.10.1
IP 位址配置給 GIF 介面。 - 若要在兩個端點之間配置一對一 GIF 通道,請輸入下列指令:
此指令會在來源 (ifconfig gif0 10.10.10.1 netmask 255.255.255.0 tunnel 2000::4612:6995:6c4a:fa6e 10.10.10.10,2000::4612:6995:6c4a:fa66
2000::4612:6995:6c4a:fa6e
) 與目標 (2000::4612:6995:6c4a:fa66
) 之間建立 GIF 通道。 該指令也會將 10.10.10.1 IP 位址配置給 GIF 介面。
檔案
項目 | 說明 |
---|---|
/etc/host | 包含主機名稱資料庫。 |
/etc/networks | 包含網路名稱。 |