linux網卡聚合及鏈路聚合


1.修改配置文件的方式

配置文件保存的位置

vim /etc/sysconfig/network-scripts/[網卡名]

重要參數:

TYPE=Ethernet # 網卡類型:為以太網
BOOTPROTO=dhcp/static/none # 激活此接口后,使用什么協議
ONBOOT=yes/no # 是否開機啟動, 要想網卡開機就啟動或通過
DNS1=8.8.8.8 # 設置主要DNS
DNS2=114.114.114.114 # 設置附屬DNS
IPADDR=192.168.56.12 # 設置IP地址
PREFIX=24 # 設置掩碼
NETMASK=255.255.255.0 #設置掩碼和上面的一樣的效果 任選一
GATEWAY=192.168.56.254 # 設置網關
NAME=eno1 # 管理員取的名字
DEVICE=eno1 # 設備的名字

文件設置完后,需要重啟接口和服務

最近在項目上遇到了雙網卡做綁定的問題 ,這里記錄一下。

2.鏈路聚合

linux聚合有6種模式

  • broadcast 傳輸來自所有端口的包

  • roundrobin 以輪訓的方式傳輸所有端口的包

  • activebakup 這是一個故障遷移程序, 監控鏈接更改並選擇活動的端口進行傳輸(主備)

  • loadbalance 監控流量並使用哈希函數以嘗試在選擇傳輸端口的時候達到完美均衡

  • lacp實施802.3ad 鏈接聚合協議, 可以使用與loadbalance運行程序相同的傳輸端口選擇的可能性

mode的值表示工作模式,他共有0,1,2,3,4,5,6這7種模式,常用的為0,1兩種。

  • mode=0表示load balancing (round-robin)為負載均衡方式,兩塊網卡都工作。

  • mode=1表示fault-tolerance (active-backup)提供冗余功能,工作方式是主備的工作方式,也就是說默認情況下只有一塊網卡工作,另一塊做備份.

  • mode=2表示balance-x,提供負載均衡和冗余功能。

  • mode=3表示broadcast,這個模式提供容錯性。

  • mode=4表示802.3ad,提供了ethtool的迅速,以及使用了802.3ad模式

  • mode=5表示balance-tlb,自動適應負載均衡,自動切換故障。在此基礎上Ethtool支持驅動。

  • mode=6表示在5模式的基礎上優化了arp的廣播信息。

3.交換機的配置(聚合鏈路)

(config)#interface range gigabitEthernet 0/6 -7
(config-if-range)#switchport access vlan 10
(config-if-range)#channel-protocol lacp
(config-if-range)#channel-group 3 mode active
(config)#interface port-channel 3
(config-if)#switchport access vlan 10

[~HUAWEI-Eth-Trunk11]dis this
interface Eth-Trunk11
port link-type trunk
port trunk pvid vlan 127
undo port trunk allow-pass vlan 1
port trunk allow-pass vlan 127 stp edged-port enable mode lacp-dynamic
[~HUAWEI-10GE1/0/11]dis this

interface 10GE1/0/11 eth-trunk 11 storm suppression unknown-unicast packets 1000 storm suppression multicast packets 1000 storm suppression broadcast packets 1000 device transceiver 10GBASE-FIBER

[~HUAWEI-10GE2/0/33]dis this

interface 10GE2/0/33 eth-trunk 11 storm suppression unknown-unicast packets 1000 storm suppression multicast packets 1000 storm suppression broadcast packets 1000 device transceiver 10GBASE-FIBER

 

4.鏈路聚合配置bond(服務配置)

  1. 創建bond0口,其mode 為4

    nmcli connection add type bond con-name bond01 ifname bond0 mode 4
    • bond01 :是引用連接的名稱

    • bond0 :是接口的名稱

    • mode :就是前面的集中, 或者用 :config '{"runner":{"name":"activebakup"}}'

 

  1. 配置靜態IP地址網關 (確定接口組的IPV4/6的屬性)

    nmcli connection modify bond0 ipv4.addresses '192.168.127.45/24' ipv4.gateway '192.168.127.254'
    nmcli connection modify bond0 ipv4.method manual

    注意:

      必須首先分配ipv4.addresses ,然后才能設置ipv4.method manual

      有DHCP服務器則可以不配置

  1. 將2個網卡加到bond0 里去

    使用bond

    nmcli connection add type bond-slave ifname eno1 master bond0
    nmcli connection add type bond-slave ifname eno2 master bond0

    使用team

    nmcli connection add type team-slave ifname eno1 master bond0
    nmcli connection add type team-slave ifname eno2 master bond0

     

  1. 啟動與關閉組接口和端口接口

    nmcli connection up bond0
    nmcli connection down bond0
    teamdctl syuee state #查看team的狀態
  1. 驗證

    ip addr show bond0 

5. 鏈路聚合配置team

  

  team 網卡聚合

  1. team 介紹

    鏈路聚合與雙網卡綁定幾乎相同,可以實現多網卡綁定主從榮譽,負載均衡,提高網絡訪問流量。
    team 虛擬網卡和被 team 的兩張或多張物理網卡擁有相同的 MAC 地址, 其中 team 虛擬網卡的 MAC 地址是其中一張物理網卡的 MAC 地址,
    而 team 虛擬網卡的 MAC 地址是根據 team 自己實現的一個算法來選擇的.
  1. 常用模式

        模式:
      roundrobin 平衡輪叫
      activebackup 主備模式
      loadbalance 負載均衡模式(哪個網卡空閑或壓力小就給誰)
    指定模式:
    config '{"runner":{"name":"roundrobin"}}'
  1. 創建 myteam 邏輯網卡(名稱為 myteam(名稱可自定義),文檔以輪詢模式為例)

    nmcli connection add con-name myteam ifname myteam type team config '{"runner":{"name":"roundrobin"}}'
  1. 將兩張子網卡添加到 myteam 邏輯網卡中

    nmcli connection add type team-slave con-name subteam-1 ifname ens37 master myteam
    nmcli connection add type team-slave con-name subteam-2 ifname ens38 master myteam
  1. 激活網卡

    nmcli connection up subteam-1
    nmcli connection up subteam-2
  1. myteam 配置 ip 地址

    nmcli connection modify myteam ipv4.method manual ipv4.addresses "50.50.50.100/24 " connection.autoconnect yes
  1. 啟動 myteam 邏輯網卡

    nmcli connection up myteam
  1. 查看 myteam 邏輯網卡及子網卡狀態

    teamdctl myteam state view
    setup:
    runner: roundrobin
    ports:
    ens37
      link watches:
    link summary: up
    instance[link_watch_0]:
    name: ethtool
    link: up
    down count: 0
    ens38
    link watches:
    link summary: up
    instance[link_watch_0]:
    name: ethtool
    link: up
    down count: 0

     

  2.  

 

  

6. nmcli常用命令

nmcli :是linux的內置命令,無需安裝 nmcli connection show : 列出當前的網卡設備 nmcli connection show eno1 :查看該網卡的詳細信息

常用操作

nmcli connection modify //修改已經設置好的網絡
nmcli connection modify static ipv4.dns 8.8.8.8 //設置DNS服務器
nmcli connection modify static +ipv4.dns 114.114.114.114 # 增加一個DNS
nmcli connection modify static ipv4.addresses 192.168.56.10/24 gw4 192.168.56.254

 

配置IP地址 ,手動或者dhcp

nmcli connection add con-name 'syuee' type ethernet ifname eno1

nmcli connection add con-name "static" type ethernet ifname eno1 autoconnect no ipv4.addresses 192.168.56.12/24 gw4 192.168.56.254

nmcli connection up syuee
nmcli connection down syuee

網卡的類型比較多 , 如type后面可以跟ethernet ,wifi,bluetooth等 nmcli connection add htlp --查看所有的網卡類型


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM