Linux采用雙網(wǎng)卡bond、起子接口的方式
什么是bond
網(wǎng)卡bond是通過多張網(wǎng)卡綁定為一個邏輯網(wǎng)卡,實現(xiàn)本地網(wǎng)卡的冗余,帶寬擴容和負載均衡,在生產(chǎn)場景中是一種常用的技術(shù)。
適用場景
服務器兩張網(wǎng)卡需要做bond,并且bond后網(wǎng)卡需配置不同網(wǎng)段的地址,用于走不同流量,這個時候就可以采用起子接口的方式。
實驗場景
設備
- 服務器:Server_A
- 核心交換機:Switch_A、Switch_B
交換機連接方式:堆疊
服務器網(wǎng)卡:enp176s0f0、enp176s0f1做bond
IP段劃分
- 業(yè)務段
VLAN 201:10.10.51.0/24 - 公網(wǎng)
VLAN 401:111.20.200.88/27
要求
服務器Server_A上聯(lián)的兩臺核心交換機Switch_A和Switch_B采用堆疊方式,Server_A的enp176s0f0和enp176s0f1光口分別互聯(lián)Switch_A和Switch_B;現(xiàn)要求enp176s0f0和enp176s0f1做bond,地址10.10.51.16走業(yè)務流量,地址111.20.200.90走公網(wǎng)流量,交換機端口做捆綁eth-trunk并透傳VLAN201和VLAN401。
網(wǎng)卡配置腳本
# 停掉NetworkManager服務 systemctl stop NetworkManager.service systemctl disable NetworkManager.service # 備份 cp /etc/sysconfig/network-scripts/ifcfg-enp176s0f0{,.bak} cp /etc/sysconfig/network-scripts/ifcfg-enp176s0f1{,.bak} # 將網(wǎng)卡協(xié)議改為none并設備未開機自啟動,并做雙網(wǎng)卡配置 sed -i 's/BOOTPROTO=dhcp/BOOTPROTO=none/' /etc/sysconfig/network-scripts/ifcfg-enp176s0f0 sed -i 's/ONBOOT=no/ONBOOT=yes/' /etc/sysconfig/network-scripts/ifcfg-enp176s0f0 echo "MASTER=bond0" >>/etc/sysconfig/network-scripts/ifcfg-enp176s0f0 echo "SLAVE=yes" >>/etc/sysconfig/network-scripts/ifcfg-enp176s0f0 sed -i 's/BOOTPROTO=dhcp/BOOTPROTO=none/' /etc/sysconfig/network-scripts/ifcfg-enp176s0f1 sed -i 's/ONBOOT=no/ONBOOT=yes/' /etc/sysconfig/network-scripts/ifcfg-enp176s0f1 echo "MASTER=bond0" >>/etc/sysconfig/network-scripts/ifcfg-enp176s0f1 echo "SLAVE=yes" >>/etc/sysconfig/network-scripts/ifcfg-enp176s0f1 # 配置網(wǎng)卡bond0 echo "DEVICE=bond0 TYPE=Ethernet ONBOOT=yes BOOTPROTO=static" >/etc/sysconfig/network-scripts/ifcfg-bond0 # 寫模塊文件,bond模式為mode 0 echo "alias bond0 bonding options bond0 miimon=100 mode=0" >/etc/modprobe.d/bond.conf # 加載模塊 modprobe bonding # 起子接口bond0.201 echo "DEVICE=bond0.201 TYPE=Vlan PHYSDEV=bond0 ONBOOT=yes BOOTPROTO=static REORDER_HDR=yes IPADDR=10.10.51.16 GATEWAY=10.10.51.1 NETMASK=255.255.255.0 DNS1=114.114.114.114 DNS2=8.8.8.8 VLAN=yes VLAN_ID=201" >/etc/sysconfig/network-scripts/ifcfg-bond0.201 # 起子接口bond0.401 echo "DEVICE=bond0.401 TYPE=Vlan PHYSDEV=bond0 ONBOOT=yes BOOTPROTO=static REORDER_HDR=yes IPADDR=111.20.200.90 GATEWAY=111.20.200.89 NETMASK=255.255.255.0 DNS1=114.114.114.114 DNS2=8.8.8.8 VLAN=yes VLAN_ID=401" >/etc/sysconfig/network-scripts/ifcfg-bond0.401 # 加載模塊并重啟主機 modprobe 8021q reboot
關(guān)鍵點
交換機側(cè)如果起eth-trunk,那么服務器側(cè)則必須起子接口
交換機側(cè)和服務器側(cè)要么都起lacp協(xié)商,要么都不起,否則將造成端口不同
交換機側(cè)eth-trunk口配置示例
[HH2B108-H01-2-HW9006X-SW001-Eth-Trunk12]display this # interface Eth-Trunk12 port link-type trunk port trunk allow-pass vlan 201 401 # return
服務器側(cè)起lacp協(xié)議使用bond模式4,示例如下
# more /etc/modprobe.d/bond.conf alias bond0 bonding options bond0 miimon=100 mode=4 lacp_rate=1
子接口配置文件中"DEVICE=bond0.401“中的VLAN號一定要和需要透傳的VLAN號保持一致
配置子接口后一定要重啟服務器才能生效!??!
總結(jié):
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
Linux內(nèi)核宏Container_Of的詳細解釋
我們在分析Linux內(nèi)核鏈表的時候注意到內(nèi)核在求解結(jié)構(gòu)體偏移的時候巧妙的使用了container_of宏定義,本文我們就來詳細剖析下內(nèi)核到底是如何求解結(jié)構(gòu)體成員變量的地址的2021-09-09虛擬機安裝Linux rhel7.3操作系統(tǒng)(具體步驟)
這篇文章主要介紹了虛擬機安裝Linux rhel7.3操作系統(tǒng)(具體步驟),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-10-10