1. 程式人生 > >linux網路概述

linux網路概述

一、TCP/IP協議棧和OSI協議棧

摘抄和參考博文地址:
參考博文地址1
參考博文地址2
參考博文地址3
參考博文地址4

1.1、OSI協議棧

  OSI是Open System Interconnection的縮寫,意為開放式系統互聯。國際標準化組織(ISO)制定了OSI模型,該模型定義了不同計算機互聯的標準,是設計和描述計算機網路通訊的基本框架。OSI模型把網路通訊的工作分為7層,分別是物理層、資料鏈路層、網路層、傳輸層、會話層、表示層和應用層。
請看下面幾幅圖:
linux網路概述

linux網路概述

linux網路概述

linux網路概述

linux網路概述

linux網路概述

  • 物理層(Physical Layer)
    傳輸資料格式:位元(bit)流;
    主要功能和連線方式:建立、維護和取消物理連線;
    典型裝置:光纖、同軸電纜、雙絞線、網絡卡、中繼器、集線器等;
    說明:在OSI參考模型中,物理層(Physical Layer)是參考模型的最低層,也是OSI模型的第一層。物理層的主要功能是,利用傳輸介質為資料鏈路層提供物理連線,實現位元流的透明傳輸。物理層的作用是實現相鄰計算機節點之間位元流的透明傳送,儘可能遮蔽掉具體傳輸介質和物理裝置的差異。使其上面的資料鏈路層不必考慮網路的具體傳輸介質是什麼。"透明傳送位元流"表示經實際電路傳送後的位元流沒有發生變化,對傳送的位元流來說,這個電路好像是看不見的。

  • 資料鏈路層(Data Link Layer)
    傳輸資料格式: 將位元資訊封裝成資料幀(Frame);
    主要功能和連線方式:在物理層上建立、撤銷、標識邏輯連結和鏈路複用 以及差錯校驗等功能。通過使用接收系統的硬體地址或實體地址來定址;
    典型裝置:網橋、交換機;
    說明:資料鏈路層(Data Link Layer)是OSI模型的第二層,負責建立和管理節點間的鏈路。該層的主要功能是通過各種控制協議,將有差錯的物理通道變為無差錯的、能可靠傳輸資料幀的資料鏈路。
    該層通常又被分為介質訪問控制(MAC)和邏輯鏈路控制(LLC)兩個子層。
    MAC子層的主要任務是解決共享型網路中多使用者對通道競爭的問題,完成網路介質的訪問控制;
    LLC子層的主要任務是建立和維護網路連線,執行差錯校驗、流量控制和鏈路控制。
    資料鏈路層的具體工作是接收來自物理層的位流形式的資料,並封裝成幀,傳送到上一層;同樣,也將來自上層的資料幀,拆裝為位流形式的資料轉發到物理層;並且,還負責處理接收端發回的確認幀的資訊,以便提供可靠的資料傳輸。

  • 網路層(Network Layer)
    傳輸資料格式:分割和重新組合資料包(Packet);
    主要功能和連線方式:基於網路層地址(IP地址)進行不同網路系統間的路徑選擇
    典型裝置:閘道器、路由器;
    說明:網路層(Network Layer)是OSI模型的第三層,它是OSI參考模型中最複雜的一層。其主要任務是通過路由選擇演算法,為報文或分組通過通訊子網選擇最適當的路徑。該層控制資料鏈路層與傳輸層之間的資訊轉發,建立、維持和終止網路的連線。具體地說,資料鏈路層的資料在這一層被轉換為資料包,然後通過路徑選擇、分段組合、順序、進/出路由等控制,將資訊從一個網路裝置傳送到另一個網路裝置。一般地,資料鏈路層是解決同一網路內節點之間的通訊,而網路層主要解決不同子網間的通訊。例如在廣域網之間通訊時,必然會遇到路由(即兩節點間可能有多條路徑)選擇問題。
    在實現網路層功能時,需要解決的主要問題如下:
    定址:資料鏈路層中使用的實體地址(如MAC地址)僅解決網路內部的定址問題。在不同子網之間通訊時,為了識別和找到網路中的裝置,每一子網中的裝置都會被分配一個唯一的地址。由於各子網使用的物理技術可能不同,因此這個地址應當是邏輯地址(如IP地址)。
    交換:規定不同的資訊交換方式。常見的交換技術有:線路交換技術和儲存轉發技術,後者又包括報文交換技術和分組交換技術。
    路由演算法:當源節點和目的節點之間存在多條路徑時,本層可以根據路由演算法,通過網路為資料分組選擇最佳路徑,並將資訊從最合適的路徑由傳送端傳送到接收端。
    連線服務:與資料鏈路層流量控制不同的是,前者控制的是網路相鄰節點間的流量,後者控制的是從源節點到目的節點間的流量。其目的在於防止阻塞,並進行差錯檢測。

  • 傳輸層(Transport Layer)
    傳輸資料格式:資料組織成資料段(Segment);
    主要功能和連線方式: 用一個定址機制來標識一個特定的應用程式(埠號);
    典型裝置:終端裝置(PC、手機、平板等);
    說明:OSI下3層的主要任務是資料通訊,上3層的任務是資料處理。而傳輸層(Transport Layer)是OSI模型的第4層。因此該層是通訊子網和資源子網的介面和橋樑,起到承上啟下的作用。該層的主要任務是:向用戶提供可靠的端到端的差錯和流量控制,保證報文的正確傳輸。傳輸層的作用是向高層遮蔽下層資料通訊的細節,即向用戶透明地傳送報文。該層常見的協議:TCP/IP中的TCP協議、Novell網路中的SPX協議和微軟的NetBIOS/NetBEUI協議。
    傳輸層提供會話層和網路層之間的傳輸服務,這種服務從會話層獲得資料,並在必要時,對資料進行分割。然後,傳輸層將資料傳遞到網路層,並確保資料能正確無誤地傳送到網路層。因此,傳輸層負責提供兩節點之間資料的可靠傳送,當兩節點的聯絡確定之後,傳輸層則負責監督工作。綜上,傳輸層的主要功能詳解:
    傳輸連線管理:提供建立、維護和拆除傳輸連線的功能。傳輸層在網路層的基礎上為高層提供“面向連線”和“面向無接連”的兩種服務。
    處理傳輸差錯:提供可靠的“面向連線”和不太可靠的“面向無連線”的資料傳輸服務、差錯控制和流量控制。在提供“面向連線”服務時,通過這一層傳輸的資料將由目標裝置確認,如果在指定的時間內未收到確認資訊,資料將被重發。
    監控服務質量。

  • 會話層(Session Layer)
    傳輸資料格式:資料DTPU;
    主要功能和連線方式:會話層連線到傳輸層的對映;會話連線的流量控制;資料傳輸;會話連線恢復與釋放;會話連線管理、差錯控制;
    典型裝置:終端裝置(PC、手機、平板等);
    說明:會話層(Session Layer)是OSI模型的第5層,是使用者應用程式和網路之間的介面,主要任務是:向兩個實體的表示層提供建立和使用連線的方法。將不同實體之間的表示層的連線稱為會話。因此會話層的任務就是組織和協調兩個會話程序之間的通訊,並對資料交換進行管理。使用者可以按照半雙工、單工和全雙工的方式建立會話。當建立會話時,使用者必須提供他們想要連線的遠端地址。而這些地址與MAC(介質訪問控制子層)地址或網路層的邏輯地址不同,它們是為使用者專門設計的,更便於使用者記憶。域名(DN)就是一種網路上使用的遠端地址。會話層的具體功能詳解:
    會話管理:允許使用者在兩個實體裝置之間建立、維持和終止會話,並支援它們之間的資料交換。例如提供單方向會話或雙向同時會話,並管理會話中的傳送順序,以及會話所佔用時間的長短。
    會話流量控制:提供會話流量控制和交叉會話功能。
    定址:使用遠端地址建立會話連線。l
    出錯控制:從邏輯上講會話層主要負責資料交換的建立、保持和終止,但實際的工作卻是接收來自傳輸層的資料,並負責糾正錯誤。會話控制和遠端過程呼叫均屬於這一層的功能。但應注意,此層檢查的錯誤不是通訊介質的錯誤,而是磁碟空間、印表機缺紙等型別的高階錯誤。

  • 表示層(Presentation Layer)
    傳輸資料格式:資料PTPU;
    主要功能和連線方式:資料表示、資料安全、資料壓縮;
    典型裝置:終端裝置(PC、手機、平板等);
    說明:表示層(Presentation Layer)是OSI模型的第六層,它對來自應用層的命令和資料進行解釋,對各種語法賦予相應的含義,並按照一定的格式傳送給會話層。其主要功能是“處理使用者資訊的表示問題,如編碼、資料格式轉換和加密解密”等。表示層的具體功能如下:
    資料格式處理:協商和建立資料交換的格式,解決各應用程式之間在資料格式表示上的差異。
    資料的編碼:處理字符集和數字的轉換。例如由於使用者程式中的資料型別(整型或實型、有符號或無符號等)、使用者標識等都可以有不同的表示方式,因此,在裝置之間需要具有在不同字符集或格式之間轉換的功能。
    壓縮和解壓縮:為了減少資料的傳輸量,這一層還負責資料的壓縮與恢復。
    資料的加密和解密:可以提高網路的安全性。

  • 應用層(Application Layer)
    傳輸資料格式:資料ATPU;
    主要功能和連線方式:網路服務與使用者應用程式間的一個介面;
    典型裝置:終端裝置(PC、手機、平板等);
    說明:應用層(Application Layer)是OSI參考模型的最高層,它是計算機使用者,以及各種應用程式和網路之間的介面,其功能是直接向用戶提供服務,完成使用者希望在網路上完成的各種工作。它在其他6層工作的基礎上,負責完成網路中應用程式與網路作業系統之間的聯絡,建立與結束使用者之間的聯絡,並完成網路使用者提出的各種網路服務及應用所需的監督、管理和服務等各種協議。此外,該層還負責協調各個應用程式間的工作。
    應用層為使用者提供的服務和協議有:檔案服務、目錄服務、檔案傳輸服務(FTP)、遠端登入服務(Telnet)、電子郵件服務(E-mail)、列印服務、安全服務、網路管理服務、資料庫服務等。上述的各種網路服務由該層的不同應用協議和程式完成,不同的網路作業系統之間在功能、介面、實現技術、對硬體的支援、安全可靠性以及具有的各種應用程式介面等各個方面的差異是很大的。應用層的主要功能如下:
    使用者介面:應用層是使用者與網路,以及應用程式與網路間的直接介面,使得使用者能夠與網路進行互動式聯絡。
    實現各種服務:該層具有的各種應用程式可以完成和實現使用者請求的各種服務。

總結:
OSI七層模型太過於理想化,現實的生產環境下比較少用上,大部分實際應用都是按照TCP/IP協議棧來設計實現。
在7層模型中,每一層都提供一個特殊的網路功能。從網路功能的角度觀察:下面4層(物理層、資料鏈路層、網路層和傳輸層)主要提供資料傳輸和交換功能,即以節點到節點之間的通訊為主;第4層作為上下兩部分的橋樑,是整個網路體系結構中最關鍵的部分;而上3層(會話層、表示層和應用層)則以提供使用者與應用程式之間的資訊和資料處理功能為主。簡言之,下4層主要完成通訊子網的功能,上3層主要完成資源子網的功能。

1.2、TCP/IP協議棧

TCP/IP協議棧,有些人理解為5層,有些人理解為4層。其實這兩種理解都不為錯,本身TCP/IP協議分層介面就不太規範,是比較實用的一種規範。請看對應圖解:

linux網路概述

linux網路概述

linux網路概述

linux網路概述

具體對應層的實現功能可以參照OSI的模型。簡單來說TCP/IP就分為4層,第一層最底層是物理層,第二層是網路層,第三層是傳輸層,第四層是應用層。就其通訊細節來講,物理層實現底層的細節控制,網路層主要用來標識網路主機,裝置網路地址(邏輯地址,ipv4,ipv6),一個ip可以用來標識一個主機。而傳輸層,主要是用來做傳輸控制,比如可靠傳輸,高效傳輸,重點是可以標識程序地址(識別埠),這樣一來結合網路層的ip和應用層的埠就可以用來標識一個特定主機特定服務的程序地址,而應用層就是具體的應用協議的實現。

1.3、5類ipv4地址

IP地址是一種邏輯地址,它與MAC地址有所不同。它的構成:
IP(Internet protocol)地址:網路號+主機號
Ipv4由32位組成,而且每8位為一段,構成4段8位,每段通常用對應二進位制的十進位制數字表示,所以通常ipv4地址的格式也叫"點分十進位制格式"。如果8位二進位制,其取值範圍為00000000~11111111,其對應十進位制表示為0~255.
所以電分十進位制範圍為:
0.0.0.0~255.255.255.255

不過為了規範使用地址,對地址應用做來分類,分為5類,分別是A類,B類,C類,D類,E類。
A類:
第一段為網路號,後三段為主機號
網路號:
0 000 0000 - 0 111 1111:1-127
網路數量:126,127
每個網路中的主機數量:2^24-2
預設子網掩碼:255.0.0.0,/8
用於與IP地址按位進行“與”運算,從而取出其網路地址;
1.3.2.1/255.0.0.0 = 1.0.0.0
1.3.2.1/255.255.0.0= 1.3.0.0
私網地址:10.0.0.0/255.0.0.0
B類:
前兩段為網路號,後兩段為主機號
網路號:
10 00 0000 - 10 11 1111:128-191
網路數:2^14
每個網路中的主機數量:2^16-2
預設子網掩碼:255.255.0.0,/16
私網地址:172.16.0.0-172.31.0.0
C類:
前三段為網路號,最後一段為主機號
網路號:
110 0 0000 - 110 1 1111:192-223
網路數:2^21
每個網路中的主機數量:2^8-2
預設子網掩碼:255.255.255.0, /24
D類:組播
1110 0000 - 1110 1111:224-239
E類:科研
240-255

示例:使用until和while分別實現192.168.56.0/24 網段內,地址是否能夠ping通,若ping通則輸出"success!",若ping不通則輸出"fail!"

[[email protected] ~]# cat while.sh 
#! /bin/bash
string=192.168.56
i=1
while [ $i -le 255 ]
do
    if ping -b -c 2 ${string}.${i} &>/dev/null;then
        echo "[${string}.${i}]: success!"
    else
        echo "[${string}.${i}]: fail!"
    fi
    let i++
done
[[email protected] ~]# cat until.sh 
#! /bin/bash
string=192.168.56
i=1
until [ $i -gt 255 ]
do
    if ping -b -c 2 ${string}.${i} &>/dev/null;then
        echo "[${string}.${i}]: success!"
    else
        echo "[${string}.${i}]: fail!"
    fi
    let i++
done

[[email protected] ~]# sh while.sh 
[192.168.56.1]: success!
[192.168.56.2]: success!
[192.168.56.3]: fail!
[192.168.56.4]: fail!
[192.168.56.5]: fail!
[192.168.56.6]: fail!
[192.168.56.7]: fail!
[192.168.56.8]: fail!
[192.168.56.9]: fail!
[192.168.56.10]: fail!
[192.168.56.11]: fail!
[192.168.56.12]: fail!
[192.168.56.13]: fail!
[192.168.56.14]: fail!
[192.168.56.15]: fail!
[192.168.56.16]: fail!
[192.168.56.17]: fail!
[192.168.56.18]: fail!
[192.168.56.19]: fail!
......

[[email protected] ~]# sh until.sh 
[192.168.56.1]: success!
[192.168.56.2]: success!
[192.168.56.3]: fail!
[192.168.56.4]: fail!
[192.168.56.5]: fail!
[192.168.56.6]: fail!
[192.168.56.7]: fail!
[192.168.56.8]: fail!
[192.168.56.9]: fail!
[192.168.56.10]: fail!
[192.168.56.11]: fail!
[192.168.56.12]: fail!
[192.168.56.13]: fail!
[192.168.56.14]: fail!
[192.168.56.15]: fail!
[192.168.56.16]: fail!
[192.168.56.17]: fail!
[192.168.56.18]: fail!
[192.168.56.19]: fail!
[192.168.56.20]: fail!
......

二、ifcfg家族和iproute家族

2.1、網路介面命名方式

  • 傳統命名:
    (1) 乙太網:ethX, [0,oo),例如eth0, eth1, ...
    (2) PPP網路:pppX, [0,...], 例如,ppp0, ppp1, ...

  • 可預測命名方案(CentOS):
    支援多種不同的命名機制:Fireware, 拓撲結構
    (1) 如果Firmware或BIOS為主機板上整合的裝置提供的索引資訊可用,則根據此索引進行命名,如eno1, eno2, ...
    (2) 如果Firmware或BIOS為PCI-E擴充套件槽所提供的索引資訊可用,且可預測,則根據此索引進行命名,如ens1, ens2, ...
    (3) 如果硬體介面的物理位置資訊可用,則根據此資訊命名,如enp2s0, ...
    (4) 如果使用者顯式定義,也可根據MAC地址命名,例如enx122161ab2e10, ...
    上述均不可用,則仍使用傳統方式命名;

  • 命名格式的組成:
    en:ethernet
    wl:wlan
    ww:wwan

  • 名稱型別:
    o<index>:整合裝置的裝置索引號;
    s<slot>:擴充套件槽的索引號;
    x<MAC>:基於MAC地址的命名;
    p<bus>s<slot>:基於匯流排及槽的拓撲結構進行命名;

2.2、ifcfg家族常用工具

ifcfg家族的工具來自於軟體包net-tools,預設最小化安裝CentOS 6.x系列有安裝,而CentOS 7.x最小化安裝沒有安裝,主要原因是ifcfg家族的工具已經要被替換了,不過因為歷史原因,這些工具廣為人知,所以目前在安裝盤的base倉庫還有提供。
(1) ifconfig工具

ifconfig - configure a network interface
ifconfig是配置網路介面的一個工具;
用法:
ifconfig [interface]
ifconfig interface [aftype] options | address ...
    ifconfig  interface  IP/MASK  [up|down]
    ifconfig  interface  IP  netmask  NETMASK 

ifconfig -a:檢視所有網絡卡資訊;
ifconfig interface IP/MASK [up|down]
ifconfig interface IP netmask NETMASK
上面這兩種形式可以設定指定介面的ip地址以及子網掩碼資訊。

為了演示效果,我以CentOS 6.x為例,安裝了雙網絡卡:
a. 檢視所有介面資訊

[[email protected] ~]# ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:0C:29:DC:BA:F3  
          inet addr:192.168.56.66  Bcast:192.168.56.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fedc:baf3/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6302 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3633 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:7691888 (7.3 MiB)  TX bytes:270052 (263.7 KiB)

eth1      Link encap:Ethernet  HWaddr 00:0C:29:DC:BA:FD  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

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:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

b. 檢視指定網絡卡資訊

[[email protected] ~]# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:0C:29:DC:BA:F3  
          inet addr:192.168.56.66  Bcast:192.168.56.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fedc:baf3/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6335 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3663 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:7694940 (7.3 MiB)  TX bytes:274298 (267.8 KiB)

[[email protected] ~]# ifconfig eth1
eth1      Link encap:Ethernet  HWaddr 00:0C:29:DC:BA:FD  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

[[email protected] ~]# ifconfig lo
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:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

c. 為eth1設定ip地址(ipv4:192.168.56.110,子網掩碼為:255.255.255.0)

[[email protected] ~]# ifconfig eth1 192.168.56.110/24 up
[[email protected] ~]# ifconfig 
eth0      Link encap:Ethernet  HWaddr 00:0C:29:DC:BA:F3  
          inet addr:192.168.56.66  Bcast:192.168.56.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fedc:baf3/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6433 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3742 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:7703838 (7.3 MiB)  TX bytes:283604 (276.9 KiB)

eth1      Link encap:Ethernet  HWaddr 00:0C:29:DC:BA:FD  
          inet addr:192.168.56.110  Bcast:192.168.56.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fedc:bafd/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 b)  TX bytes:238 (238.0 b)

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:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

說明,這裡採用的是第一種設定立即(非永久生效,立即寫入記憶體)生效的ip地址格式,其中的子網掩碼採用的是
短格式寫法,上面的設定形式也可以換成:
ifconfig eth1 192.168.56.110 netmask 255.255.255.0 up

第一種格式:ifconfig eth1 192.168.56.110/24 up
第二種格式:ifconfig eth1 192.168.56.110 netmask 255.255.255.0 up

(2) netstat工具

netstat  - Print network connections, routing tables, interface statistics, masquerade connections, 
and multicast memberships
netstat - 列印網路連線、路由表、網絡卡介面統計資訊、偽裝連線以及多波成員資訊。

顯示路由表:
-r:顯示核心路由表;
-n:以數字格式顯示;

顯示網路連線:
netstat  [--tcp|-t]  [--udp|-u]  [--udplite|-U]  [--sctp|-S]  [--raw|-w]  [--listening|-l]  [--all|-a]  [--numeric|-n]   
[--extend|-e[--extend|-e]]  [--program|-p]

-t, --tcp:顯示TCP協議的相關連線,連線均有其狀態;FSM(Finate State Machine);
-u, --udp:顯示UDP相關的連線;
-w, --raw:顯示raw socket(裸套接字,原始套接字)相關的連線;
-l, --listening:處於監聽狀態的連線;
-a, --all:處於所有狀態的連線;
-n, --numeric:以數字格式顯示IP和port;
-e, --extend:擴充套件格式;
-p, --program:顯示相關的程序和PID;
-x, --unix:顯示Unix 套接字的資訊;

傳輸層協議:
tcp:面向連線的協議;通訊開始之前,要建立一個虛鏈路;通訊完成後還要拆除連線;
dp:無連線的協議;直接傳送資料報文;

顯示介面的統計資訊:
netstat    {--interfaces|-I|-i}    [iface]   [--all|-a]   [--extend|-e]   [--verbose|-v]   [--program|-p]  [--numeric|-n]

所有介面:
netstat  -i
指定介面:
netstat  -I<IFace>

a.顯示路由表資訊

[[email protected] ~]# netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.56.0    *               255.255.255.0   U         0 0          0 eth0
192.168.56.0    *               255.255.255.0   U         0 0          0 eth1
link-local      *               255.255.0.0     U         0 0          0 eth0
default         192.168.56.2    0.0.0.0         UG        0 0          0 eth0
[[email protected] ~]# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.56.0    0.0.0.0         255.255.255.0   U         0 0          0 eth0
192.168.56.0    0.0.0.0         255.255.255.0   U         0 0          0 eth1
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth0
0.0.0.0         192.168.56.2    0.0.0.0         UG        0 0          0 eth0

b.

netstat -l  ,顯示所有處於監聽狀態的資訊(包括tcp,udp以及unix socket);
netstat -lt ,顯示所有處於監聽狀態的tcp的資訊;
netstat -lu,顯示所有處於監聽狀態的udp的資訊;
netstat -lx,顯示所有處於監聽狀態的unix socket的資訊;

[[email protected] ~]# netstat -l
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State      
tcp        0      0 *:ssh                       *:*                         LISTEN      
tcp        0      0 localhost:smtp              *:*                         LISTEN      
tcp        0      0 *:ssh                       *:*                         LISTEN      
tcp        0      0 localhost:smtp              *:*                         LISTEN      
Active UNIX domain sockets (only servers)
Proto RefCnt Flags       Type       State         I-Node Path
unix  2      [ ACC ]     STREAM     LISTENING     13140  @/var/run/hald/dbus-MnA9Lutd4Z
unix  2      [ ACC ]     STREAM     LISTENING     13803  private/error
unix  2      [ ACC ]     STREAM     LISTENING     13807  private/retry
unix  2      [ ACC ]     STREAM     LISTENING     13811  private/discard
unix  2      [ ACC ]     STREAM     LISTENING     13815  private/local
unix  2      [ ACC ]     STREAM     LISTENING     13819  private/virtual
unix  2      [ ACC ]     STREAM     LISTENING     13823  private/lmtp
unix  2      [ ACC ]     STREAM     LISTENING     9774   @/com/ubuntu/upstart
unix  2      [ ACC ]     STREAM     LISTENING     13133  @/var/run/hald/dbus-U4talIwYx6
unix  2      [ ACC ]     STREAM     LISTENING     13827  private/anvil
unix  2      [ ACC ]     STREAM     LISTENING     13831  private/scache
unix  2      [ ACC ]     STREAM     LISTENING     13748  public/cleanup
unix  2      [ ACC ]     STREAM     LISTENING     13755  private/tlsmgr
unix  2      [ ACC ]     STREAM     LISTENING     13759  private/rewrite
unix  2      [ ACC ]     STREAM     LISTENING     13763  private/bounce
unix  2      [ ACC ]     STREAM     LISTENING     13767  private/defer
unix  2      [ ACC ]     STREAM     LISTENING     13771  private/trace
unix  2      [ ACC ]     STREAM     LISTENING     13775  private/verify
unix  2      [ ACC ]     STREAM     LISTENING     13779  public/flush
unix  2      [ ACC ]     STREAM     LISTENING     13783  private/proxymap
unix  2      [ ACC ]     STREAM     LISTENING     13025  /var/run/dbus/system_bus_socket
unix  2      [ ACC ]     STREAM     LISTENING     13787  private/proxywrite
unix  2      [ ACC ]     STREAM     LISTENING     13791  private/smtp
unix  2      [ ACC ]     STREAM     LISTENING     13795  private/relay
unix  2      [ ACC ]     STREAM     LISTENING     13799  public/showq

[[email protected] ~]# netstat -lt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State      
tcp        0      0 *:ssh                       *:*                         LISTEN      
tcp        0      0 localhost:smtp              *:*                         LISTEN      
tcp        0      0 *:ssh                       *:*                         LISTEN      
tcp        0      0 localhost:smtp              *:*                         LISTEN    

[[email protected] ~]# netstat -lu
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State  
[[email protected] ~]#

c.顯示統計資訊

netstat -s
[[email protected] ~]# netstat -s
Ip:
    7783 total packets received
    0 forwarded
    0 incoming packets discarded
    7763 incoming packets delivered
    4922 requests sent out
Icmp:
    0 ICMP messages received
    0 input ICMP message failed.
    ICMP input histogram:
    8 ICMP messages sent
    0 ICMP messages failed
    ICMP output histogram:
        destination unreachable: 8
IcmpMsg:
        OutType3: 8
Tcp:
    27 active connections openings
    2 passive connection openings
    0 failed connection attempts
    0 connection resets received
    2 connections established
    7723 segments received
    4862 segments send out
    9 segments retransmited
    0 bad segments received.
    1 resets sent
Udp:
    40 packets received
    0 packets to unknown port received.
    0 packet receive errors
    43 packets sent
UdpLite:
TcpExt:
    23 TCP sockets finished time wait in fast timer
    37 delayed acks sent
    2 packets directly queued to recvmsg prequeue.
    6528 packets header predicted
    277 acknowledgments not containing data received
    931 predicted acknowledgments
    0 TCP data loss events
    2 other TCP timeouts
    1 DSACKs sent for old packets
    1 connections aborted due to timeout
IpExt:
    InBcastPkts: 7
    InOctets: 7727174
    OutOctets: 457355
    InBcastOctets: 1648     

d.顯示所有狀態的資訊

netstat -a ,顯示所有協議的所有狀態的資訊;
netstat -at ,顯示tcp協議的所有狀態的資訊;
netstat -au,顯示udp協議的所有狀態的資訊;
netstat -an,顯示所有協議的所有狀態的資訊,其中主機名和服務名以ip和埠來表示;
netstat -atn,顯示tcp協議的所有狀態的資訊,其中主機名和服務名以ip和埠來表示;
netstat -aun,顯示udp協議的所有狀態的資訊,其中主機名和服務名以ip和埠來表示;

[[email protected] ~]# netstat -atn
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State      
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      
tcp        0      0 192.168.56.66:22            192.168.56.1:6739           ESTABLISHED 
tcp        0     52 192.168.56.66:22            192.168.56.1:6738           ESTABLISHED 
tcp        0      0 :::22                       :::*                        LISTEN      
tcp        0      0 ::1:25                      :::*                        LISTEN      
[[email protected] ~]# netstat -at
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State      
tcp        0      0 *:ssh                       *:*                         LISTEN      
tcp        0      0 localhost:smtp              *:*                         LISTEN      
tcp        0      0 192.168.56.66:ssh           192.168.56.1:6739           ESTABLISHED 
tcp        0     52 192.168.56.66:ssh           192.168.56.1:6738           ESTABLISHED 
tcp        0      0 *:ssh                       *:*                         LISTEN      
tcp        0      0 localhost:smtp              *:*                         LISTEN    

e.以數字格式顯示tcp和udp協議的所有監聽狀態和所有狀態的資訊(要帶上具體程式名)

netstat -nltup,以數字格式顯示tcp和udp協議的所有監聽狀態的資訊,並附上程式名;
netstat -natup,以數字格式顯示tcp和udp協議的所有狀態的資訊,並附上程式名;

[[email protected] ~]# netstat -nltup
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      1476/sshd           
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      1555/master         
tcp        0      0 :::22                       :::*                        LISTEN      1476/sshd           
tcp        0      0 ::1:25                      :::*                        LISTEN      1555/master       

[[email protected] ~]# netstat -natup
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      1476/sshd           
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      1555/master         
tcp        0      0 192.168.56.66:22            192.168.56.1:6739           ESTABLISHED 1706/sshd           
tcp        0     52 192.168.56.66:22            192.168.56.1:6738           ESTABLISHED 1688/sshd           
tcp        0      0 :::22                       :::*                        LISTEN      1476/sshd           
tcp        0      0 ::1:25                      :::*                        LISTEN      1555/master  

f.擴充套件資訊的顯示
[[email protected] ~]# netstat -natupe
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       User       Inode      PID/Program name   
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      0          13529      1476/sshd           
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      0          13741      1555/master         
tcp        0      0 192.168.56.66:22            192.168.56.1:6739           ESTABLISHED 0          14530      1706/sshd           
tcp        0      0 192.168.56.66:22            192.168.56.1:6738           ESTABLISHED 0          14412      1688/sshd           
tcp        0      0 :::22                       :::*                        LISTEN      0          13532      1476/sshd           
tcp        0      0 ::1:25                      :::*                        LISTEN      0          13742      1555/master         
[[email protected] ~]# netstat -natup
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      1476/sshd           
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      1555/master         
tcp        0      0 192.168.56.66:22            192.168.56.1:6739           ESTABLISHED 1706/sshd           
tcp        0     52 192.168.56.66:22            192.168.56.1:6738           ESTABLISHED 1688/sshd           
tcp        0      0 :::22                       :::*                        LISTEN      1476/sshd           
tcp        0      0 ::1:25                      :::*                        LISTEN      1555/master   

加上-e的結果中多出了兩列,一列是User,另外一列是Inode。User表示對應狀態的程序的使用者屬組,如果加上-n
會以uid數字格式顯示,如果不加-n,輸出的將會是字串標識的使用者名稱。而Inode表示檔案inode編號,表示對應
狀態的資訊開啟的檔案的Inode編號;

(3) route工具
參考博文:http://blog.51cto.com/nickfox/2089177

route - show / manipulate the IP routing table
route - IP路由表檢視和維護管理

路由條目型別:
1>主機路由
目標地址為單個ip
2>網路路由
目標地址為ip網路
3>預設路由
目標地址為任意網路,0.0.0.0/0.0.0.0

檢視路由:
-n:以數字地址格式顯示;
-e:以netstat -r的輸出格式顯示;
route -n
route -ne 
輸出格式說明:
Destination:目標網路或目標主機,本機資料發往的目的地,子網或者主機。與Genmask一起構成一個網段;
Gateway:閘道器地址(到達目標主機或網路的下一跳),*表示沒有設定,如果是預設閘道器,閘道器的地址必須和
自己的主機上的其中一塊網絡卡同一子網;如果顯式在數字格式顯示為,會把*轉化成0.0.0.0,表示的含義是達到
目標主機或網路不需要下一跳,就說明目標主機或網路是本地所在的主機或網路,無需閘道器或下一跳;
Genmask:指定與網路目標地址相關聯的網掩碼(又稱子網掩碼)。子網掩碼對於IP網路地址可以是一適當的
子網掩碼,對於主機路由是255.255.255.255。對於預設路有個,子網掩碼應該為0.0.0.0;
Flags:標誌資訊,可能標誌如下
1> U (route is up),表示路由啟用狀態,有效的;
2> H (target is a host),表示目標一個主機(主機路由);
3> G (use gateway),需要透過外部的主機 (gateway) 來轉遞封包(該行有gw);
4> R (reinstate route for dynamic routing),使用動態路由時,恢復路由資訊的旗標; 
5> D (dynamically installed by daemon or redirect),已經由服務或轉 port 功能設定為動態路由
6> M (modified from routing daemon or redirect),路由已經被修改; 
7> A (installed by addrconf)
8> C (cache entry),快取實體;
9> !  (reject route),這個路由將不會被接受(用來抵擋不安全的網域!)

Metric:距離、跳數。暫無用。與目標的“距離”(通常以跳數計算)。它不被最近的核心使用,但可能需要
路由守護程序;
Ref:不用管,恆為0, 對這條路由路線的引用次數(Linux核心已不再使用);
Use:該路由被使用的次數,可以粗略估計通向指定網路地址的網路流量。 路線查詢次數。根據-F和-C的使用,
這將是路由快取記憶體丟失(-F)或命中(-C)。
Iface:Interface to which packets for this route will be sent.
介面,即eth0,eth1等網路介面名,為此路由傳送資料包的介面。
即為達到目標主機或網路,需要經過本地的介面名;

MSS:Default maximum segement size for TCP connections over this route.
TCP報文通過此路由線路時,預設最大允許的段大小;

Window:Default window size for TCP connections over this route.
TCP報文通過此路由線路時候的視窗大小(與緩衝有關的一個東西);

irtt:nitial RTT (Round Trip Time). The kernel uses this to guess about the  best  TCP  protocol  parameters
without waiting on (possibly slow) answers.
wangfan往返時長。核心可以通過該結果來評估最適用於TCP協議的引數設定。

HH (cached only):The  number  of  ARP  entries  and cached routes that refer to the hardware header 
cache for the cached route. This will be -1 if a hardware address is not needed for the interface of the 
cached route(e.g. lo).

Arp (cached only):Whether or not the hardware address for the cached route is up to date.
快取路由的硬體地址是否是最新的。

新增路由:
route  add  [-net|-host]  target  [netmask  Nm]  [gw GW]  [[dev] If]

刪除路由:
route  del  [-net|-host] target  [gw Gw]  [netmask Nm]  [[dev] If]

a.新增網路路由

route add -net 10.0.0.0/8 gw 192.168.27.1 dev eth1
達到網路 10.0.0.0/8 ,下一跳(閘道器)為192.168.27.1,經過本地的eth1介面。
特別說明:下一跳或者閘道器要與指定介面eth1在同一個網段,或者不知名eth1,讓它自動去識別;

[[email protected] ~]# route add -net 10.0.0.0/8 gw 192.168.27.1 dev eth1
[[email protected] ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.27.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1
192.168.56.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
10.0.0.0        192.168.27.1    255.0.0.0       UG    0      0        0 eth1
0.0.0.0         192.168.56.2    0.0.0.0         UG    0      0        0 eth0

b.設定預設路由(預設閘道器)

route add -net 0.0.0.0/0 gw 192.168.27.1 dev eth1
route add -net 0/0 gw 192.168.27.1 dev eth1
或
route add default gw 192.168.27.1 dev eth1

[[email protected] ~]# route add -net 0.0.0.0/0 gw 192.168.27.1 eth1 
[[email protected] ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.27.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1
192.168.56.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
10.0.0.0        192.168.27.1    255.0.0.0       UG    0      0        0 eth1
0.0.0.0         192.168.27.1    0.0.0.0         UG    0      0        0 eth1
0.0.0.0         192.168.56.2    0.0.0.0         UG    0      0        0 eth0

c.新增主機路由

route add -host 192.168.27.1 gw 192.168.56.2
新增到192.168.27.1這個主機或ip,下一跳(閘道器)為192.168.56.2
[[email protected] ~]# route add -host 192.168.27.1 gw 192.168.56.2
[[email protected] ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.27.1    192.168.56.2    255.255.255.255 UGH   0      0        0 eth0
192.168.27.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1
192.168.56.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
10.0.0.0        192.168.27.1    255.0.0.0       UG    0      0        0 eth1
0.0.0.0         192.168.27.1    0.0.0.0         UG    0      0        0 eth1
0.0.0.0         192.168.56.2    0.0.0.0         UG    0      0        0 eth0

d.刪除主機路由

[[email protected] ~]# route del -host 192.168.27.1 gw 192.168.56.2 dev eth0
刪除達通過本地eth0網絡卡走192.168.56.2這個閘道器叨叨主機192.168.27.1的這個路由;
[[email protected] ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.27.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1
192.168.56.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
10.0.0.0        192.168.27.1    255.0.0.0       UG    0      0        0 eth1
0.0.0.0         192.168.27.1    0.0.0.0         UG    0      0        0 eth1
0.0.0.0         192.168.56.2    0.0.0.0         UG    0      0        0 eth0

e.刪除預設路由

[[email protected] ~]# route del default dev eth1
刪除eth1網絡卡的預設路由。(預設路由也是一個網路路由)
[[email protected] ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.27.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1
192.168.56.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
10.0.0.0        192.168.27.1    255.0.0.0       UG    0      0        0 eth1
0.0.0.0         192.168.56.2    0.0.0.0         UG    0      0        0 eth0

c.刪除網路路由

[[email protected] ~]# route del -net 10.0.0.0/8 dev eth1
刪除通過eh1介面,到達網路10.0.0.0/8的路由;這裡因為只有一條,所以沒有指定下一跳(閘道器資訊);
[[email protected] ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.27.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1
192.168.56.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
0.0.0.0         192.168.56.2    0.0.0.0         UG    0      0        0 eth0

2.3、iproute家族常用工具

iproute來自於iproute軟體包;

[[email protected] ~]# rpm -qa|grep iproute
iproute-3.10.0-21.el7.x86_64
[[email protected] ~]# rpm -qi iproute
Name        : iproute
Version     : 3.10.0
Release     : 21.el7
Architecture: x86_64
Install Date: Tue 30 Oct 2018 05:50:04 AM CST
Group       : Applications/System
Size        : 1229304
License     : GPLv2+ and Public Domain
Signature   : RSA/SHA256, Sat 14 Mar 2015 03:56:08 PM CST, Key ID 24c6a8a7f4a80eb5
Source RPM  : iproute-3.10.0-21.el7.src.rpm
Build Date  : Fri 06 Mar 2015 11:07:32 AM CST
Build Host  : worker1.bsys.centos.org
Relocations : (not relocatable)
Packager    : CentOS BuildSystem <http://bugs.centos.org>
Vendor      : CentOS
URL         : http://kernel.org/pub/linux/utils/net/iproute2/
Summary     : Advanced IP routing and network device configuration tools
Description :
The iproute package contains networking utilities (ip and rtmon, for example)
which are designed to use the advanced networking capabilities of the Linux
2.4.x and 2.6.x kernel.

[[email protected] ~]# rpm -ql iproute
/etc/iproute2
/etc/iproute2/ematch_map
/etc/iproute2/group
/etc/iproute2/rt_dsfield
/etc/iproute2/rt_protos
/etc/iproute2/rt_realms
/etc/iproute2/rt_scopes
/etc/iproute2/rt_tables
/etc/sysconfig/cbq
/etc/sysconfig/cbq/avpkt
/etc/sysconfig/cbq/cbq-0000.example
/usr/lib64/tc
/usr/lib64/tc/experimental.dist
/usr/lib64/tc/m_ipt.so
/usr/lib64/tc/m_xt.so
/usr/lib64/tc/normal.dist
/usr/lib64/tc/pareto.dist
/usr/lib64/tc/paretonormal.dist
/usr/sbin/arpd
/usr/sbin/bridge
/usr/sbin/cbq
/usr/sbin/ctstat
/usr/sbin/genl
/usr/sbin/ifcfg
/usr/sbin/ifstat
/usr/sbin/ip
/usr/sbin/lnstat
/usr/sbin/nstat
/usr/sbin/routef
/usr/sbin/routel
/usr/sbin/rtacct
/usr/sbin/rtmon
/usr/sbin/rtpr
/usr/sbin/rtstat
/usr/sbin/ss
/usr/sbin/tc
......

關於iproute家族和ifcfg家族的對比圖解:
linux網路概述

(1) ip工具

ip OBJECT 

常用的基礎的OBJECT有:
link,addr(address),route,netns
檢視幫助手冊:
CentOS 6.x:
man ip 

CentOS 7.x:
man ip
man ip OBJECT 或 man ip-OBJECT
CentOS 7實現來把各個子功能man手冊分開來管理。可以單獨檢視

1> ip link - network device configuration(網路裝置管理)

ip link set - change device attributes(改變裝置的屬性)
    dev DEVICE(預設選項):指明要管理的裝置,dev關鍵字可省略;
        up and down:設定網絡卡的狀態,up表示啟用,down表示停用;
        multicast on or multicast off:啟用或關閉裝置的多波(組播)特性;
        name NAME:重新命名介面
    mtu NUMBER:改變網絡卡裝置的最大傳輸單源大小,預設是1500;
        netns PID:ns為namespace,用於將介面移動到指定的網路名稱空間;

ip link show - display device attributes(顯示裝置屬性資訊)
            dev NAME (default):檢視指定網絡卡;
            up:只檢視啟動狀態的網絡卡;

ip link help - 檢視幫助資訊

示例:
a.檢視網絡卡裝置屬性資訊

[[email protected] ~]# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:dc:ba:f3 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:dc:ba:fd brd ff:ff:ff:ff:ff:ff

[[email protected] ~]# ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:dc:ba:f3 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:dc:ba:fd brd ff:ff:ff:ff:ff:ff

[[email protected] ~]# ip link show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:dc:ba:f3 brd ff:ff:ff:ff:ff:ff
[[email protected] ~]# ip link show up
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:dc:ba:f3 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:dc:ba:fd brd ff:ff:ff:ff:ff:ff

[[email protected] ~]# ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
    link/ether 00:0c:29:25:9d:07 brd ff:ff:ff:ff:ff:ff      

b.關閉eth1網絡卡的組播特性以及修改eth1網絡卡的最大傳輸單元為2000

[[email protected] ~]# ip link show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:dc:ba:f3 brd ff:ff:ff:ff:ff:ff
[[email protected] ~]# ip link show eth1
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:dc:ba:fd brd ff:ff:ff:ff:ff:ff

[[email protected] ~]# ip link set dev eth1 multicast off
[[email protected] ~]# ip link show eth1
3: eth1: <BROADCAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:dc:ba:fd brd ff:ff:ff:ff:ff:ff
[[email protected] ~]# ip link set dev eth1 mtu 2000
[[email protected] ~]# ip link show eth1
3: eth1: <BROADCAST,UP,LOWER_UP> mtu 2000 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:dc:ba:fd brd ff:ff:ff:ff:ff:ff
[[email protected] ~]# ip link set eth1 multicast on ; ip link set eth1 mtu 1500
[[email protected] ~]# ip link show eth1
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:dc:ba:fd brd ff:ff:ff:ff:ff:ff

c.設定網絡卡狀態

[[email protected] ~]# ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:dc:ba:f3 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:dc:ba:fd brd ff:ff:ff:ff:ff:ff
[[email protected] ~]# ip link set eth1 down
[[email protected] ~]# ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:dc:ba:f3 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
    link/ether 00:0c:29:dc:ba:fd brd ff:ff:ff:ff:ff:ff
[[email protected] ~]# ip link show up
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:dc:ba:f3 brd ff:ff:ff:ff:ff:ff
[[email protected] ~]# ip link set eth1 up

d.重新命名介面

[[email protected] ~]# ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:dc:ba:f3 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:dc:ba:fd brd ff:ff:ff:ff:ff:ff
[[email protected] ~]# ip link set eth1 name eth1:new
RTNETLINK answers: Device or resource busy  #對網絡卡重新命名,要先把其狀態置為下線(down)
[[email protected] ~]# ip link set eth1 down
[[email protected] ~]# ip link set eth1 name eth1:new
[[email protected] ~]# ip link show 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:dc:ba:f3 brd ff:ff:ff:ff:ff:ff
3: eth1:new: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN ioctl(SIOCGIFXQLEN) failed: No such device

    link/ether 00:0c:29:dc:ba:fd brd ff:ff:ff:ff:ff:ff
[[email protected] ~]# ip link set eth1:new up
[[email protected] ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:DC:BA:F3  
          inet addr:192.168.56.66  Bcast:192.168.56.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fedc:baf3/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:12221 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8599 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:8238085 (7.8 MiB)  TX bytes:1038202 (10