配置或顯示 TCP/IP 網路的網路接口參數。
語法
ifconfig Interface [ AddressFamily [ Address [ DestinationAddress ] ] [ Parameters... ] ]
ifconfig Interface [ ProtocolFamily ] Interface ProtocolFamily
ifconfig -a [ -l ] [ -d ] [ -u ] [ ProtocolFamily ]
描述
可以使用 ifconfig 命令指定網路接口地址,並配置或顯示當前網路接口配置信息。在系統啟動時必須使用 ifconfig 命令以定義機器上當前每個接口的網路地址。在系統啟動後,也可以用來重新定義接口地址和其他的操作參數。網路接口配置保持在運行的系統上,而且必須在系統重新啟動時復位。如果設定 IFF_MULTICAST 標誌,ifconfig 命令將解釋此標誌並且列印它的值。
接口可以接收不同協定的傳輸,每個協定可能要求獨立的命名模式。必須指定可能更改其餘參數解釋的 AddressFamily 參數。當前支持的地址系列是 inet、inet6 和 ns。
對於 DARPA-Internet 系列,inet,地址或是主機名資料庫(即 /etc/hosts 檔案)中的主機名,或是用網際網路標準點分十進制表示法表示的 DARPA-Internet 地址。
對於 Xerox 網路系統(xns)系列,ns,地址是 net:a.b.c.d.e.f.,其中 net 是指定的網路號碼(以十進制表示),且主機號的每個 6 位元組,a 到 f,用十六進制指定。在 10 兆乙太網接口(使用硬體物理地址)和除了第一接口以外的接口上,可能省略主機號。
雖然任何用戶可以查詢網路接口狀態,但只有有管理許可權的用戶才能修改接口配置。
ifconfig 功能在未提供可選參數時顯示網路接口的當前配置。
如果指定協定系列,ifconfig 僅報告特定於該協定系列的詳細信息。
僅有超級用戶可以修改網路接口的配置。
乙太網、令牌環和 FDDI 接口支持 gratuitous ARP。這意味著當分配 IP 地址時,主機將傳送一個關於其自身地址(新地址)的 ARP 請求去通知其它機器,以便其它機器能立即更新 ARP 項。也讓主機檢測重複的 IP 地址。如果獲取 ARP 回響,錯誤將記錄在 /var/adm/ras/errlog 中,可以使用 Errpt 命令(或使用 SMIT 界面)查看錯誤標識 AIXIF_ARP_DUP_ADDR。
標誌
-a 可以隨意地使用 -a 標誌而不使用接口名稱。此標誌告訴 ifconfig 顯示系統中所有接口信息。
-d -d 標誌顯示關閉的接口。
-l 可以使用此標誌列出系統中所有可用接口,不帶其它額外信息。此標誌的使用和所有其它標誌和命令相互排斥,除 -d 和 -u 以外。
-u -u 標誌顯示啟動的接口。
ProtocolFamily 本標誌指定諸如 tcp、udp、tcp6、udp6、icmp、icmp6 協定。
參數
Address 指定網路接口的網路地址。對於 inet 系列,Address 參數是主機名或標準的點分十進制表示法的網際網路地址。
AddressFamily 指定要更改的網路地址系列。當前支持 inet、inet6 和 ns 地址系列。參數默認為 inet 地址系列。
DestinationAddress 指定點對點鏈路的遠程通訊端地址。
Interface 指定顯示或更改的網路接口配置值。在使用 ifconfig 命令時,必須用 Interface 參數指定接口。接口
縮寫包括
:
at 指 ATM(異步傳輸方式)
en 指標準乙太網(inet,xns)
et 指 IEEE 802.3 乙太網(inet,xns)
tr 指令牌環(inet,xns)
xt 指 X.25(inet)
sl 指串列線路 IP(inet)
lo 指回送(inet)
op 指串列(inet)
vi 指虛擬 IP 地址(inet)
在縮寫後包括一個數字以標識特定的接口(例如,tr0)。
如果 Interface 還沒有裝入,ifconfig Interface 裝入接口,netstat -in 列出它。在處理 Interface 狀態查詢時,裝入接口(如果沒有裝入)以完成查詢處理。
Parameter 允許以下參數值:
alias
建立接口的其它網路地址。當更改網路號碼時,該參數對接受來自於老接口的信息包是有用的。
allcast
設定廣播到網路上所有環的令牌環接口。
-allcast
限制令牌環接口,以使其僅廣播到本地環。
arp
啟用 ifconfig 命令來使用在網路層地址和鏈路層地址之間映射中的地址解析協定。arp 是預設值。
-arp
禁用地址解析協定。
authority
為將來的使用保留。
bridge
為將來的使用保留。
-bridge
為將來的使用保留。
Broadcast address
(僅 inet)指定廣播到網路的所用的地址。預設廣播地址的主機部分全部為 1。
-dad
(僅 inet6)不要重複執行 IPv6 地址檢測。
-debug
禁用依賴於驅動程式的調試代碼。
delete
刪除指定的網路地址。用於別名沒有正確地指定或不再需要別名時。不正確設定 ns 地址會產生指定網路地址的主機部分的副作用。刪除所有 ns 地址,允許重新指定主機部分。
device dev_name
此參數僅適用於 ATM 網路接口。指定與接口有關的設備名。不同於令牌環或乙太網,在 ATM 的情況下,在接口和設備之間沒有一對一的通信。在 ATM 的情況下,每一個設備都可能有多於一個的接口。
detach
從網路接口列表中刪除一個接口。如果拆離最後的接口,將卸裝網路接口驅動程式代碼。為了更改拆離附加接口的接口路由,必須拆離該接口並用 ifconfig 再次添加。
down
標記接口為不活動(down),這禁止系統試圖通過接口傳送信息。如果可能的話,ifconfig 命令也重新設定接口以禁用訊息接受。然而,使用該接口的路由不能自動地禁用。
eui64
(僅 inet6)通過用接口標識替換給定地址的最後 64 位元組計算得出真實 IPv6 地址。
first
將 IPv6 地址放在接口的最前端,以作為解綁定套接字的源。此參數的使用語法是,
ifconfig interface inet6 first address
firstalias
(僅 inet6)同 alias,但在接口地址列表前設定此地址是為了選擇它作為非綁定套接字的源。
group ID
添加組標識到接口的組標識列表。當轉發到達接口的信息包時,列表用於確定要使用的路由。
-group ID
刪除接口組標識列表中的組標識。當轉發到達接口的信息包時,列表用於確定要使用的路由。
hwloop
啟用硬體回送。硬體回送指定接口處理的本地定址信息包應該使用相應適配器傳送。
-hwloop
禁用硬體回送。硬體回送指定接口處理的本地定址信息包應該使用相應適配器傳送。
ipdst
指定網際網路主機,該主機將接收封裝的、綁定到遠程網路的 ns 信息包的 IP 信息包。構造一個表面上的點對點鏈路,指定的地址被視作目的地的 ns 地址和網路。
ipv6dst
用來指定一個 IPv6 節點,該節點將接收通過隧道封裝了 IPv6 或 IPv4 包的 IPv6 包。點到點隧道接口的表面上的目的地可能不是該信息包的真實目的地。然後,在隧道端點,解封裝的信息包可以轉發至它們的最終目的地。
link [0-2]
啟用接口的鏈路層的特定處理。這些是特定接口的三個選項。然而,在實際效果中,通常用於選擇操作的特定方式。這種情況的一個示例是啟用 SLIP 壓縮或選擇乙太網卡連線器類型。請參閱針對特定驅動程式的在線上幫助頁以了解更多信息。
-link [0-2]
禁用指定接口鏈路層的特定處理。
metric Number
將接口的路由度量設定為 Number 變數指定的值。預設值是 0(零)。路由協定(routed 守護進程)使用路由度量。較高的度量值將影響路由使其更少被採用。度量值被計為到目的網路或主機的累加跳數。
mtu Value
設定系統最大的 IP 包大小。Value變數可以是從 60 到 65535 的任意值,但依賴於介質。有關按接口的最大傳輸單元(MTU)值,請參閱 《AIX 5L V5.2 系統管理指南:通信與網路》 中的"Automatic Configuration of Network Interfaces"。
netmask Mask
指定把網路分為子網要保留的地址數目。此參數僅與 inet 地址系列一起使用。
Mask 變數包含本地地址的網路部分和從地址的主機域分得的子網部分。在標準的網際網路點分十進制表示法中,可以 0x 開頭的單一的十六進制數指定掩碼,也可以以列在 /etc/networks 檔案中的名稱或別名開頭。
在 32 位地址中,掩碼包含為網路和子網保留的全 1 位和為特定主機保留的全 0 位。掩碼至少應該包含標準網路部分,並且子網段應該和網路段鄰接。
pvc
此參數僅適用於 ATM 網路接口。它指定本接口將只支持 PVC (永久虛電路)類型的虛擬連線。
pktchain
啟用該標誌以表示該接口能夠處理一起連結在輸出路徑上的多個信息包。
-pktchain
禁用表示該接口能夠處理一起連結在輸出路徑上的多個信息包的標誌。
svc_c server_addr
此參數僅適用於 ATM 網路接口。指定了此接口既支持 SVC(交換虛電路)也支持 PVC 類型的虛擬連線。它進一步指定了該接口將是一個 ARP 客戶機。server_addr 是客戶機所使用的 ARP 伺服器的 20 個位元組 ATM 地址的列表。以 xx.xx....xx 的格式指定地址。第一項看作主 ARP 伺服器,其餘的看作次 ARP 伺服器。20 位元組 ARP 伺服器地址列表以逗號分隔。
site6
設定 IPv6 站點值(預設值是零)。這僅和多站點節點上的站點本地地址一起使用。
svc_s
此參數僅適用於 ATM 網路接口。它指定了本接口既支持 SVC,也支持 PVC 類型的虛擬連線。它進一步指定了該接口將是本邏輯 IP 子網(LIS)的 ARP 伺服器。
security
為將來的使用保留。
snap
為將來的使用保留。
-snap
為將來的使用保留。
tcp_nocksum
禁用驗證到附加到接口的子網的本地流量的 TCP 數據校驗和。繼續 TCP、UDP 和 IP 頭部分的校驗和驗證。繼續對從本接口讀取的或寫到遠程網路的接口的 TCP 數據的進行校驗和驗證。
-tcp_nocksum
禁用驗證到附加到接口的子網的本地流量的 TCP 數據校驗和。這是預設值。
thread
(僅 inet)為接口配置專用內核線程。此參數僅用在有多個 CPU 的 SMP 機器上。此參數促使輸入包被設備驅動程式和輸入解復用器處理後排列到核心執行緒中。此輸入包由執行緒在 IP 和 TCP 或 UDP 中處理,而不是直接在中斷級。設定此參數可以改善在中斷處理期間高速適配器在單個 CPU 上造成瓶頸時的吞吐量,其手段是允許輸入包在運行核心執行緒的其它 CPU 上得以處理(改善的流水線技術)。對於一些工作負載,由於執行緒調度的開銷,此參數增加了每個信息包的開銷,可能在高利用率的 CPU 上產生低的吞吐量。此參數僅適用於 AIX 4.3.3 或以後版本。
-thread
(僅 inet)配置禁用 thread 參數配置的核心執行緒支持。此參數僅適用於 AIX 4.3.3 或以後版本。
up
將接口標記為活動(up)。當設定接口的第一個地址時自動地使用此參數。在 ifconfig down 命令後使用此參數啟用接口。
VIPA_iflist
將本接口添加到應該使用該 vipa 作為外發包源地址的接口列表中。
-vipa_iflist
從配置為使用該 vipa 作為外發包源地址的接口列表中刪除本接口。
在 AIX 4.3.3 和以後的版本中,下列網路選項,通常被稱為 ISNO(接口特定網路選項),能在每個接口的基礎上配置:
rfc1323 [0 | 1]
啟用或禁用由 RFC 1323(高性能的 TCP 擴展)指定的 TCP 增強。 為 1 的值指定所有使用此接口的 TCP 連線將試圖與 RFC 增強協商。為 0 的值禁用所有使用此接口的連線的 rfc1323。套接字應用程式能以 setsockopt 子例程覆蓋此 ISNO 和個別 TCP 連線上的全局行為。
-rfc1323
為該網路刪除 rfc1323 的 ISNO 使用。套接字應用程式能使用 setsockopt 子例程的覆蓋個別 TCP 連線上全局行為。
tcp_mssdflt Number
設定遠程網路通信中預設的最大段大小。如果在這接口上通信,套接字使用 Number 作為預設的最大段的大小值。
-tcp_mssdflt
為 tcp_mssdflt 刪除 ISNO 使用。相反,使用由 /usr/sbin/no 操作的全局值。
tcp_recvspace Size
指定接收數據的接口套接字的預設套接字緩衝區 Size。緩衝區大小影響由 TCP 使用的視窗大小。(更多信息,請參閱 no 命令。)
-tcp_recvspace
刪除 tcp_recvspace 的 ISNO 使用。而使用全局值。
tcp_sendspace Size
指定傳送數據的接口套接字的預設套接字緩衝區 Size。緩衝區大小影響由 TCP 使用的視窗大小。(更多信息,請參閱 no 命令。)
-tcp_sendspace
刪除 tcp_sendspace 的 INSO 使用。而使用全局值。
tcp_nodelay [0 | 1]
指定在接口上使用 TCP 的套接字在傳送數據時遵循 Nagle 算法。預設情況下,TCP 使用 Nagle 算法。
-tcp_nodelay
刪除 tcp_nodelay 選項的 ISNO 使用。
註:ifconfig 設定的 ISNO 參數在下次重新引導時丟失。如果要使 ISNO 永久,請使用 chdev 命令去更改每個接口的 ODM 資料庫。使用 lsdev -E -l [interface] 查看接口屬性及 chdev -l -a [attribute=value] 更改需要的屬性。例如:
lsattr -E -l en0 chdev -l en0 -a tcp_sendspace=65536
示例
以下是在 TCP/IP 和 XNS 網路上使用 ifconfig 命令的示例:
Inet 示例
查詢串列 IP 接口狀態,以下列格式輸入命令:
ifconfig sl1
此例中,查詢的接口是 sl1。命令運行結果與以下相似:
sl1: flags=51 inet 192.9.201.3 --> 192.9.354.7 netmask ffffff00
配置本地回送接口,以下列格式輸入命令:
ifconfig lo0 inet 127.0.0.1 up
把本地令牌環接口標記為當機,以下列格式輸入命令:
ifconfig tr0 inet down
此例中,標記的接口是 token0。
註:僅有 root 用戶許可權的用戶能修改網路接口配置。
為 en5 上的所有連線(假定全局值是 1)關閉 rfc1323,輸入:
ifconfig en0 rfc1323 0
要配置使用 vipa 接口的列表,請輸入:
ifconfig vi0 vipa_iflist en0,en1,tr0
要卸下配置為使用 vipa 的接口,請輸入:
ifconfig vi0 -vipa_iflist en1,tr0
要查找配置使用 vipa 的接口,比如 vi0,請輸入:
ifconfig vi0
XNS 示例
為 XNS 配置標準乙太網類型接口,以下列格式輸入命令:
ifconfig en0 ns 110:02.60.8c.2c.a4.98 up
此例中,ns 是 XNS 地址系列,110 是網路號,02.60.8c.2c.a4.98 是主機號,對於每個獨立接口它是唯一的乙太網地址。當有多個乙太網硬體接口時要指定主機號,因為預設值可能與正確地址不一致。乙太網地址能通過該命令獲得:
ifconfig en0netstat -v
XNS 地址能以以下示例的幾種方式表示:
123#9.89.3c.90.45.56
5-124#123-456-900-455-749
0x45:0x9893c9045569:90
0456:9893c9045569H
第一個例子中 XNS 地址是十進制格式。第二例子中的地址被分成用 -(減號)分隔的三個數字的組。0x 和 H 地址是十六進制格式。最後,最後一個地址前的 0 表示數字是八進制格式。
配置 XNS 的 IEEE 乙太網 802.3 類型接口,以下列格式輸入命令:
ifconfig et0 ns 120:02.60.8c.2c.a4.98 up
即使使用同一個乙太網適配器,en0 和 et0 接口也被認為是獨立的接口。只要有獨立的網路號碼,兩個獨立的網路可以同時定義和使用。支持多個乙太網適配器。
註:主機號應該與硬體適配器的乙太網地址一致。系統可有多個主機號。
配置網際網封裝的 XNS 接口,以下列格式輸入命令:
ifconfig en0 inet 11.0.0.1 upifconfig en0 ns 110:02.60.8c.2c.a4.98 upifconfig en0 ns 130:02.60.8c.34.56.78 ipdst 11.0.0.10
第一個命令啟動具有 inet 地址 11.0.0.1 地址的網際網。第二命令配置 en0 接口,使其成為 ns 地址系列中的 110 網路和 02.60.8c.2c.a4.98 主機。這定義了 XNS 包被封裝在網際網包中時要使用的主機號。最後的命令確定網路 130,主機號 02.60.8c.34.56.78,和網際網目標地址 11.0.0.10。最後的項新建一個網路接口,nsip。關於接口信息,可使用 netstat -i 命令獲得。
以下轉自:http://www.chinaitlab.com/www/special/linux4.asp#4
· ifconfig
設定網路參數使用的指令
說明:
ifconfig 這個東西也很好玩!尤其是你在你的網路卡尚未設定完成的時候,而且確定網路卡已經成功的驅動上來時,可以使用這個 ifconfig 來驅動你的網路卡呦!另外,他的最大用處其實是來自於可以查看你的網路適配卡的參數啦!所以最常使用的就是直接輸入『 ifconfig 』或者是『 ifconfig eth0 』或者是『 ifconfig ppp0 』等等的用法!倒是不建議直接用來修改你的網路卡啦!不過,如果確定要使用 ifconfig 來修改你的網路適配卡,那么可以參考上面的例子來修改呦!同時, ifconfig 也是用來做成『多 IP 』的主要指令呢!好了,我們來談一談上面幾個簡單的項目內容吧!
o eth0 :表示為網路卡的代號;
o lo :表示為『內部循環 IP 』的網路卡代號,請注意,這個虛擬的 interface 一定要存在!千萬不要關掉他!
o HWaddr :是網路卡的硬體地址,就是我們 前面 提到的 MAC 啦!
o inet addr :就是網路卡的 IP;
o Bcast :是廣播( broadcast ) 的地址;
o Mask :就是子網掩碼啦;
o MTU :是 Maximum Trasmission Unit 最大傳輸單元(位元組),即此接口一次所能傳輸的最大封包,也可以參考底下的 MTU 說明。
o RX :網路由激活到目前為止的接收情形;
o TX :網路由激活到目前為止的傳送情形;
o collisions :網路訊號碰撞的情況說明;
o txqueuelen :是傳輸緩衝區長度大小意思;
o Interrupt :是 IRQ 中斷地址;
o base address :是 I/O 地址。這個 IRQ 與 I/O 在網路卡上面是可以設定的!設定的地方可以在 /etc/lilo.conf 裡頭來設定呢!如果你的主機上面有多張網路卡的時候,就用的著他了!可以避開問題呦!
總而言之, ifconfig 也是一個很好用的指令啦!但是有一點必須要清楚的,那就是 ifconfig eth0 up 或者是 ifconfig eth0 down 可以使用 ifup eth0 或 ifdown eth0 來替代!不過有一點必須要先說明的,那就是 ifup 與 ifdown 是以 /etc/sysconfig/network-scripts/ifcfg-ethn 的檔案來進行激活的!所以 ifcfg-eth0 必須存在才能使用 ifup !OK!底下馬上來說說 ifup, ifdown。
· ifup, ifdown
激活與關閉某個網路適配卡
這兩個指令要比 ifconfig 簡 單的多!不過他卻必須要有相關的檔案存在才能激活呦!舉個例子來說,上面我們要激活 eth0 這塊網路卡的時候,那么你的 Linux 系統當中就必須要存在 /etc/sysconfig/network-scripts/ifcfg-eth0 這個網路適配卡的設定檔案才行!同理可證!如果要激活 eth1 ,除了存在 eth1 這個實體網路卡之外,還要存在 ifcfg-eth1 才行!請確實了解呦!因為後面我們提到的一張網卡多 IP 就是用這個觀念來達成的!