linux基礎篇(二十):Redhat7系統中的高階網路配置
Bond
一、簡介
鏈路聚合主動備份網絡卡,當一個網絡卡介面故障時,另一個會接替他的工作,不中斷。bond是將多塊網絡卡虛擬連結成一塊網絡卡的技術,通過bond技術讓多塊網絡卡看起來是一個單獨的乙太網介面裝置並具有相同的ip地址。bond預設情況下支援兩塊網絡卡工作。
二、特點
在linux下配置bond,通過網絡卡繫結技術既能增加伺服器的可靠性,又增加了可用網路寬頻,為使用者提供不間斷的網路服務,實現主備功能。
三、相關配置與檢驗
1:為虛擬機器新增第二塊網絡卡
在虛擬機器管理介面為虛擬機器新增第二塊網絡卡
2:刪除虛擬機器原有的網路配置 ##nmcli connection delete eth0
![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20181028193132670.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dkMDMwNg==,size_27,color_FFFFFF,t_70)
![在這裡插入圖片描述](https://img-blog.csdnimg.cn/2018102819340639.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dkMDMwNg==,size_27,color_FFFFFF,t_70)
![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20181028193833421.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dkMDMwNg==,size_27,color_FFFFFF,t_70)
![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20181028194000318.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dkMDMwNg==,size_27,color_FFFFFF,t_70)
![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20181028194329351.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dkMDMwNg==,size_27,color_FFFFFF,t_70)
![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20181028194548481.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dkMDMwNg==,size_27,color_FFFFFF,t_70)
![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20181028194800708.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dkMDMwNg==,size_27,color_FFFFFF,t_70)
1.nmcli connection delete bond0 刪除bond0
2.nmcli connection delete eth0 刪除bond0上的eth0
3.nmcli connection delete eth1 刪除bond0上的eth1
Team
一、簡介
team和bond類似,也是鏈路聚合,最多支援8塊網絡卡,Team 不需要手動載入相應核心模組
二、工作方式
broadcast 廣播容錯
roundrobin 輪詢
activebackup 主備
loadbalance 負載均衡
三、相關配置
1:刪除bond相關配置,上面的最後一步我們已經刪過了,直接下一步就行
2:新增team介面
nmcli connection add con-name team0 ifname team0 type team config ‘{“runner”:{“name”:“activebackup”}}’ ip4 172.25.66.11/24
3:為team新增網絡卡裝置
nmcli connection add con-name eth0 ifname eth0 type team-slave master team0
nmcli connection add con-name eth1 ifname eth1 type team-slave master team0
4:監控team0
watch -n 1 teamdctl team0 stat
5:在監控命令下開啟另外一個shell 關閉使用中的網絡卡裝置,可以看到備用網絡卡直接頂替關掉的網絡卡
ifconfig eth0 down ###關掉網絡卡裝置
四:刪除team0配置
方法和bond0刪除方法相同
搭建網橋
一、橋接的概念
簡單來說,橋接就是把一臺機器上的若干個網路介面“連線”起來。其結果是,其中一個網口收到的報文會被複制給其他網口併發送出去。以使得網口之間的報文能夠互相轉發。
交換機就是這樣一個裝置,它有若干個網口,並且這些網口是橋接起來的。於是,與交換機相連的若干主機就能夠通過交換機的報文轉發而互相通訊。
如下圖:主機A傳送的報文被送到交換機S1的eth0口,由於eth0與eth1、eth2橋接在一起,故而報文被複制到eth1和eth2,並且傳送出 去,然後被主機B和交換機S2接收到。而S2又會將報文轉發給主機C、D。
交換機在報文轉發的過程中並不會篡改報文資料,只是做原樣複製。然而橋接卻並不是在物理層實現的,而是在資料鏈路層。交換機能夠理解資料鏈路層的報文,所以實際上橋接卻又不是單純的報文轉發。
交換機會關心填寫在報文的資料鏈路層頭部中的Mac地址資訊(包括源地址和目的地址),以便了解每個Mac地址所代表的主機都在什麼位置(與本交換機的哪 個網口相連)。在報文轉發時,交換機就只需要向特定的網口轉發即可,從而避免不必要的網路互動。這個就是交換機的“地址學習”。但是如果交換機遇到一個自 己未學習到的地址,就不會知道這個報文應該從哪個網口轉發,則只好將報文轉發給所有網口(接收報文的那個網口除外)。
比如主機C向主機A傳送一個報文,報文來到了交換機S1的eth2網口上。假設S1剛剛啟動,還沒有學習到任何地址,則它會將報文轉發給eth0和 eth1。同時,S1會根據報文的源Mac地址,記錄下“主機C是通過eth2網口接入的”。於是當主機A向C傳送報文時,S1只需要將報文轉發到 eth2網口即可。而當主機D向C傳送報文時,假設交換機S2將報文轉發到了S1的eth2網口(實際上S2也多半會因為地址學習而不這麼做),則S1會 直接將報文丟棄而不做轉發(因為主機C就是從eth2接入的)。
然而,網路拓撲不可能是永不改變的。假設我們將主機B和主機C換個位置,當主機C發出報文時(不管發給誰),交換機S1的eth1口收到報文,於是交換機 S1會更新其學習到的地址,將原來的“主機C是通過eth2網口接入的”改為“主機C是通過eth1網口接入的”。
但是如果主機C一直不傳送報文呢?S1將一直認為“主機C是通過eth2網口接入的”,於是將其他主機發送給C的報文都從eth2轉發出去,結果報文就發 丟了。所以交換機的地址學習需要有超時策略(FDB的老化)。對於交換機S1來說,如果距離最後一次收到主機C的報文已經過去一定時間了(預設為5分鐘),則S1需要忘記 “主機C是通過eth2網口接入的”這件事情。這樣一來,發往主機C的報文又會被轉發到所有網口上去,而其中從eth1轉發出去的報文將被主機C收到。
二、網橋的功能
概括來說,網橋實現最重要的兩點:
1、MAC學習
學習MAC地址,起初,網橋是沒有任何地址與埠的對應關係的,它傳送資料,還是得想HUB一樣,但是每傳送一個數據,它都會關心資料包的來源MAC是從自己的哪個埠來的,由於學習,建立地址-埠的對照表(CAM表)。
2、報文轉發
每傳送一個數據包,網橋都會提取其目的MAC地址,從自己的地址-埠對照表(CAM表)中查詢由哪個埠把資料包傳送出去。
三、網橋的配置(真機中做)
1、進入 /etc/sysconfig/network-scripts
將兩個網路配置檔案移動到/opt中,用作備份,網路配置檔案可進入檔案中檢視
mv ifcfg-br0 ifcfg-p4p2 /opt
2:nm-connectin-editor
刪掉除了virbr0以外其他的所有東西
3:重新設定一個網路然後重啟
4:vim ifcfg-p4p2
寫入:
DEVICE=p4p2
ONBOOT=yes
BOOTPROTO=none
BRIDGE=br0
5:vim ifcfg-br0
寫入:
DEVICE=br0
ONBOOT=yes
BOOTPROTO=none
IPADDR=172.25.66.250
PREFIX=24
TYPE=Bridge
6:systemctl stop NetworkManager.service
systemctl restart network
7:brctl show
驗證網橋是否搭建成功
virt-manager
安裝虛擬機器看可不可以選擇br0一行
四:########虛擬機器中#####
1:brctl addbr br0 新增
brctl show
ifconfig
ifconfig br0 172.25.66.11/24
ifconfig br0
ping 172.25.66.250 ping不通
brctl addif br0 eth0 將br0橋接在eth0上
ping 172.25.66.250 可以ping通
ifconfig br0 down
brctl delbr br0###########刪除橋接