Linux中的高级网络控制
基本概念:
- 網絡的高級控制是對網絡的穩定性及網絡的傳輸速率進行控制
- 綁定將兩個網卡合并用一個接口工作
即就是有兩個設備,這兩個設備使用同一個ip - 鏈路聚合 將兩個線路聚合在一起
bonding
##查看傳輸速率 ethtools eth0
1.bond網絡
linux允許管理員使用bonding內核模塊和稱為通道綁定接口的特殊網絡接口將多個網絡接口綁定到一個通道。根據選擇的綁定模式,通道綁定使兩個或更多的網絡接口作為一個網絡接口,從而增加帶寬和/提供冗余性
2.Linux以太網綁定模式
- 模式0 平衡輪循 balance-rr 循環策略 所有接口都采用輪循方式在所有Slave中傳輸封包;任何Slave都可以接受
- 模式1 主動備份 容錯 一次只能使用一個slave,如過接口出現故障,另一個slave將接替他,穩定模式 active-backup(一個網卡壞掉之后另一塊網卡自動補上,不會中斷數據傳輸)
- 模式3 廣播 容錯 將所有的封裝包都通過所有的slave接口廣播,廣播容錯會給解析帶來麻煩
- 這里主要介紹模式1,主動備份模式
實驗:
準備工作:
打開虛擬機,真機切換到超級用戶,打開虛擬機圖形控制器,給虛擬機加入兩塊網卡,返回到虛擬機,將虛擬機中原有的ip刪除掉
打開虛擬機圖形控制器
雙擊出現右側的界面
單擊添加硬件
選擇網絡,添加網卡
1>設定bond的名稱模式,以及工作的ip
nmcli connection add con-name bond0 ifname bond0 type bond mode active-backup ip4 172.25.254.168/24
active-backup表示主動備份模式
2> ifconfig可以查看到ip
3> cat /proc/net/bonding/bond0查看及接口的狀態,沒有網卡工作
注:設定完接口之后才可以查看接口狀態
4> nmcli connection add con-name eth0 ifname eth0 type bond-slave master bond0
將網卡eht0加入到接口
查看接口狀態,有了eth0的信息
5> nmcli connection add con-name eth1 ifname eth1 type bond-slave master bond0
將網卡eth1 加入到接口
查看接口的信息,有了eth1的信息
6> 打開另一個shell監控接口的狀態
在原來的shell中操作
ifconfig eth0 down 關掉eth0
工作的網卡變為eth1
再次打開eth0,仍然是eth1工作
關掉eth1 工作的網卡變為eth0
再次打開eth1 還是eth0在工作
3.team
team中有負載均衡的模式
是一個純粹的軟件,不是內核上的插件
錯誤的也會生成鏈接,需要手動刪除
準備工作
nmcli connection delete bond0 刪除接口
nmcli connection delete eth0
nmcli connection delete eth1刪除網卡的配置
nmcli connection show 查看設備的狀態
實驗:
1 加入設備team0
nmcli connection add con-name team0 ifname team0 type team config ‘{“runner”:{“name”:“activebackup”}}’ ip4 172.25.254.145/24
ifconfig查看加入的設備
2 teamdctl team0 stat
查看接口的狀態
3 給接口中添加網卡
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 在另一個shell中監控接口的狀態
watch -n 1 teamdctl team0 stat
5 ifconfig eth0 down
eth0的狀態改變 工作的網卡變為eth1
ifconfig eth0 up
eth0的狀態改變 工作的網卡不變
ifconfig eth1 down
eth1的狀態改變 工作的網卡變為eth0
ifocnfig eth1 up
eth1的狀態改變 工作的網卡不變
注意:如果添加接口的時候寫錯,提示了接口添加成功,在系統中會生成一個錯誤的鏈接,這時需要刪除錯誤的鏈接
實驗完成后刪除添加的所有設定
現在有三個設備
刪除team接口
nmcli connection delete team0
刪除兩個eth0,eth1
################################
橋接接口
- 網關是用來作源地址轉換的
- 有橋接的網絡通信速率比沒有橋接的網絡快
- 同一網段的不需要網關來做地址轉換,可以直接通信
- 橋接是將不在同一網絡區域的主機使其在統一網段中
- 內核是系統的核心軟件,每一個操作系統都有自己獨立的內核
- 默認模式會使真實主機的內核負載過高,從而影響虛擬機的運行以及傳輸速率
- 網橋 br0 是虛擬機和真實主機之間可以通過網卡來通信,讓虛擬機可以來使用真實的物理網卡
- 在真實主機中開啟一個網橋
BRIDGE=br0
默認類型是以太網,設置網橋時需要手動設定類型為bridge
會記錄當前的網絡狀態
橋接接口對安裝虛擬機的影響
本實驗在真實主機上操作,實驗之前先備份配置文件
將主機中原來的網橋和網絡配置文件備份到/mnt/下:
1 安裝虛擬機沒有橋接選項
ifconifg查看ip不在同一網段
2 [root@foundation45 network-scripts]# ifconfig
沒有橋接
3 加入橋接
4查看是否有橋接
[root@foundation45 network-scripts]# ifconfig 有橋接[root@foundation45 network-scripts]# brctl show bridge name bridge id STP enabled interfaces br0 8000.0021ccb9143c no enp0s25 privbr0 8000.5254009f305a yes privbr0-nic virbr0 8000.525400230aa1 yes virbr0-nicvnet0 virbr1 8000.52540090b85f yes virbr1-nic5 安裝虛擬機有橋接
6 刪除橋接以及網絡配置文件
[root@foundation45 network-scripts]# rm -fr ifcfg-br0 ifcfg-Ethernet_connection_1 [root@foundation45 network-scripts]# ls ifcfg-lo ifdown-ovs ifup ifup-ovs ifup-TeamPort ifdown ifdown-post ifup-aliases ifup-plip ifup-tunnel ifdown-bnep ifdown-ppp ifup-bnep ifup-plusb ifup-wireless ifdown-eth ifdown-routes ifup-eth ifup-post init.ipv6-global ifdown-ib ifdown-sit ifup-ib ifup-ppp keys-99999 ifdown-ippp ifdown-Team ifup-ippp ifup-routes network-functions ifdown-ipv6 ifdown-TeamPort ifup-ipv6 ifup-sit network-functions-ipv6 ifdown-isdn ifdown-tunnel ifup-isdn ifup-Team7 重新編輯網絡配置文件
[root@foundation45 network-scripts]# cat ifcfg-haha DEVICE=enp0s25 ONBOOT=yes BOOTPROTO=none IPADDR=172.25.254.45 PREFIX=24再次配置文件之后重啟網絡,ifconfig查看還有橋接設備,再次重啟之后沒有
[root@foundation45 network-scripts]# brctl show bridge name bridge id STP enabled interfaces br0 8000.0021ccb9143c no enp0s25 privbr0 8000.5254009f305a yes privbr0-nic virbr0 8000.525400230aa1 yes virbr0-nic virbr1 8000.52540090b85f yes virbr1-nic8 重啟之后查看
[root@foundation45 network-scripts]# brctl show bridge name bridge id STP enabled interfaces privbr0 8000.5254009f305a yes privbr0-nic virbr0 8000.525400230aa1 yes virbr0-nic virbr1 8000.52540090b85f yes virbr1-nicifconfig沒有橋接接口
將系統還原
復制之前的文件到目錄下,刪除自己建立的配置文件
重啟系統
-
配置臨時網絡的方法
ifconfig enp0s25 172.25.254.xx/24 -
用命令添加的都是臨時的,永久的不生效的時候需要用臨時的來刷新一下
-
ping不通,橋接接口和物理設備沒有連接
-
實驗之前需要將之前設置的team刪除掉,因為team0 占用了eth0網卡
-
橋接接口刪除的時候應該先將橋接接口從硬件設備上摘下來,然后關閉橋接接口,最后在刪除橋接接口
4.配置橋接接口
1).添加橋接接口
brctl show 查看存在的橋接接口
brctl addbr br0 添加橋接接口
brctl show 查看成功添加橋接接口
ifconfig 查看添加的橋接接口信息以及存在的網卡
ifconfig br0 172.25.254.1xx/24 臨時配置橋接接口的網絡
ifconfig 查看橋接接口的網絡狀態
ping 172.25.254. 68檢測有沒有配置成功,ping不通,沒有連接物理設備
brctl show 查看到橋接接口沒有連接物理設備
brctl addif br0 eth0 將橋接接口與物理設備相連
brctl show 查看到橋接接口與物理設備連接
ping 172.25.254. 68檢測配置成功,可以ping通,連接了物理設備
2). 刪除橋接接口
brctl show 查看到橋接接口與物理設備連接
brctl delif br0 eth0 斷開物理設備與橋接接口的連接
brctl show 查看到橋接接口沒有連接物理設備
ifconfig br0 down 關閉br0,不關閉的話會出現報錯
brctl delbr br0 刪除橋接接口
brctl show 查看到沒有任何的橋接接口
ifconfig 沒有橋接接口的相關信息
總結
以上是生活随笔為你收集整理的Linux中的高级网络控制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 瓜子二手车后台研发实习生面经
- 下一篇: JDK1.7ConcurrentHash