• 售前

  • 售后

热门帖子
入门百科

Linux接纳双网卡bond、起子接口的方式

[复制链接]
李圆子wzl 显示全部楼层 发表于 2021-10-25 19:29:34 |阅读模式 打印 上一主题 下一主题
什么是bond
网卡bond是通过多张网卡绑定为一个逻辑网卡,实现当地网卡的冗余,带宽扩容和负载均衡,在生产场景中是一种常用的技能。
适用场景

服务器两张网卡必要做bond,并且bond后网卡需设置不同网段的所在,用于走不同流量,这个时候就可以采用起子接口的方式。
实验场景

设备

      
  • 服务器:Server_A  
  • 核心交换机:Switch_A、Switch_B
交换机毗连方式:堆叠

服务器网卡:enp176s0f0、enp176s0f1做bond

IP段分别

      
  • 业务段
          VLAN 201:10.10.51.0/24  
  • 公网
           VLAN 401:111.20.200.88/27
要求

服务器Server_A上联的两台核心交换机Switch_A和Switch_B采用堆叠方式,Server_A的enp176s0f0和enp176s0f1光口分别互联Switch_A和Switch_B;现要求enp176s0f0和enp176s0f1做bond,所在10.10.51.16走业务流量,所在111.20.200.90走公网流量,交换机端口做捆绑eth-trunk并透传VLAN201和VLAN401。

网卡设置脚本
  1. # 停掉NetworkManager服务
  2. systemctl stop NetworkManager.service
  3. systemctl disable NetworkManager.service
  4. # 备份
  5. cp /etc/sysconfig/network-scripts/ifcfg-enp176s0f0{,.bak}
  6. cp /etc/sysconfig/network-scripts/ifcfg-enp176s0f1{,.bak}
  7. # 将网卡协议改为none并设备未开机自启动,并做双网卡配置
  8. sed -i 's/BOOTPROTO=dhcp/BOOTPROTO=none/' /etc/sysconfig/network-scripts/ifcfg-enp176s0f0
  9. sed -i 's/ONBOOT=no/ONBOOT=yes/' /etc/sysconfig/network-scripts/ifcfg-enp176s0f0
  10. echo "MASTER=bond0" >>/etc/sysconfig/network-scripts/ifcfg-enp176s0f0
  11. echo "SLAVE=yes" >>/etc/sysconfig/network-scripts/ifcfg-enp176s0f0
  12. sed -i 's/BOOTPROTO=dhcp/BOOTPROTO=none/' /etc/sysconfig/network-scripts/ifcfg-enp176s0f1
  13. sed -i 's/ONBOOT=no/ONBOOT=yes/' /etc/sysconfig/network-scripts/ifcfg-enp176s0f1
  14. echo "MASTER=bond0" >>/etc/sysconfig/network-scripts/ifcfg-enp176s0f1
  15. echo "SLAVE=yes" >>/etc/sysconfig/network-scripts/ifcfg-enp176s0f1
  16. # 配置网卡bond0
  17. echo "DEVICE=bond0
  18. TYPE=Ethernet
  19. ONBOOT=yes
  20. BOOTPROTO=static" >/etc/sysconfig/network-scripts/ifcfg-bond0
  21. # 写模块文件,bond模式为mode 0
  22. echo "alias bond0 bonding
  23. options bond0 miimon=100 mode=0" >/etc/modprobe.d/bond.conf
  24. # 加载模块
  25. modprobe bonding
  26. # 起子接口bond0.201
  27. echo "DEVICE=bond0.201
  28. TYPE=Vlan
  29. PHYSDEV=bond0
  30. ONBOOT=yes
  31. BOOTPROTO=static
  32. REORDER_HDR=yes
  33. IPADDR=10.10.51.16
  34. GATEWAY=10.10.51.1
  35. NETMASK=255.255.255.0
  36. DNS1=114.114.114.114
  37. DNS2=8.8.8.8
  38. VLAN=yes
  39. VLAN_ID=201" >/etc/sysconfig/network-scripts/ifcfg-bond0.201
  40. # 起子接口bond0.401
  41. echo "DEVICE=bond0.401
  42. TYPE=Vlan
  43. PHYSDEV=bond0
  44. ONBOOT=yes
  45. BOOTPROTO=static
  46. REORDER_HDR=yes
  47. IPADDR=111.20.200.90
  48. GATEWAY=111.20.200.89
  49. NETMASK=255.255.255.0
  50. DNS1=114.114.114.114
  51. DNS2=8.8.8.8
  52. VLAN=yes
  53. VLAN_ID=401" >/etc/sysconfig/network-scripts/ifcfg-bond0.401
  54. # 加载模块并重启主机
  55. modprobe 8021q
  56. reboot
复制代码
关键点

交换机侧假如起eth-trunk,那么服务器侧则必须起子接口

交换机侧和服务器侧要么都起lacp协商,要么都不起,否则将造成端口不同

交换机侧eth-trunk口设置示例
  1. [HH2B108-H01-2-HW9006X-SW001-Eth-Trunk12]display this
  2. #
  3. interface Eth-Trunk12
  4. port link-type trunk
  5. port trunk allow-pass vlan 201 401
  6. #
  7. return
复制代码
服务器侧起lacp协议使用bond模式4,示比方下
  1. # more /etc/modprobe.d/bond.conf
  2. alias bond0 bonding
  3. options bond0 miimon=100 mode=4 lacp_rate=1
复制代码
子接口设置文件中"DEVICE=bond0.401“中的VLAN号肯定要和必要透传的VLAN号保持同等

设置子接口后肯定要重启服务器才华见效!!!
总结:
以上就是这篇文章的全部内容了,盼望本文的内容对大家的学习大概工作具有肯定的参考学习代价,假如有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作