新聞中心
在企業(yè)網(wǎng)絡(luò)中,網(wǎng)絡(luò)設(shè)備的可用性至關(guān)重要。當(dāng)網(wǎng)卡出現(xiàn)故障或網(wǎng)絡(luò)鏈路中斷時,必須立即切換到備用網(wǎng)卡或鏈路以確保網(wǎng)絡(luò)的可用性和可靠性。在這種情況下,采用雙冗余網(wǎng)卡方案是一個理想的選擇。本文將討論如何在Linux系統(tǒng)上配置和使用雙冗余網(wǎng)卡,并介紹一些快速高效切換技巧。

“專業(yè)、務(wù)實(shí)、高效、創(chuàng)新、把客戶的事當(dāng)成自己的事”是我們每一個人一直以來堅持追求的企業(yè)文化。 創(chuàng)新互聯(lián)是您可以信賴的網(wǎng)站建設(shè)服務(wù)商、專業(yè)的互聯(lián)網(wǎng)服務(wù)提供商! 專注于網(wǎng)站設(shè)計制作、網(wǎng)站制作、軟件開發(fā)、設(shè)計服務(wù)業(yè)務(wù)。我們始終堅持以客戶需求為導(dǎo)向,結(jié)合用戶體驗(yàn)與視覺傳達(dá),提供有針對性的項(xiàng)目解決方案,提供專業(yè)性的建議,創(chuàng)新互聯(lián)建站將不斷地超越自我,追逐市場,引領(lǐng)市場!
什么是雙冗余網(wǎng)卡?
在網(wǎng)絡(luò)設(shè)備中,雙冗余網(wǎng)卡是指使用兩個獨(dú)立的網(wǎng)卡接口,這兩個網(wǎng)卡可用于鏈接兩個不同的網(wǎng)絡(luò),從而實(shí)現(xiàn)雙重備份。如果一個網(wǎng)卡或鏈路發(fā)生故障或中斷,另一個網(wǎng)卡或鏈路仍然可以保證網(wǎng)絡(luò)的工作。
如何配置雙冗余網(wǎng)卡?
在Linux系統(tǒng)中配置雙冗余網(wǎng)卡非常簡單。確定本地網(wǎng)絡(luò)配置文件的位置。通常這個文件位于/etc/network/interfaces,然后編輯這個文件,以下是一個雙冗余網(wǎng)卡的配置示例:
auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8
auto eth1
iface eth1 inet static
address 192.168.1.101
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8
這個配置示例中, eth0和 eth1 表示兩張網(wǎng)卡的接口名稱。這兩個接口的IP地址、掩碼、網(wǎng)關(guān)和DNS服務(wù)器地址必須相同,以確保兩個接口之間的網(wǎng)絡(luò)鏈路是相同的。因此,當(dāng)一個接口出現(xiàn)問題時,另一個接口可以順利地繼續(xù)接管網(wǎng)絡(luò)。
快速高效切換技巧
在實(shí)際網(wǎng)絡(luò)中,即使不發(fā)生網(wǎng)卡故障或鏈路中斷,也可能需要切換兩張網(wǎng)卡,比如說負(fù)載均衡、流量控制以及路由切換等。這里介紹幾個快速高效的網(wǎng)卡切換技巧。
1. 使用ifdown和ifup命令
ifdown和ifup是Linux系統(tǒng)中用于關(guān)閉和啟動網(wǎng)卡的命令??梢允褂靡韵旅罱煤蛦⒂媒涌冢?/p>
sudo ifdown eth0
sudo ifup eth0
這個命令將先禁用 eth0 接口,然后重啟 eth0 接口。使用這個命令可以實(shí)現(xiàn)比其他命令更快速、更可靠的切換。
2. 使用ip命令
ip命令是一個更高級的網(wǎng)絡(luò)管理工具,擁有強(qiáng)大的功能。使用以下命令關(guān)閉和啟動接口:
sudo ip link set eth0 down
sudo ip link set eth0 up
這個命令將關(guān)閉eth0接口,然后再啟動eth0接口。使用這個命令可以快速地切換兩張網(wǎng)卡,同時還可以進(jìn)行更細(xì)粒度的控制。
3. 使用cron和ping命令
通常,我們需要監(jiān)控網(wǎng)絡(luò)鏈路是否正常,并及時地進(jìn)行網(wǎng)卡切換。可以使用cron和ping組合命令來實(shí)現(xiàn)這個目的。創(chuàng)建一個簡單的ping腳本,該腳本可以在每個時間段內(nèi)給一個服務(wù)器發(fā)送 ping 信號。以下是一個示例腳本:
#!/bin/bash
DATE=`date +%Y-%m-%d-%H-%M-%S`
RESULT=$(ping -c4 192.168.1.1 | grep ‘received’ | awk -F’,’ ‘{ print $2 }’ | awk ‘{ print $1 }’)
if [ $RESULT -eq 0 ]; then
echo “Ping Fled for 192.168.1.1 at $DATE”
sudo ifdown eth0 && sudo ifup eth1
echo “Switched from eth0 to eth1 at $DATE”
exit 1
else
echo “Ping Succeeded for 192.168.1.1 at $DATE”
fi
這個腳本將在每個時間段內(nèi)執(zhí)行四次ping操作,并記錄響應(yīng)結(jié)果。如果ping操作失敗,則將禁用eth0接口并啟用eth1接口。將這個腳本與cron組合使用,可以在自定義的時間段內(nèi)自動掃描網(wǎng)絡(luò)狀態(tài),并及時切換網(wǎng)卡。
在本文中,我們討論了如何在Linux系統(tǒng)上配置和使用雙冗余網(wǎng)卡,并介紹了一些快速高效的網(wǎng)卡切換技巧。使用這些技巧,您可以快速創(chuàng)建一個高性能、高可靠性的網(wǎng)絡(luò)系統(tǒng)。無論是在企業(yè)環(huán)境還是在個人系統(tǒng)中,雙冗余網(wǎng)卡都能為您提供更加穩(wěn)定、更加可靠的網(wǎng)絡(luò)連接。
相關(guān)問題拓展閱讀:
- Linux下雙網(wǎng)卡綁定七種模式
- Linux下雙網(wǎng)卡NAT組網(wǎng)
Linux下雙網(wǎng)卡綁定七種模式
現(xiàn)在一般毀陪的企業(yè)都會使用雙網(wǎng)卡接入,這樣既能添加網(wǎng)絡(luò)帶寬,同時又能做相應(yīng)的冗余,可以說是好處多多。而一般企業(yè)都會使用linux操作系統(tǒng)下自帶的網(wǎng)卡綁定模式,當(dāng)然現(xiàn)在網(wǎng)卡產(chǎn)商也會出一些針對windows操作系統(tǒng)網(wǎng)卡管理軟件來做網(wǎng)卡綁定(windows操作系統(tǒng)沒有網(wǎng)卡綁定功能爛脊 需要第三方支持)。進(jìn)入正題,linux有七種網(wǎng)卡綁定模式:0. round robin,1.active-backup,2.load balancing (xor), 3.fault-tolerance (broadcast), 4.lacp, 5.tranit load balancing, 6.adaptive load balancing。 之一種:bond0:round robin標(biāo)準(zhǔn):round-robin policy: Tranit packets in sequential order from the first available slave through the last. This mode provides load balancing and fault tolerance.
特點(diǎn):(1)所有鏈路處于負(fù)載均衡狀態(tài),輪詢方式往每條鏈路發(fā)送報文,基于per packet方式發(fā)送。服務(wù)上ping 一個相同地址:1.1.1.1 雙網(wǎng)卡的兩個網(wǎng)卡都有流量發(fā)出。負(fù)載到兩條鏈路上,說明是基于per packet方式 ,進(jìn)行輪詢發(fā)送。(2)這模式的特點(diǎn)增加了帶寬,同時支持容錯能力,當(dāng)有鏈路出問題,會把流量切換到正常的鏈路上。
實(shí)際綁定結(jié)果: cat /proc/net/bonding/饑余滲bond0 Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2023) Bonding Mode: load balancing (round-robin) -----RR的模式 MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 Slave Interface: eth0 MII Status: up Link Failure Count: 0 Permanent HW addr: 74:ea:3a:6a:54:e3 Slave Interface: eth1 MII Status: up Link Failure Count: 0
應(yīng)用拓?fù)洌航粨Q機(jī)端需要配置聚合口,cisco叫port channel。拓?fù)鋱D如下:
第二種:bond1:active-backup標(biāo)準(zhǔn)文檔定義:Active-backup policy: Only one slave in the bond is active. A different slave becomes active if, and only if, the active slave fails. The bond’s MAC address is externally visible on only one port (network adapter) to avoid confusing the switch. This mode provides fault tolerance. The primary option affects the behavior of this mode.
模式的特點(diǎn):一個端口處于主狀態(tài) ,一個處于從狀態(tài),所有流量都在主鏈路上處理,從不會有任何流量。當(dāng)主端口down掉時,從端口接手主狀態(tài)。
實(shí)際綁定結(jié)果: root@1:~# cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2023) Bonding Mode: fault-tolerance (active-backup) —–backup模式 Primary Slave: None Currently Active Slave: eth0 MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 Slave Interface: eth0 MII Status: up Link Failure Count: 0 Permanent HW addr: 74:ea:3a:6a:54:e3 Slave Interface: eth1 MII Status: up Link Failure Count: 0 Permanent HW addr: d8:5d:4c:71:f9:94
應(yīng)用拓?fù)洌哼@種模式接入不需要交換機(jī)端支持,隨便怎么接入都行。
第三種:bond2:load balancing (xor)標(biāo)準(zhǔn)文檔描述:XOR policy: Tranit based on . This selects the same slave for each destination MAC address. This mode provides load balancing and fault tolerance.
特點(diǎn):該模式將限定流量,以保證到達(dá)特定對端的流量總是從同一個接口上發(fā)出。既然目的地是通過MAC地址來決定的,因此該模式在”本地”網(wǎng)絡(luò)配置下可以工作得很好。如果所有流量是通過單個路由器(比如 “網(wǎng)關(guān)”型網(wǎng)絡(luò)配置,只有一個網(wǎng)關(guān)時,源和目標(biāo)mac都固定了,那么這個算法算出的線路就一直是同一條,那么這種模式就沒有多少意義了。),那該模式就不是更好的選擇。和balance-rr一樣,交換機(jī)端口需要能配置為”port channel”。這模式是通過源和目標(biāo)mac做hash因子來做xor算法來選路的。
實(shí)際綁定結(jié)果: # cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v3.0.3 (March 23, 2023) Bonding Mode: load balancing (xor) ——配置為xor模式 Tranit Hash Policy: layer2 (0) MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 Slave Interface: eth1 MII Status: up Link Failure Count: 0 Permanent HW addr: 00:d0:f8:40:f1:a0 Slave Interface: eth2 MII Status: up Link Failure Count: 0 Permanent HW addr: 00:d0:f8:00:0c:0c
應(yīng)用拓?fù)洌和琤ond0一樣的應(yīng)用模型。這個模式也需要交換機(jī)配置聚合口。
第四種:bond3:fault-tolerance (broadcast)標(biāo)準(zhǔn)文檔定義:Broadcast policy: tranits everything on all slave interfaces. This mode provides fault tolerance.
特點(diǎn):這種模式的特點(diǎn)是一個報文會復(fù)制兩份往bond下的兩個接口分別發(fā)送出去,當(dāng)有對端交換機(jī)失效,我們感覺不到任何downtime,但此法過于浪費(fèi)資源;不過這種模式有很好的容錯機(jī)制。此模式適用于金融行業(yè),因?yàn)樗麄冃枰呖煽啃缘木W(wǎng)絡(luò),不允許出現(xiàn)任何問題。
實(shí)際綁定結(jié)果: root@ubuntu12:~/ram# cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2023) Bonding Mode: fault-tolerance (broadcast) ——- fault-tolerance 模式 MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 Slave Interface: eth0 MII Status: up Link Failure Count: 0 Permanent HW addr: 74:ea:3a:6a:54:e3 Slave Interface: eth1 MII Status: up Link Failure Count: 0 Permanent HW addr: d8:5d:4c:71:f9:94
應(yīng)用拓?fù)洌喝缦拢?/p>
這種模式適用于如下拓?fù)?,兩個接口分別接入兩臺交換機(jī),并且屬于不同的vlan,當(dāng)一邊的網(wǎng)絡(luò)出現(xiàn)故障不會影響服務(wù)器另一邊接入的網(wǎng)絡(luò)正常工作。而且故障過程是0丟包。下面展示了這種模式下ping信息: 64 bytes from 1.1.1.1: icmp_seq=901 ttl=64 time=0.205 ms 64 bytes from 1.1.1.1: icmp_seq=901 ttl=64 time=0.213 ms (DUP!) —dup為重復(fù)報文 64 bytes from 1.1.1.1: icmp_seq=902 ttl=64 time=0.245 ms 64 bytes from 1.1.1.1: icmp_seq=902 ttl=64 time=0.254 ms (DUP!) 64 bytes from 1.1.1.1: icmp_seq=903 ttl=64 time=0.216 ms 64 bytes from 1.1.1.1: icmp_seq=903 ttl=64 time=0.226 ms (DUP!) 從這個ping信息可以看到,這種模式的特點(diǎn)是,同一個報文服務(wù)器會復(fù)制兩份分別往兩條線路發(fā)送,導(dǎo)致回復(fù)兩份重復(fù)報文,這種模式有浪費(fèi)資源的嫌疑。
第五種:bond4:lacp
標(biāo)準(zhǔn)文檔定義:IEEE 802.3ad Dynamic link aggregation. Creates aggregation groups that share the same speed and duplex settings. Utilizes all slaves in the active aggregator according to the 802.3ad specification. Pre-requisites: 1. Ethtool support in the base drivers for retrieving.the speed and duplex of each slave. 2. A switch that supports IEEE 802.3ad Dynamic link aggregation. Most switches will require some type of configuration to enable 802.3ad mode.
特點(diǎn):802.3ad模式是IEEE標(biāo)準(zhǔn),因此所有實(shí)現(xiàn)了802.3ad的對端都可以很好的互操作。802.3ad 協(xié)議包括聚合的自動配置,因此只需要很少的對交換機(jī)的手動配置(要指出的是,只有某些設(shè)備才能使用802.3ad)。802.3ad標(biāo)準(zhǔn)也要求幀按順序(一定程度上)傳遞,因此通常單個連接不會看到包的亂序。802.3ad也有些缺點(diǎn):標(biāo)準(zhǔn)要求所有設(shè)備在聚合操作時,要在同樣的速率和雙工模式,而且,和除了balance-rr模式外的其它bonding負(fù)載均衡模式一樣,任何連接都不能使用多于一個接口的帶寬。 此外,linux bonding的802.3ad實(shí)現(xiàn)通過對端來分發(fā)流量(通過MAC地址的XOR值),因此在”網(wǎng)關(guān)”型配置下,所有外出(Outgoing)流量將使用同一個設(shè)備。進(jìn)入(Incoming)的流量也可能在同一個設(shè)備上終止,這依賴于對端802.3ad實(shí)現(xiàn)里的均衡策略。在”本地”型配置下,路兩將通過 bond里的設(shè)備進(jìn)行分發(fā)。
實(shí)際綁定結(jié)果: root@:~# cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2023) Bonding Mode: IEEE 802.3ad Dynamic link aggregation Tranit Hash Policy: layer2 (0) MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 802.3ad info LACP rate: slow Aggregator selection policy (ad_select): stable Active Aggregator Info: Aggregator ID: 1 Number of ports: 1 Actor Key: 9 Partner Key: 1 Partner Mac Address: 00:00:00:00:00:00 Slave Interface: eth0 MII Status: up Link Failure Count: 0 Permanent HW addr: 74:ea:3a:6a:54:e3 Aggregator ID: 1 Slave Interface: eth1 MII Status: up Link Failure Count: 0 Permanent HW addr: d8:5d:4c:71:f9:94 Aggregator ID: 2
應(yīng)用拓?fù)洌簯?yīng)用拓?fù)渫琤ond0,和bond2一樣,不過這種模式除了配置port channel之外還要在port channel聚合口下開啟LACP功能,成功協(xié)商后,兩端可以正常通信。否則不能使用。
交換機(jī)端配置: interface AggregatePort 1 配置聚合口 interface GigabitEthernet 0/23 port-group 1 mode active 接口下開啟lacp 主動模式 interface GigabitEthernet 0/24 port-group 1 mode active
第六種:bond5: tranit load balancing
標(biāo)準(zhǔn)文檔定義:Adaptive tranit load balancing: channel bonding that does not require any special switch support. The outgoing traffic is distributed according to the current load (computed relative to the speed) on each slave. Incoming traffic is received by the current slave. If the receiving slave fails, another slave takes over the MAC address of the failed receiving slave. Prerequisite: Ethtool support in the base drivers for retrieving the speed of each slave.
特點(diǎn):balance-tlb模式通過對端均衡外出(outgoing)流量。既然它是根據(jù)MAC地址進(jìn)行均衡,在”網(wǎng)關(guān)”型配置(如上文所述)下,該模式會通過單個設(shè)備來發(fā)送所有流量,然而,在”本地”型網(wǎng)絡(luò)配置下,該模式以相對智能的方式(不是balance-xor或802.3ad模式里提及的XOR方式)來均衡多個本地網(wǎng)絡(luò)對端,因此那些數(shù)字不幸的MAC地址(比如XOR得到同樣值)不會聚集到同一個接口上。 不像802.3ad,該模式的接口可以有不同的速率,而且不需要特別的交換機(jī)配置。不利的一面在于,該模式下所有進(jìn)入的(incoming)流量會到達(dá)同一個接口;該模式要求slave接口的網(wǎng)絡(luò)設(shè)備驅(qū)動有某種ethtool支持;而且ARP監(jiān)控不可用。
實(shí)際配置結(jié)果: cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v3.0.3 (March 23, 2023) Bonding Mode: tranit load balancing —–TLB模式 Primary Slave: None Currently Active Slave: eth1 MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 Slave Interface: eth1 MII Status: up Link Failure Count: 0 Permanent HW addr: 00:d0:f8:40:f1:a0 Slave Interface: eth2 MII Status: up Link Failure Count: 0 Permanent HW addr: 00:d0:f8:00:0c:0c
應(yīng)用拓?fù)洌哼@個模式下bond成員使用各自的mac,而不是上面幾種模式是使用bond0接口的mac。
如上圖,設(shè)備開始時會發(fā)送免費(fèi)arp,以主端口eth1的mac為源,當(dāng)客戶端收到這個arp時就會在arp緩存中記錄下這個mac對的ip。而在這個模式下,服務(wù)器每個端口在ping操作時,會根據(jù)算法算出出口,地址不斷變化時他,這時會負(fù)載到不同端口。實(shí)驗(yàn)中ping1.1.1.3時往eth2發(fā)送,源mac為00:D0:F8:00:0C:0C,ping1.1.1.4是往eth1發(fā)送,源mac為00:D0:F8:40:F1:A0,以此類推,所以從服務(wù)器出去的流量負(fù)載到兩條線路,但是由于服務(wù)發(fā)arp時只用00:D0:F8:40:F1:A0,這樣客戶端緩沖記錄的是00:D0:F8:40:F1:A0對的ip,封裝時目標(biāo)mac:00:D0:F8:40:F1:A0。這樣進(jìn)入服務(wù)的流量都只往eth1(00:D0:F8:40:F1:A0)走。設(shè)備會一直發(fā)入snap報文,eth1發(fā)送源為00d0.f840.f1a0的snap報文,eth2發(fā)送源為00d0.f800.0c0c的snap報文。這個snap報文mac和目標(biāo)mac一樣都是網(wǎng)卡本地mac,源ip和目標(biāo)ip也一樣,這個報文的作用是檢測線路是否正常的回環(huán)報文。 注:可以通過修改bond0的mac地址來引導(dǎo)他發(fā)修改后的源mac的免費(fèi)arp(MACADDR=00:D0:F8:00:0C:0C)
第七種:bond6:adaptive load balancing特點(diǎn):該模式包含了balance-tlb模式,同時加上針對IPV4流量的接收負(fù)載均衡(receive load balance, rlb),而且不需要任何switch(交換機(jī))的支持。接收負(fù)載均衡是通過ARP協(xié)商實(shí)現(xiàn)的。bonding驅(qū)動截獲本機(jī)發(fā)送的ARP應(yīng)答,并把源硬件地址改寫為bond中某個slave的唯一硬件地址,從而使得不同的對端使用不同的硬件地址進(jìn)行通信。所有端口都會收到對端的arp請求報文,回復(fù)arp回時,bond驅(qū)動模塊會截獲所發(fā)的arp回復(fù)報文,根據(jù)算法算到相應(yīng)端口,這時會把a(bǔ)rp回復(fù)報文的源mac,send源mac都改成相應(yīng)端口mac。從抓包情況分析回復(fù)報文是之一個從端口1發(fā),第二個從端口2發(fā)。以此類推。 (還有一個點(diǎn):每個端口除發(fā)送本端口回復(fù)的報文,也同樣會發(fā)送其他端口回復(fù)的報文,mac還是其他端口的mac)這樣來自服務(wù)器端的接收流量也會被均衡。 當(dāng)本機(jī)發(fā)送ARP請求時,bonding驅(qū)動把對端的IP信息從ARP包中復(fù)制并保存下來。當(dāng)ARP應(yīng)答從對端到達(dá)時,bonding驅(qū)動把它的硬件地址提取出來,并發(fā)起一個ARP應(yīng)答給bond中的某個slave(這個算法和上面一樣,比如算到1口,就給發(fā)送arp請求,1回復(fù)時mac用1的mac)。使用ARP協(xié)商進(jìn)行負(fù)載均衡的一個問題是:每次廣播 ARP請求時都會使用bond的硬件地址,因此對端學(xué)習(xí)到這個硬件地址后,接收流量將會全部流向當(dāng)前的slave。這個問題通過給所有的對端發(fā)送更新(ARP應(yīng)答)來解決,往所有端口發(fā)送應(yīng)答,應(yīng)答中包含他們獨(dú)一無二的硬件地址,從而導(dǎo)致流量重新分布。當(dāng)新的slave加入到bond中時,或者某個未激活的slave重新激活時,接收流量也要重新分布。接收的負(fù)載被順序地分布(round robin)在bond中更高速的slave上 當(dāng)某個鏈路被重新接上,或者一個新的slave加入到bond中,接收流量在所有當(dāng)前激活的slave中全部重新分配,通過使用指定的MAC地址給每個 client發(fā)起ARP應(yīng)答。下面介紹的updelay參數(shù)必須被設(shè)置為某個大于等于switch(交換機(jī))轉(zhuǎn)發(fā)延時的值,從而保證發(fā)往對端的ARP應(yīng)答不會被switch(交換機(jī))阻截。 必要條件: 條件1:ethtool支持獲取每個slave的速率; 條件2:底層驅(qū)動支持設(shè)置某個設(shè)備的硬件地址,從而使得總是有個slave(curr_active_slave)使用bond的硬件地址,同時保證每個bond 中的slave都有一個唯一的硬件地址。如果curr_active_slave出故障,它的硬件地址將會被新選出來的 curr_active_slave接管。
實(shí)際配置結(jié)果: root@:/tmp# cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2023) Bonding Mode: adaptive load balancing Primary Slave: None Currently Active Slave: eth0 MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 Slave Interface: eth0 MII Status: up Link Failure Count: 0 Permanent HW addr: 74:ea:3a:6a:54:e3 Slave Interface: eth1 MII Status: up Link Failure Count: 0 Permanent HW addr: d8:5d:4c:71:f9:94
應(yīng)用拓?fù)洌?/p>
A是雙網(wǎng)卡綁定。 當(dāng)B 發(fā)送一個arp請求到達(dá)A時,按正常情況A會回應(yīng)一個arp回應(yīng)報文,源mac為bond的mac,源就是bond的ip。但是這個模式下bonding驅(qū)動會截獲這個arp回應(yīng),把源mac改成bond狀態(tài) 下其中某一個網(wǎng)卡的mac:mac1,這樣B收到這個arp回應(yīng)時就會在arp緩存中記錄下ip:1.1.1.1對應(yīng)的mac為mac1。這樣B的過來的流量都走M(jìn)AC1. 當(dāng)C 發(fā)送一個arp請求到達(dá)A時,按正常情況A會回應(yīng)一個arp回應(yīng)報文,源mac為bond的mac,源就是bond的ip。但是這個模式下bonding驅(qū)動會截獲這個arp回應(yīng),把源mac改成bond狀態(tài) 下其中某一個網(wǎng)卡的mac:mac2,這樣C收到這個arp回應(yīng)時就會在arp緩存中記錄下ip:1.1.1.1對應(yīng)的mac為mac2。這樣C的過來的流量都走M(jìn)AC2. 這樣就可以做到回來讓回來的流量也負(fù)載均衡。出方向均衡和MODE=5一致,不同地址會根據(jù)xor算法算出不同出口,發(fā)不同出口發(fā)送相應(yīng)的arp ,mac是對應(yīng)網(wǎng)卡的mac。
===================================================
Linux (RedHat, Ubuntu, etc.) Bonding 共提供了六種模式:
名辭解釋: 在bonding的領(lǐng)域里, 英文slave interface表示某個實(shí)體連線的意思; 因此指令名稱為: ifenslave
mode=0 (balance-rr): 采取依序使用的連線的方式,提供了負(fù)載均衡及容錯的功能?
mode=1 (active-backup): 眾多的連線中,只有一個是啟用的狀態(tài),當(dāng)啟用的連線失效(敗),則由備援的連線接手,提供容錯機(jī)制。
mode=2 (balance-xor): 采用xor的演算法來選擇傳輸?shù)倪B線,其結(jié)果是以目的地MAC為基準(zhǔn)選擇哪一條連線;提供了負(fù)載均衡及容錯機(jī)制。
mode=3 ( broadcast): 把封包送到所有的連線,當(dāng)有連線失效沒有任何downtime,但此法過於浪費(fèi)連線資源;有容錯機(jī)制。
mode=4 (802.3ad, LACP): IEEE 802.3ad Dynamic Link Aggregation協(xié)定;提供較好的機(jī)制,并可搭配802.1Q trunking同時介接不同的VLAN;惟獨(dú)此法必須與支援802.3ad的交換機(jī)介接,并且每個slave的驅(qū)動程式都需支援ethtool擷取介面的訊息, 較為豪華,但是提供了相當(dāng)優(yōu)良的應(yīng)用,負(fù)載均衡及容錯機(jī)制。
mode=5 (balance-tlb): Adaptive Tranit load balancing; 無須交換機(jī)支援但slave驅(qū)動程式需支援ethtool;根據(jù)連線介面卡的負(fù)載決定traffic如何送出,回覆的traffic則由送出的salve接收。
Linux下雙網(wǎng)卡NAT組網(wǎng)
最近在Linux下有兩個WiFi模組(一個為2.4GHz,另一個為2.4GHz+5GHz雙頻),剛好路由器為2.4GHz的,而其他接收設(shè)備在2.4GHz下數(shù)據(jù)處理不穩(wěn)定,想切換為5GHz嘗試,故而將兩個WiFi模組同時連接告和到PC上(通過USB接口),當(dāng)驅(qū)動都加載答孫成功時會映射出wlan0和wlan1,關(guān)于AP和STA的配置部分在此清友鏈不說明,下面主要說明下如何讓wlan0(2.4G,連接外網(wǎng),作STA)和wlan1(雙頻,連接內(nèi)網(wǎng),作AP)進(jìn)行IP轉(zhuǎn)發(fā)操作,其實(shí)也很簡單,只需要執(zhí)行如下命令即可:
echo 1 > /proc/sys/net/ipv4/ip_forward
/system/bin/iptables -A FORWARD -i wlan1 -o wlan0 -m state –state ESTABLISHED,RELATED -j ACCEPT
/system/bin/iptables -A FORWARD -i wlan1 -o wlan0 -j ACCEPT
/system/bin/iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
其中之一條命令很重要,作用是打開IP轉(zhuǎn)發(fā)功能,然后接下來三條命令是添加路由規(guī)則(后兩條就夠了)。
參照
文章,上面的語句應(yīng)改為:
echo 1 > /proc/sys/net/ipv4/ip_forward
/system/bin/iptables -A FORWARD -i wlan0 -o wlan1 -m state –state ESTABLISHED,RELATED -j ACCEPT
/system/bin/iptables -A FORWARD -i wlan1 -o wlan0 -j ACCEPT
/system/bin/iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
linux雙冗余網(wǎng)卡高速切換的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于linux雙冗余網(wǎng)卡高速切換,Linux雙冗余網(wǎng)卡,快速高效切換技巧,Linux下雙網(wǎng)卡綁定七種模式,Linux下雙網(wǎng)卡NAT組網(wǎng)的信息別忘了在本站進(jìn)行查找喔。
成都創(chuàng)新互聯(lián)建站主營:成都網(wǎng)站建設(shè)、網(wǎng)站維護(hù)、網(wǎng)站改版的網(wǎng)站建設(shè)公司,提供成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、成都網(wǎng)站推廣、成都網(wǎng)站優(yōu)化seo、響應(yīng)式移動網(wǎng)站開發(fā)制作等網(wǎng)站服務(wù)。
本文題目:Linux雙冗余網(wǎng)卡,快速高效切換技巧(linux雙冗余網(wǎng)卡高速切換)
文章轉(zhuǎn)載:http://fisionsoft.com.cn/article/dhhdhce.html


咨詢
建站咨詢
