天天看點

Linux網絡管理基礎

Linux網絡管理基礎

動态路由

Bonding

Network Teaming

靜态路由實驗

Linux的網絡管理,了解基本的網絡知識是基礎,除此,要掌握好ifconig指令、ip指令、nmcli指令(CentOS 7),以及涉及到網絡的配置檔案。

配置動态路由:

通過守護程序擷取動态路由,安裝quagga包,支援RIP、OSPF、BGP,通過指令vtysh配置。

Linux網絡管理基礎

切換到服務啟動腳本目錄下啟動或者直接servifce啟動:

Linux網絡管理基礎

檢視OSPF是否啟動

我們來運作一下OSPF:

Linux網絡管理基礎

所謂Bonding,就是将多塊網卡綁定同一IP位址對外提供服務,進而實作高可用或負載均衡,其實作思路類似于思科網絡中的二層或三層的鍊路聚合,兩個不同的路由器接口不可能設定同一個IP,同樣兩個不同的網卡也不可能設定同一個IP,于是,Bonding就将兩塊網卡虛拟成一塊網卡對外提供服務,此時,實體網卡會被修改為同一MAC位址;

Bonding有三種不同的模式Mode:

在進行Bonding試驗之前,我們需要先了解網卡别名與裝置别名以及網絡接口識别并指令的udev相關配置檔案!

網卡别名: 将多個IP位址綁定到一個NIC上,類似于網絡中的子接口概念。

Linux網絡管理基礎

如果你擁有一個網卡的話,你就可以避免在多個IP位址之間來回切換了!

再試試ip指令:

Linux網絡管理基礎

以上配置,重新開機網絡服務後失效!!!

裝置别名: 為每個裝置别名生成獨立的接口配置檔案

别暈先,不管是網卡别名還是裝置别名,它們都是别名,網卡也是裝置,是以它們本質是指的是同一個“實作”,隻不是實作方式不同罷了,前者是直接指令行實作,臨時有效,而後者是直接寫配置檔案,讓其永久生效。注意,在寫裝置别名的配置檔案時,要關閉NetworkManager服務!且必須為靜态聯網!重新開機有效!

在網絡配置檔案目錄直接建立

Linux網絡管理基礎

udev配置檔案

網絡接口識别并命名相關的udev配置檔案:

Linux網絡管理基礎

安裝與解除安裝網卡

dmesg指令被用于檢查和控制核心的環形緩沖區。kernel會将開機資訊存儲在ring buffer中。若是開機時來不及檢視資訊,可利用dmesg來檢視。開機資訊儲存在/var/log/dmesg檔案裡.

ethtool指令用于擷取以太網卡的配置資訊,或者修改這些配置。這個指令比較複雜,功能也多。其資訊來源于網卡驅動層,即TCP/IP協定的鍊路層。

modprobe指令用于智能地向核心中加載子產品或者從核心中移除子產品。

Linux網絡管理基礎
Linux網絡管理基礎
Linux網絡管理基礎

OK,我們再裝載上網卡吧。

Linux網絡管理基礎

通過以上例子,我們對網上與網絡的基本配置也有了一定的感覺,現在就讓我們來做一個Bonding吧!

建立bonding裝置配置檔案

Bonding是一個邏輯上的概念,即一個虛拟網卡,是以,設定好bonding配置檔案後,必須要有實體網卡的支撐。即指定MASTER與SLAVE,MASTER就是bonding裝置,SLAVE就是實體網卡。

這個bonding配置檔案跟普通的網卡配置檔案大體相同,就是多了一條bonding的特有選項:BONDING_OPTS,子選項miimong表示鍊路檢測時間間隔,機關毫秒,如果miimon=100,那麼系統每100ms 監測一次鍊路連接配接狀态,如果有一條線路不通就轉入另一條線路 mode表示Bonding的模式。

重新開機網絡服務,使bonding生效:

Linux網絡管理基礎

檢視bonding狀态

Linux網絡管理基礎
Linux網絡管理基礎
Linux網絡管理基礎

測試Bonding

Down掉目前bond0的活動網卡eth0

Linux網絡管理基礎

看bond0的IP是否還在繼續ping

Linux網絡管理基礎

檢視目前bond0活動的網卡

Linux網絡管理基礎

由此,bonding的mode1主備模式已成功切換!

此時我們再重新開機網卡eth0,看其能否再次搶占活動接口,如果不能,我們再重新開機網絡服務,看其能否搶占活動網卡。

Linux網絡管理基礎

我們發現,eth0重新開機後也沒能再次搶占為活動接口,這樣也在一定程式上使網絡相對穩定。好吧,我們再來重新開機網絡服務。

Linux網絡管理基礎

重新開機網絡服務後,eth0成功搶占為活動接口。

删除bonding:Down掉bond接口,删除其配置檔案,重新開機網絡服務

至此,我們小結下網絡配置檔案的主要格式:

網絡組Network Teaming, 其實就是進階版本的Bonding, 所謂網絡組,就是将多個網卡聚合在一起,進而實作冗錯和提高吞吐量。 相比于bonding,可以提供更好的性能和擴充性,網絡組由核心驅動和teamd守護程序實作。網絡組功能主要由nmcli指令實作,nmcli是一個指令集,在CentOS 7上有較好的支援。

其有多種方式的runner:

網絡組的特性:

nmcli指令

使用示例

nmcli指令集支援簡寫!

接下來,我們來建立一個網絡組,建立網絡組的主要步驟如下:

建立網絡組接口

建立port接口

激活網絡組與port接口

注意:

試驗開始:

建立網絡組接口與port接口,關鍵字:nmcli con add

為網絡組配置IP位址,關鍵字:nmcli con mod

激活網絡組接口與port接口,關鍵字:nmcli con up

Linux網絡管理基礎

我們還發現在網絡配置檔案目錄下自動添加了正如檔案:

Linux網絡管理基礎

打開ifcfg-team0

Linux網絡管理基礎

打開ifcfg-team0-port0

Linux網絡管理基礎

當然,ifcfg-team0-port1的内容與其相似!

測試:

檢視team0的IP及其狀态:

Linux網絡管理基礎
Linux網絡管理基礎

可見,team0的活動接口為eth0.

Linux網絡管理基礎

Down掉team0-port0

Linux網絡管理基礎

檢視活動接口

Linux網絡管理基礎

成功切換到了eth1!

可此時,卻ping不通team0了,我們嘗試着再次激活team0-port1,卻發現能夠正常ping通了!

Linux網絡管理基礎
Linux網絡管理基礎

此處可能上延遲比較大,于是索性再次激活目前的活動接口team0-port1。此處得靠點人品!

Down掉team0-port1

Linux網絡管理基礎
Linux網絡管理基礎

再次UPteam0-port0

Linux網絡管理基礎
Linux網絡管理基礎

eth0成功成為活動接口,并自動ping通team0,測試成功!

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

注意,在網絡組實驗時,不要重新開機網絡服務,否則,team0的狀态就會異常!當然此時也就ping不通team0了!如果不慎重新開機了網絡服務,則需要重新開機激活組接口與port接口,team0的狀态也就正常了,相應地也能夠ping通team0了!

Linux網絡管理基礎
Linux網絡管理基礎

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

實驗環境:

R1,R2

PC1,PC2

拓撲圖如下:

Linux網絡管理基礎

IP規劃:

實驗準備:

主機模拟路由器時要開啟路由功能

路由器要關閉NetworkManager服務

關閉防火牆:iptables -F

配置:

配置IP

PC1:

Linux網絡管理基礎

PC2:

Linux網絡管理基礎

R1:

Linux網絡管理基礎

R2:

Linux網絡管理基礎

配置路由

PC1網關

Linux網絡管理基礎

PC2網關

Linux網絡管理基礎

R1路由

Linux網絡管理基礎
Linux網絡管理基礎

R2路由

Linux網絡管理基礎
Linux網絡管理基礎

PC1與PC2ping各自的網關

Linux網絡管理基礎
Linux網絡管理基礎

PC1與PC2互ping

Linux網絡管理基礎
Linux網絡管理基礎

路由追蹤:

Linux網絡管理基礎
Linux網絡管理基礎

本文主要介紹了Linux中跟網絡相關的的基礎知識,包括如何配置IP與路由,如何建立一個Bonding以及Network Teaming, 最後一個靜态路由的實驗,主要是體驗下資料是如何經過下一跳,如何被路由到目的地。

止戰

2016.9.9