最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Linux網(wǎng)卡Bond設(shè)置方式

 更新時間:2026年01月27日 10:31:26   作者:楊了個楊8982  
網(wǎng)卡Bond技術(shù)通過將多個物理網(wǎng)絡接口組合成一個邏輯接口,實現(xiàn)網(wǎng)絡帶寬的增加、可靠性提升和負載均衡,支持多種模式,如輪詢模式、主備模式等,并提供了基于配置文件、nmcli命令和腳本三種配置方法

一、網(wǎng)卡Bond介紹

1.概念

網(wǎng)卡 Bond 是一種網(wǎng)絡技術(shù),也被稱為鏈路聚合、端口綁定或接口綁定,能將多個物理網(wǎng)絡接口組合成一個邏輯接口。

2.工作原理及作用

bond模式增加網(wǎng)絡帶寬提高網(wǎng)絡可靠性實現(xiàn)負載均衡適用場景備注
Mode 0 : Balance-RR(輪詢模式)

原理:依次將數(shù)據(jù)包按順序分配到各個成員接口發(fā)送。例如有三個成員接口,第一個數(shù)據(jù)包從接口 1 發(fā)送,第二個從接口 2 發(fā)送,第三個從接口 3 發(fā)送,之后循環(huán)。


效果:能充分利用所有成員接口的帶寬,將多個接口的帶寬疊加,從而增加整體網(wǎng)絡帶寬。

原理:按順序依次在成員接口上發(fā)送數(shù)據(jù)包,均勻分配流量。


效果:將網(wǎng)絡流量平均分配到各個成員接口,實現(xiàn)負載均衡。

適用于需要高帶寬且對數(shù)據(jù)包順序要求不高的環(huán)境,例如數(shù)據(jù)中心內(nèi)部服務器之間的高速數(shù)據(jù)傳輸。需要交換機設(shè)置
Mode 1 : Active-Backup(主備模式)

原理:設(shè)置一個主接口和多個備用接口,正常情況下只有主接口工作,當主接口出現(xiàn)故障時,自動切換到備用接口中的一個繼續(xù)工作。


效果:提供了接口級別的冗余,當某個接口出現(xiàn)硬件故障、鏈路中斷等問題時,能迅速切換到備用接口,保障網(wǎng)絡連接的可靠性。

適用于對網(wǎng)絡可靠性要求較高,但對帶寬需求相對穩(wěn)定的場景,像關(guān)鍵業(yè)務服務器的網(wǎng)絡連接。
Mode 2 : Balance-XOR(基于異或的負載均衡)

原理:根據(jù)數(shù)據(jù)包的源 MAC 地址、目標 MAC 地址或 IP 地址等信息通過異或算法計算,根據(jù)結(jié)果選擇成員接口發(fā)送。


效果:在一定程度上實現(xiàn)負載均衡,讓多個接口共同傳輸數(shù)據(jù),增加網(wǎng)絡帶寬,且能保證同一數(shù)據(jù)流的數(shù)據(jù)包從同一接口發(fā)送,避免亂序。

原理:依據(jù)數(shù)據(jù)包的相關(guān)地址信息計算結(jié)果選擇接口發(fā)送,一定程度上分散流量。


效果:實現(xiàn)了一定的負載均衡,避免單個接口流量過大。

適用于對數(shù)據(jù)包順序有要求且需要一定負載均衡的場景,如視頻流傳輸。需要交換機設(shè)置
Mode 3 : Broadcast(廣播模式)這種模式使用較少,主要用于一些特殊的測試環(huán)境或?qū)W(wǎng)絡可靠性要求極高但對帶寬利用效率不敏感的場景。需要交換機設(shè)置
Mode 4 : 802.3ad(動態(tài)鏈路聚合)

原理:需交換機支持 802.3ad 協(xié)議,通過鏈路聚合控制協(xié)議(LACP)與交換機協(xié)商,動態(tài)將流量分配到成員接口。


效果:可動態(tài)實現(xiàn)負載均衡,根據(jù)各接口帶寬使用情況自動調(diào)整流量分配,充分利用所有成員接口帶寬,顯著增加網(wǎng)絡帶寬。

原理:通過 LACP 協(xié)議與交換機協(xié)商,當某個成員接口出現(xiàn)故障時,協(xié)議能自動檢測到并將流量重新分配到其他正常的接口上。


效果:具備很好的容錯能力,提高了網(wǎng)絡的可靠性,即使部分接口出現(xiàn)問題,也能保證網(wǎng)絡的正常通信。

原理:通過 LACP 協(xié)議與交換機動態(tài)協(xié)商,根據(jù)接口狀態(tài)和帶寬使用情況分配流量。


效果:動態(tài)地將流量合理分配到各個成員接口,實現(xiàn)高效的負載均衡。

適用于需要高帶寬和高可靠性的企業(yè)網(wǎng)絡環(huán)境,如數(shù)據(jù)中心的核心交換機與服務器之間的連接。需要交換機設(shè)置
Mode 5 : Balance-TLB(傳輸負載均衡)

原理:無需交換機特殊支持,根據(jù)成員接口當前負載動態(tài)分配發(fā)送流量,接收流量由單個接口完成。


效果:有效利用各成員接口帶寬進行數(shù)據(jù)發(fā)送,在發(fā)送方向增加網(wǎng)絡帶寬。

原理:根據(jù)成員接口當前負載動態(tài)分配發(fā)送流量。


效果:在數(shù)據(jù)發(fā)送方向?qū)崿F(xiàn)負載均衡,提高接口利用率。

適用于發(fā)送流量較大,但接收流量相對穩(wěn)定的場景,如文件服務器。
Mode 6 : Balance-ALB(自適應負載均衡)

原理:是 balance - tlb 的增強版,不僅能動態(tài)分配發(fā)送流量,還能通過 ARP 協(xié)商動態(tài)分配接收流量。


效果:在發(fā)送和接收方向都實現(xiàn)負載均衡,充分利用所有成員接口帶寬,最大程度增加網(wǎng)絡帶寬。

原理:在流量分配過程中,當某個成員接口故障時,能自動將流量轉(zhuǎn)移到其他正常接口。


效果:在實現(xiàn)負載均衡的同時,提高了網(wǎng)絡的可靠性,確保網(wǎng)絡通信的穩(wěn)定性。

原理:在發(fā)送和接收方向都能根據(jù)接口情況和 ARP 協(xié)商動態(tài)分配流量。


效果:全面實現(xiàn)負載均衡,優(yōu)化網(wǎng)絡性能。

適用于對網(wǎng)絡帶寬和性能要求極高的場景,如云計算數(shù)據(jù)中心。

常用的有三種:
mode=0:平衡負載模式,有自動備援,但需要”Switch”支援及設(shè)定。
mode=1:自動備援模式,其中一條線若斷線,其他線路將會自動備援。
mode=6:平衡負載模式,有自動備援。

二、網(wǎng)卡Bond設(shè)置

方法一:基于配置文件配置(Bond=0)

1.查看可用網(wǎng)卡:使用ifconfig -a或ip addr show命令查看系統(tǒng)中的可用網(wǎng)卡,確定要綁定的物理網(wǎng)卡,如eth0、eth1。

2.創(chuàng)建或編輯物理網(wǎng)卡配置文件:在/etc/sysconfig/network-scripts/目錄下,編輯要綁定的物理網(wǎng)卡的配置文件。例如,對于eth0和eth1,打開對應的ifcfg-eth0和ifcfg-eth1文件。在文件中添加或修改以下內(nèi)容:

DEVICE=eth0 或 eth1
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
USERCTL=no

3.創(chuàng)建或編輯 Bond 接口配置文件:在同一目錄下創(chuàng)建或編輯ifcfg-bond0文件,內(nèi)容如下:

TYPE=Ethernet
DEVICE=bond0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
BONDING_OPTS="miimon=100 mode=0 fail_over_mac=1"

其中BONDING_OPTS中的miimon表示鏈路監(jiān)測間隔,其值為 100 表示每 100 毫秒對網(wǎng)絡鏈路的狀態(tài)進行一次監(jiān)測;mode指定 Bond 模式,mode=0 表示采用輪詢模式;fail_over_mac用于設(shè)置故障切換時的 MAC 地址選項,fail_over_mac=1 表示在主備切換時,綁定設(shè)備的 MAC 地址會切換為當前活動接口的 MAC 地址。

4.重啟服務器:使用reboot重啟服務器使配置生效。

方法二:基于 nmcli 命令配置(Bond=1)(推薦)

1.查看可用網(wǎng)卡

使用nmcli device status命令查看系統(tǒng)中的可用網(wǎng)卡,確定要綁定到bond1的物理網(wǎng)卡,比如ens224和ens256。

2.創(chuàng)建 bond1 接口

執(zhí)行以下命令創(chuàng)建名為bond1的 Bond 接口,并指定模式為balance-rr(輪詢模式),你也可以根據(jù)需求將模式修改為其他模式,如active-backup等。

nmcli connection add type bond ifname bond1 mode balance-rr

備注:

# 創(chuàng)建bond0
nmcli connection add type bond ifname bond0 mode active-backup
# 創(chuàng)建bond1
nmcli connection add type bond ifname bond1 mode balance-rr
# 創(chuàng)建bond2
nmcli connection add type bond ifname bond2 mode balance-xor
# 創(chuàng)建bond3
nmcli connection add type bond ifname bond3 mode broadcast
# 創(chuàng)建bond4
nmcli connection add type bond ifname bond4 mode 802.3ad
# 創(chuàng)建bond5
nmcli connection add type bond ifname bond5 mode balance-tlb
# 創(chuàng)建bond6
nmcli connection add type bond ifname bond6 mode balance-alb

3.配置 bond1 的 IP 等信息

若要設(shè)置靜態(tài) IP 地址,可使用以下命令。假設(shè)要設(shè)置 IP 地址為192.168.10.81,子網(wǎng)掩碼為255.255.255.0,網(wǎng)關(guān)為192.168.10.251

nmcli connection modify bond-bond1 ipv4.addresses 192.168.10.81/24 ipv4.gateway 192.168.10.251 ipv4.method manual

若要使用 DHCP 獲取 IP 地址,則執(zhí)行:

nmcli connection modify bond-bond1 ipv4.method auto

4.添加物理網(wǎng)卡到 bond1

將ens224和ens256添加到bond1,執(zhí)行以下命令:

nmcli connection add type bond-slave ifname ens224 master bond-bond1
nmcli connection add type bond-slave ifname ens256 master bond-bond1

5.啟用 bond1 及相關(guān)連接

nmcli connection reload
nmcli connection up bond-bond1
reboot

6.查看 bond1 配置及狀態(tài)

使用nmcli connection show bond-bond1命令查看bond1的詳細配置信息,使用nmcli device status命令查看設(shè)備狀態(tài),確保bond1及相關(guān)物理網(wǎng)卡已正確配置和啟用。配置完成后,還可以使用ping命令等測試網(wǎng)絡連接是否正常。

使用cat /proc/net/bonding/bond1查看bond1的狀態(tài),確認是否配置成功。

方法三:使用腳本

#!/usr/bin/env bash
set -euo pipefail

need_cmd() { command -v "$1" >/dev/null 2>&1 || { echo "缺少命令: $1"; exit 1; }; }
need_cmd nmcli
need_cmd ip

echo "===  Bond 自動化配置腳本 ==="

# 讀取可用物理網(wǎng)卡(排除 lo、bond、vlan、bridge、tun、docker 等)
mapfile -t IFACES < <(
  nmcli -t -f DEVICE,TYPE device status |
  awk -F: '
    $2=="ethernet" || $2=="infiniband" {
      dev=$1;
      if (dev!="lo" && dev!~/(^bond|^br|^virbr|^docker|^veth|^tun|^tap|^wg|^sit|^gre|^vlan)/) print dev
    }'
)

if (( ${#IFACES[@]} < 2 )); then
  echo "可用物理網(wǎng)卡少于 2 塊,無法創(chuàng)建 bond。"
  nmcli device status
  exit 1
fi

echo
echo "發(fā)現(xiàn)可用網(wǎng)卡:"
for i in "${!IFACES[@]}"; do
  dev="${IFACES[$i]}"
  state="$(nmcli -t -f DEVICE,STATE device status | awk -F: -v d="$dev" '$1==d{print $2}')"
  mac="$(nmcli -t -f GENERAL.HWADDR device show "$dev" 2>/dev/null | cut -d: -f2- || true)"
  ip4="$(ip -4 -o addr show "$dev" 2>/dev/null | awk '{print $4}' | head -n1 || true)"
  printf "  [%d] %-12s  state=%-12s  ip=%-18s  mac=%s\n" "$i" "$dev" "$state" "${ip4:-none}" "${mac:-unknown}"
done

echo
read -rp "請輸入 bond 名稱(默認 bond0): " BOND_NAME
BOND_NAME="${BOND_NAME:-bond0}"

echo
echo "請選擇 bond mode:"
echo "  1) balance-rr   (輪詢,需交換機支持/容忍亂序)"
echo "  2) active-backup(主備,最穩(wěn),無需交換機特殊配置)"
echo "  3) balance-xor  (基于 hash 分流,部分場景需配合交換機)"
echo "  4) broadcast"
echo "  5) 802.3ad      (LACP,推薦生產(chǎn);交換機需做鏈路聚合)"
echo "  6) balance-tlb"
echo "  7) balance-alb"
read -rp "輸入序號(默認 2): " MODE_NO
MODE_NO="${MODE_NO:-2}"

case "$MODE_NO" in
  1) BOND_MODE="balance-rr" ;;
  2) BOND_MODE="active-backup" ;;
  3) BOND_MODE="balance-xor" ;;
  4) BOND_MODE="broadcast" ;;
  5) BOND_MODE="802.3ad" ;;
  6) BOND_MODE="balance-tlb" ;;
  7) BOND_MODE="balance-alb" ;;
  *) echo "無效選擇"; exit 1 ;;
esac

echo
read -rp "請輸入 IPv4 地址(如 192.168.100.1): " IPADDR
read -rp "請輸入 CIDR 前綴(如 24): " PREFIX
ADDR_CIDR="${IPADDR}/${PREFIX}"

read -rp "是否配置網(wǎng)關(guān)? (y/N): " GW_YN
GW_YN="${GW_YN:-N}"
GATEWAY=""
if [[ "$GW_YN" =~ ^[Yy]$ ]]; then
  read -rp "請輸入網(wǎng)關(guān)(如 192.168.100.254): " GATEWAY
fi

read -rp "是否配置 DNS? (y/N): " DNS_YN
DNS_YN="${DNS_YN:-N}"
DNS_SERVERS=""
if [[ "$DNS_YN" =~ ^[Yy]$ ]]; then
  read -rp "請輸入 DNS(可多個,用逗號分隔,如 223.5.5.5,8.8.8.8): " DNS_SERVERS
fi

echo
echo "請選擇兩塊(或多塊)網(wǎng)卡作為 slave(輸入序號,用空格分隔,例如:0 1):"
read -rp "slave 序號: " -a IDX

if (( ${#IDX[@]} < 2 )); then
  echo "至少選擇 2 塊網(wǎng)卡。"
  exit 1
fi

SLAVES=()
for id in "${IDX[@]}"; do
  [[ "$id" =~ ^[0-9]+$ ]] || { echo "序號非法: $id"; exit 1; }
  (( id < ${#IFACES[@]} )) || { echo "越界序號: $id"; exit 1; }
  SLAVES+=("${IFACES[$id]}")
done

# 檢查重復
uniq_count="$(printf "%s\n" "${SLAVES[@]}" | sort -u | wc -l)"
if (( uniq_count != ${#SLAVES[@]} )); then
  echo "檢測到重復網(wǎng)卡選擇,請重新運行腳本。"
  exit 1
fi

echo
echo "=== 你將創(chuàng)建如下配置 ==="
echo "bond:   $BOND_NAME"
echo "mode:   $BOND_MODE"
echo "addr:   $ADDR_CIDR"
echo "gw:     ${GATEWAY:-<none>}"
echo "dns:    ${DNS_SERVERS:-<none>}"
echo "slaves: ${SLAVES[*]}"
echo

read -rp "確認執(zhí)行? (y/N): " OK
OK="${OK:-N}"
if [[ ! "$OK" =~ ^[Yy]$ ]]; then
  echo "已取消。"
  exit 0
fi

echo
echo ">>> 開始配置..."

# 如果已有同名連接,先提示并刪除(更可控)
if nmcli -t -f NAME connection show | grep -qx "$BOND_NAME"; then
  echo "檢測到已存在連接 $BOND_NAME,將刪除后重建。"
  nmcli connection delete "$BOND_NAME" || true
fi

# 刪除舊的 slave 連接(只刪我們腳本命名過的)
for dev in "${SLAVES[@]}"; do
  nmcli -t -f NAME connection show | grep -E "^${BOND_NAME}-slave-${dev}$" | while IFS= read -r con; do
        nmcli connection delete "$con" || true
      done || true
done


# 創(chuàng)建 bond
nmcli connection add con-name "$BOND_NAME" type bond ifname "$BOND_NAME" mode "$BOND_MODE" >/dev/null

# 配置 IPv4
nmcli connection modify "$BOND_NAME" ipv4.method manual ipv4.addresses "$ADDR_CIDR"

if [[ -n "$GATEWAY" ]]; then
  nmcli connection modify "$BOND_NAME" ipv4.gateway "$GATEWAY"
else
  nmcli connection modify "$BOND_NAME" ipv4.gateway ""
fi

if [[ -n "$DNS_SERVERS" ]]; then
  # nmcli 支持用空格或逗號,統(tǒng)一轉(zhuǎn)空格
  DNS_SERVERS="${DNS_SERVERS//,/ }"
  nmcli connection modify "$BOND_NAME" ipv4.dns "$DNS_SERVERS"
fi

# 建議:bond 承載主 IP,物理口不配 IP
for dev in "${SLAVES[@]}"; do
  slave_con="${BOND_NAME}-slave-${dev}"
  nmcli connection add type bond-slave con-name "$slave_con" ifname "$dev" master "$BOND_NAME" >/dev/null
done

# 啟用連接(先 bond 再 slave)
nmcli connection up "$BOND_NAME" >/dev/null || true
for dev in "${SLAVES[@]}"; do
  nmcli connection up "${BOND_NAME}-slave-${dev}" >/dev/null || true
done

echo
echo ">>> 完成。當前設(shè)備狀態(tài):"
nmcli device status
echo
echo ">>> Bond 鏈路概覽:"
ip -d link show "$BOND_NAME" || true
echo
echo ">>> IPv4 地址:"
ip -4 addr show "$BOND_NAME" || true

echo
echo "提示:如果你選的是 802.3ad (LACP),交換機側(cè)必須配置對應端口的鏈路聚合(同一聚合組)。"

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Apache?HTTP?安裝和配置下載詳解

    Apache?HTTP?安裝和配置下載詳解

    這篇文章主要介紹了Apache?HTTP?安裝和配置下載,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2023-12-12
  • Linux中SSH遠程訪問和控制的實現(xiàn)

    Linux中SSH遠程訪問和控制的實現(xiàn)

    SSH是一種安全通道協(xié)議,主要用來實現(xiàn)字符界面的遠程登錄、遠程復制等功能,本文主要介紹了Linux中SSH遠程訪問和控制的實現(xiàn),對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-12-12
  • 詳細講解西軟FOXHIS增量備份與恢復方法

    詳細講解西軟FOXHIS增量備份與恢復方法

    西軟在實施階段時,會設(shè)置好幾個Linux shell的自動任務,把數(shù)據(jù)每天全庫備份兩次,并且并把數(shù)據(jù)通過ftp拷至備份庫,其實這樣做存在非常大的安全隱患,數(shù)據(jù)庫服務器如果給KO了,您酒店只有當天的兩次備份,數(shù)據(jù)損失將是12個小時來計算,對酒店經(jīng)營非常不利
    2017-01-01
  • ubuntu執(zhí)行sudo apt-get update要很久的解決方案

    ubuntu執(zhí)行sudo apt-get update要很久的解決方案

    Ubuntu更新緩慢或報錯因默認使用外國鏡像,可通過更換國內(nèi)源(如阿里云、華為云、清華等)或選擇最佳服務器優(yōu)化,操作包括修改下載源、授權(quán)、重新載入,提升下載速度和穩(wěn)定性
    2025-09-09
  • Linux低電量自動關(guān)機的實現(xiàn)方法

    Linux低電量自動關(guān)機的實現(xiàn)方法

    這篇文章主要給大家介紹了關(guān)于Linux低電量自動關(guān)機的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家學習或者使用linux具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-11-11
  • Centos7.5配置java環(huán)境安裝tomcat的講解

    Centos7.5配置java環(huán)境安裝tomcat的講解

    今天小編就為大家分享一篇關(guān)于Centos7.5配置java環(huán)境安裝tomcat的講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • Linux系統(tǒng)下安裝rz/sz命令及使用說明(詳解)

    Linux系統(tǒng)下安裝rz/sz命令及使用說明(詳解)

    下面小編就為大家?guī)硪黄狶inux系統(tǒng)下安裝rz/sz命令及使用說明(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧,祝大家游戲愉快哦
    2016-12-12
  • Linux內(nèi)存泄露的原因排查和解決方案(內(nèi)存管理方法)

    Linux內(nèi)存泄露的原因排查和解決方案(內(nèi)存管理方法)

    文章主要介紹了運維團隊在Linux處理LB服務內(nèi)存暴漲、內(nèi)存報警問題的過程,從發(fā)現(xiàn)問題、排查原因到制定解決方案,并從中學習了Linux內(nèi)存管理的相關(guān)知識
    2025-02-02
  • Linux服務器快速搭建MinIO對象存儲全過程

    Linux服務器快速搭建MinIO對象存儲全過程

    在Linux服務器上搭建MinIO存儲服務器的步驟,MinIO支持從二進制文件或包管理器下載,用戶需要配置環(huán)境變量、創(chuàng)建存儲目錄并設(shè)置服務權(quán)限,然后啟動服務并訪問Web控制臺進行驗證,文章還提到可配置防火墻、Nginx反向代理及多節(jié)點部署
    2025-09-09
  • 如何通過其他主機查看Apahce服務器的運行狀態(tài)

    如何通過其他主機查看Apahce服務器的運行狀態(tài)

    這篇文章主要介紹了如何通過其他主機查看Apahce服務器的運行狀態(tài),需要的朋友可以參考下
    2016-04-04

最新評論

林口县| 苏尼特左旗| 阿合奇县| 洛阳市| 银川市| 巧家县| 洛阳市| 嘉义县| 瑞昌市| 龙州县| 青龙| 新昌县| 武强县| 高安市| 琼海市| 东光县| 法库县| 邓州市| 太康县| 汨罗市| 长宁县| 云南省| 昭觉县| 鲁甸县| 元谋县| 保靖县| 永平县| 金堂县| 天水市| 石景山区| 乐东| 赤城县| 江门市| 徐水县| 梅州市| 丰台区| 固始县| 都匀市| 偃师市| 德钦县| 巴马|