Linux 系統下 ifconfig 命令詳解

Linux系統下網卡網絡配置詳解

Ifconfig命令使LINUX核心知道軟件回送和網卡這樣一些網絡接口,這樣Linux就可使用它們。 linux

除了上面介紹的這些用法以外,ifconfig命令用來監控和改變網絡接口的狀態,而且還能夠帶上不少命令行參數。下面是一個ifconfig的通用調用語法: 瀏覽器

  #ifconfig interface [[-net -host] address [parameters]] 服務器

  其中interface是網絡接口名:address是分配給指定接口的主機名或IP地址。這裏使用的主機名被解析成它們的對等IP地址,這個參數是必須的。-net和-host參數分別告訴ifconfig將這個地址做爲網絡號或者是主機地址。 網絡

  若是調用ifconfig命令時後面只跟上端口設備名,那麼它將顯示這個端口的配置狀況;若是不帶任何參數,ifconfig命令將顯示至今爲止所配置的接口的全部信息;若是帶上-a選項,那麼還能夠顯示當前不活躍的接口。 socket

  一個檢查以太網接口eth0的ifconfig調用能夠獲得以下的輸出:   工具

  #ifconfig eth0 oop

  eth0 Link encap 10Mbps Ethernet HWaddr 00:00:C0:90:B3:44 測試

  inet addr xxx.xxx.xxx.xxx Bcast xxx.xxx.xxx.255 Mask 255.255.255.0 大數據

  UP BROADCAST RUNNING MTU 1500 Metric 0 網站

  RX packets 3136 errors 217 dropped 7 overrun 26

  TX packets 1752 errors 25 dropped 0 overrun 0

 (注意:其中XXX.XXX.XXX.XXX是IP地址)

  MTU和Metric這兩列顯示了當前eth0接口的最大數據傳送值和接口度量值。接口度量值表示在這個路徑上發送一個分組的成本。目前內核中尚未使用路由,但可能之後會用。RX(接收分組數)和TX(傳送分組數)這兩行顯示出了接收、傳送分組的數目,以及分組出錯數、丟失分組數(一個可能緣由是內存較少)和超限數(一般在接收器接收數據的速度快於核心的處理速度的時候發生)。

  Parameters 表示ifconfig所支持的各類參數,使用這些參數就能夠便方便地監控和改變網絡接口的狀態。

  ifconfig的命令行參數:

  •   up 激活指定的接口
  •   down 關閉指定接口。該參數能夠有效地阻止經過指定接口的IP信息 流,若是想永久地關閉一個接口,咱們還須要從核心路由表中 將該接口的路由信息所有刪除
  •   netmask mask 爲接口設置IP網絡掩碼。掩碼能夠是有前綴0x的32位十六進制數,也能夠是用點分開的4個十進制數。若是不打算將網絡分紅 子網,能夠無論這一選項;若是要使用子網,那麼請記住,網絡 中每個系統必須有相同子網掩碼。
  •   pointpoint 打開指定接口的點對點模式。它告訴核心該接口是對另外一臺機 器的直接鏈接。當包含了一個地址時,這個地址被分配給列表另 一端的機器。若是沒有給出地址,就打開這個指定接口的 POINTPOINT選項。前面加一個負號表示關閉pointpoint選項。
  •   broadcast address 當使用了一個地址時,設置這個接口的廣播地址。若是 沒有給出地址,就打開這個指定接口的IFF_BROADCAST選項。 前面加上一個負號表示關閉這個選項。
  •   metric number 將接口度量值設置爲整數number。度量值表示在這個路徑上發 送一個分組的成本。目前內核中尚未使用路由成本,但未來會。
  •   mtu bytes 將接口在一次傳輸中能夠處理的最大字節數設置爲整數bytes。 目前核心網絡代碼不處理IP分段,所以必定要把MTU(最大數據 傳輸單元) 值設置得足夠大
  •   arp 打開或關閉指定接口上使用的ARP協議。前面加上一個負號用於 關閉該選項。
  •   allmuti 打開指定接口的無區別模式。打開這個模式讓接口把網絡上的 全部信息流都送到核心中,而不只僅是把你的機器的信息發送給 核心。前面加上一個負號表示關閉該選項
  •   hw 爲指定接口設置硬件地址。硬件類型名和次硬件地址對等的 ASCII字符必須跟在這個關鍵字後面。目前支持以太網 (ether)、AMPR、AX.25和PPP traliers 打開以太網幀上的跟蹤器。目前還未在LINUX網絡中實現,一般不須要使用全部的這些配置。

  Ifconfig能夠僅由接口名、網絡掩碼和分配IP地址來設置所需的一切。當ifconfig疏漏了或者有一個複雜的網絡時,只要從新設置大多數參數。

  使用netstat檢查網絡狀態

  接下來介紹一個頗有用的命令——netstat,使用netstat命令能夠監控TCP/IP網絡配置和工做情況。它能夠顯示內核路由表、 活動的網絡狀態以及每一個網絡接口的有用的統計數字。欲得詳情請閱man page。   -a 顯示全部Internet鏈接的有關信息,包括那些正在監聽的信息   -i 顯示全部網絡設備的統計數字

  -c 不斷顯示網絡的更新狀態。這個參數使用netstat每秒一次的輸出網絡狀態列表,直到該程序被中斷


-n 以數字/原始形式顯示遠程地址、本地地址和端口信息,而不是解析主機名和服務器   -o 顯示計數器的終止時間和每一個網絡鏈接的回退(back off)狀況   -r 顯示內核路由表

  -t 只顯示TCP socket信息,包括正在監聽的信息   -u 只顯示UDP socket信息   -v 顯示netstat版本信息   -w 顯示原始(raw)socket信息   -x 顯示UNIX域socket信息  

  ifconfig詳解

ifconfig 是一個用來查看、配置、啓用或禁用網絡接口的工具,這個工具極爲經常使用的。能夠用這個工具來臨時性的配置網卡的IP地址、掩碼、廣播地址、網關等。也能夠把它寫入一個文件中(好比/etc/rc.d/rc.local),這樣系統引導後,會讀取這個文件,爲網卡設置IP地址 

1.ifconfig 查看網絡接口狀態 

ifconfig 若是不接任何參數,就會輸出當前網絡接口的狀況; 

[root@linuxchao ~]# ifconfig

eth0 Link encap:Ethernet HWaddr 00:03:0D:27:86:41

inet addr:192.168.1.86 Bcast:192.168.1.255 Mask:255.255.255.0

inet6 addr: fe80::203:dff:fe27:8641/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:618 errors:0 dropped:0 overruns:0 frame:0

TX packets:676 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:491238 (479.7 KiB) TX bytes:86286 (84.2 KiB)

Interrupt:5 Base address:0x8c00 

lo Link encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

inet6 addr: ::1/128 Scope:Host

UP LOOPBACK RUNNING MTU:16436 Metric:1

RX packets:1692 errors:0 dropped:0 overruns:0 frame:0

TX packets:1692 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:3174550 (3.0 MiB) TX bytes:3174550 (3.0 MiB)

解說:

eth0 表示第一塊網卡, 其中 HWaddr 表示網卡的物理地址,能夠看到目前這個網卡的物理地址(MAC地址)是 00:03:0D:27:86:41;

inet addr 用來表示網卡的IP地址,此網卡的 IP地址是 192.168.1.86,

廣播地址, Bcast:192.168.1.255,掩碼地址Mask:255.255.255.0 

lo 是表示主機的回壞地址,這個通常是用來測試一個網絡程序,但又不想讓局域網或外網的用戶可以查看,只能在此臺主機上運行和查看所用的網絡接口。好比把 HTTPD服務器的指定到回壞地址,在瀏覽器輸入 127.0.0.1 就能看到你所架WEB網站了。但只是您能看獲得,局域網的其它主機或用戶無從知道; 

若是想知道主機全部網絡接口的狀況,請用下面的命令;

[root@linuxchao ~]#ifconfig -a 

若是想查看某個端口,好比查看eth0 的狀態,就能夠用下面的方法;

[root@linuxchao ~]#ifconfig eth0  

2.ifconfig 配置網絡接口 

ifconfig 能夠用來配置網絡接口的IP地址、掩碼、網關、物理地址等;值得一說的是用ifconfig 爲網卡指定IP地址,這只是用來調試網絡用的,並不會更改系統關於網卡的配置文件。若是您想把網絡接口的IP地址固定下來,目前有三個方法:一是經過各個發行和版本專用的工具來修改IP地址;二是直接修改網絡接口的配置文件;三是修改特定的文件,加入ifconfig 指令來指定網卡的IP地址,好比在redhat或Fedora中,把ifconfig 的語名寫入/etc/rc.d/rc.local文件中; 

ifconfig 配置網絡端口的方法: 

ifconfig 工具配置網絡接口的方法是經過指令的參數來達到目的的,咱們只說最經常使用的參數;

ifconfig 網絡端口 IP地址 hw MAC地址 netmask 掩碼地址 broadcast 廣播地址 [up/down] 

* 實例一:

好比咱們用ifconfig 來調試 eth0網卡的地址

[root@linuxchao ~]#ifconfig eth0 down

[root@linuxchao ~]#ifconfig eth0 192.168.1.99 broadcast 192.168.1.255 netmask 255.255.255.0

[root@linuxchao ~]#ifconfig eth0 up

[root@linuxchao ~]#ifconfig eth0

eth0 Link encap:Ethernet HWaddr 00:03:0D:27:86:41

inet addr:192.168.1.99 Bcast:192.168.1.255 Mask:255.255.255.0

inet6 addr: fe80::203:dff:fe27:8641/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:618 errors:0 dropped:0 overruns:0 frame:0

TX packets:676 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:491238 (479.7 KiB) TX bytes:86286 (84.2 KiB)

Interrupt:5 Base address:0x8c00 

註解: 上面的例子咱們解說一下; 

第一行:ifconfig eth0 down 表示若是eth0是激活的,就把它DOWN掉。此命令等同於 ifdown eth0;

第二行:用ifconfig 來配置 eth0的IP地址、廣播地址和網絡掩碼;

第三行:用ifconfig eth0 up 來激活eth0 ; 此命令等同於 ifup eth0

第四行:用 ifconfig eth0 來查看 eth0的狀態; 

固然您也能夠用直接在指令IP地址、網絡掩碼、廣播地址的同時,激活網卡;要加up參數;好比下面的例子;

[root@linuxchao ~]#ifconfig eth0 192.168.1.99 broadcast 192.168.1.255 netmask 255.255.255.0 up 

* 實例二:在這個例子中,咱們要學會設置網絡IP地址的同時,學會設置網卡的物理地址(MAC地址); 

好比咱們設置網卡eth1的IP地址、網絡掩碼、廣播地址,物理地址而且激活它;

[root@linuxchao ~]#ifconfig eth1 192.168.1.252 hw ether 04:64:03:00:12:51 netmask 255.255.255.0 broadcast 192.168.1.255 up 或

[root@linuxchao ~]#ifconfig eth1 hw ether 04:64:03:00:12:51

[root@linuxchao ~]#ifconfig eth1 192.168.1.252 netmask 255.255.255.0 broadcast 192.168.1.255 up 

其中 hw 後面所接的是網絡接口類型, ether表示乙太網, 同時也支持 ax25 、ARCnet、netrom等,詳情請查看 man ifconfig ;  

3.如何用ifconfig 來配置虛擬網絡接口 

有時咱們爲了知足不一樣的須要還須要配置虛擬網絡接口,好比咱們用不一樣的IP地址來架運行多個HTTPD服務器,就要用到虛擬地址;這樣就省卻了同一個IP地址,若是開設兩個的HTTPD服務器時,要指定端口號。 

虛擬網絡接口指的是爲一個網絡接口指定多個IP地址,虛擬接口是這樣的 eth0:0 、 eth0:一、eth0:2 ... .. eth1N。固然您爲eth1 指定多個IP地址,也就是 eth1:0、eth1:一、eth1:2 ... ...以此類推; 


其實用ifconfig 爲一個網卡配置多個IP地址,就用前面咱們所說的ifconfig的用法,這個比較簡單;看下面的例子;

[root@linuxchao ~]#ifconfig eth1:0 192.168.1.251 hw ether 04:64:03:00:12:51 netmask 255.255.255.0 broadcast 192.168.1.255 up 或

[root@linuxchao ~]#ifconfig eth1 hw ether 04:64:03:00:12:51

[root@linuxchao ~]#ifconfig eth1 192.168.1.251 netmask 255.255.255.0 broadcast 192.168.1.255 up 

注意:指定時,要爲每一個虛擬網卡指定不一樣的物理地址; 

在 Redhat/Fedora 或與Redhat/Fedora相似的系統,您能夠把配置網絡IP地址、廣播地址、掩碼地址、物理地址以及激活網絡接口同時放在一個句子中,寫入/etc/rc.d/rc.local中。好比下面的例子;

ifconfig eth1:0 192.168.1.250 hw ether 00:11:00:33:11:44 netmask 255.255.255.0 broadcast 192.168.1.255 up

ifconfig eth1:1 192.168.1.249 hw ether 00:11:00:33:11:55 netmask 255.255.255.0 broadcast 192.168.1.255 up 

解說:上面是爲eth1的網絡接口,設置了兩個虛擬接口;每一個接口都有本身的物理地址、IP地址... ...  

4.如何用ifconfig 來激活和終止網絡接口的鏈接 

激活和終止網絡接口的用 ifconfig 命令,後面接網絡接口,而後加上 down或up參數,就能夠禁止或激活相應的網絡接口了。固然也能夠用專用工具ifup和ifdown 工具;

[root@linuxchao ~]#ifconfig eth0 down

[root@linuxchao ~]#ifconfig eth0 up

[root@linuxchao ~]#ifup eth0

[root@linuxchao ~]#ifdown eth0 

對於激活其它類型的網絡接口也是如此,好比 ppp0,wlan0等;不過只是對指定IP的網卡有效。 

注意:對DHCP自動分配的IP,還得由各個發行版自帶的網絡工具來激活;固然得安裝dhcp客戶端;這個您咱們應該明白; 

好比Redhat/Fedora

[root@linuxchao ~]#/etc/init.d/network start 

Slackware 發行版;

[root@linuxchao ~]#/etc/rc.d/rc.inet1

相關文章
相關標籤/搜索