Linux實現(xiàn)雙網(wǎng)卡綁定的代碼詳解
一、介紹
linux 主機安裝雙網(wǎng)卡,共享一個IP地址,對外提供訪問,實際同樣連接兩條物理線路到交換機實現(xiàn)平時雙網(wǎng)卡同時工作,分流網(wǎng)絡(luò)壓力,同時提供冗余備份,監(jiān)控,防止物理線路的單點故障。
配置雙網(wǎng)卡的目的:實現(xiàn)高可用、流量負載均衡
實現(xiàn)原理:
Linux bonding 驅(qū)動模塊 提供了一種方法,用以把多個網(wǎng)絡(luò)接口(network interface)組合成一個 邏輯的 “bonded” 接口。 Bonded 接口的工作方式取決于驅(qū)動的模式:不同的模式提供了熱備份或負載均衡等不同的服務(wù)。
幾種模式:
• 輪詢策略(round robin),mode=0,按照設(shè)備順序依次傳輸數(shù)據(jù)包,提供負載均衡和容錯能力
• 主備策略(active-backup),mode=1,只有主網(wǎng)卡處于工作狀態(tài),備網(wǎng)卡處于備用狀態(tài),主網(wǎng)卡壞掉后備網(wǎng)卡開始工作,提供容錯能力
• 異或策略(load balancing (xor)),mode=2,根據(jù)源MAC地址和目的MAC地址進行異或計算的結(jié)果來選擇傳輸設(shè)備,提供負載均衡和容錯能力
• 廣播策略(fault-tolerance (broadcast)),mode=3,將所有數(shù)據(jù)包傳輸給所有接口通過全部設(shè)備來傳輸所有數(shù)據(jù),一個報文會復(fù)制兩份通過bond下的兩個網(wǎng)卡分別發(fā)送出去,提供高容錯能力
• 動態(tài)鏈接聚合(lacp),mode=4,按照802.3ad協(xié)議的聚合自動配置來共享相同的傳輸速度,網(wǎng)卡帶寬最高可以翻倍,鏈路聚合控制協(xié)議(LACP)自動通知交換機聚合哪些端口,需要交換機支持 802.3ad協(xié)議,提供容錯能力
• 輸出負載均衡模式(transmit load balancing),mode=5,輸出負載均衡模式,只有輸出實現(xiàn)負載均衡,輸入數(shù)據(jù)時則只選定其中一塊網(wǎng)卡接收,需要網(wǎng)卡和驅(qū)動支持ethtool命令
• 輸入/輸出負載均衡模式(adaptive load balancing),mode=6,輸入和輸出都實現(xiàn)負載均衡,需要網(wǎng)卡和驅(qū)動支持ethtool命令
二、步驟
1、進入網(wǎng)卡配置目錄下:
cd /etc/sysconfig/network-scripts/
2、vim ifcfg-bond0:
TYPE=Ethernet BOOTPROTO=static NAME=bond0 DEVICE=bond0 IPADDR="192.168.50.8" NETMASK=255.255.255.0 GATEWAY=192.168.50.2 DNS1=114.114.114.114 ONBOOT=yes BONDING_OPTS="miimon=100 mode=1"
3、vim ifcfg-ens33:
TYPE=Ethernet BOOTPROTO=none NAME=ens33 DEVICE=ens33 ONBOOT=yes MASTER=bond0 SLAVE=yes
4、vim ifcfg-ens36:
TYPE=Ethernet BOOTPROTO=none NAME=ens36 DEVICE=ens36 ONBOOT=yes MASTER=bond0 SLAVE=yes
5、vim /etc/modprobe.d/dist.conf:
alias bond0 bonding options bond0 miimon=100 mode=1 primary=eth0
alias bond0 bonding,表示系統(tǒng)在啟動時加載bonding模塊,對外虛擬網(wǎng)絡(luò)接口設(shè)備為 bond0
miimon=100,表示系統(tǒng)每100ms監(jiān)測一次鏈路連接狀態(tài),如果有一條線路不通就轉(zhuǎn)入另一條線
mode=1,表示綁定模式為1
primary=eth0,系統(tǒng)首先eth0作為bond0接口與外界信息的傳輸接口
6、vim /etc/rc.local:
modprobe bonding miimon=100 mode=1
7、所有配置都已完成,重啟網(wǎng)絡(luò):
systemctl restart network ifconfig查看信息
ifconfig
8、檢查bonding mode,想查看那個網(wǎng)卡再工作,使用下面這個命令
cat /proc/net/bonding/bond0 cat /sys/class/net/bond0/bonding/mode
9、 網(wǎng)卡切換
ifenslave –c bond0 eth0 //測試bonding能否正常切換 Bonding完成后配置全局網(wǎng)關(guān),vi /etc/sysconfig/network
三、測試
通過斷開不同網(wǎng)卡,觀察網(wǎng)絡(luò)是否可以用
(注意:VMware實驗環(huán)境不能使用ifdown去斷開網(wǎng)卡,而是要在界面下方點擊斷開連接)
這里通過ping命令
到此這篇關(guān)于Linux實現(xiàn)雙網(wǎng)卡綁定的代碼詳解的文章就介紹到這了,更多相關(guān)Linux雙網(wǎng)卡綁定內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Linux服務(wù)器tomact 8.0啟動慢的完美解決方法
這篇文章主要介紹了Linux服務(wù)器tomact 8.0啟動慢的完美解決方法,需要的朋友可以參考下2017-08-08
解決nginx/apache靜態(tài)資源跨域訪問問題詳解
有時為了優(yōu)化網(wǎng)站訪問速度,會給一些靜態(tài)資源配置cdn加速,但是有時候會出現(xiàn)跨域訪問的問題,在nginx和apache服務(wù)中可進行如下配置2018-10-10
重啟寶塔面板后提示-ModuleNotFoundError: No module named ''geventwebso
這篇文章主要介紹了重啟寶塔面板后提示-ModuleNotFoundError: No module named 'geventwebsocket',本文給出了解決方法,需要的朋友可以參考下2019-11-11
Win7下XAMPP集成環(huán)境中Apache無法啟動的問題解決
這篇文章主要介紹了Win7下XAMPP集成環(huán)境中Apache無法啟動的問題解決,通常是端口沖突,文中也講到了PotgreSQL的相關(guān)問題,需要的朋友可以參考下2015-07-07
Ubuntu搭建web站點并發(fā)布公網(wǎng)訪問詳細步驟(內(nèi)網(wǎng)穿透)
這篇文章主要給大家介紹了關(guān)于Ubuntu搭建web站點并發(fā)布公網(wǎng)訪問(內(nèi)網(wǎng)穿透)的相關(guān)資料,內(nèi)網(wǎng)穿透是一種實現(xiàn)在外網(wǎng)任意地點訪問內(nèi)網(wǎng)的方法,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2023-12-12
Ubuntu環(huán)境編譯安裝PHP和Nginx的方法
這篇文章主要介紹了Ubuntu環(huán)境編譯安裝PHP和Nginx的方法,較為詳細的分析了Ubuntu環(huán)境編譯安裝PHP和Nginx的具體步驟、相關(guān)命令與操作技巧,需要的朋友可以參考下2019-08-08

