ibaobei 发表于 2018-5-15 06:05:21

Debian 下通过Bonding 实现双网卡单IP

      Debian 下通过Bonding 实现双网卡单IP冗余

  Linux 双网卡绑定一个IP地址,实现网卡冗余,将两个网卡虚拟为一块。使用同一个IP地址。本文介绍了 bonding 的原理,及如何在 Debian 下通过bonding 实现双网卡单IP的操作。
  

  Linux 双卡绑定一个IP地址,实质工作是使用两块网卡虚拟为一块,使用同一个IP地址,是我们能够得到更稳定的连接。在Linux2.4.x 中内核也采用这种技术,被称为 bonding.
  bonding 的原理:
  在正常情况下,网卡只接受目的硬件地址是自身Mac的以太网帧,对于别的数据帧都过滤掉,以减轻驱动程序的负担。但是网卡也支持混杂模式,可以接受网络上所有的帧(如抓包工具sniffer)。bonding也运行在这个模式下,并且修改了MAC地址,将两块网卡的MAC地址改为相同,可以接受特定MAC的数据帧。然后把响应的数据帧传送给bond驱动程序处理。
  bonding mode 工作方式:
  bonding 有0~6 共七种工作方式,常用的工作方式是0,1,6 三种:
  mode = 0 :表示负载均衡模式(两个网卡都工作),但需要交换机支持,并且交换机进行相应配置。
  mode = 1 :表示提供冗余功能,默认情况下只有一块网卡工作,另一块做备份
  mode = 6 :表示负载均衡模式(两个网卡都工作),不需要交换机支持。
  bonding 配置:
  apt-get install ifenslave
  让系统开机自动加载模块 bonding , 其中miimon 用于链路监测,miimon=100 表示每100ms 监测一次链路状态,如果有一条不通,则自动转入另一条线路。
  sh -c "echo bonding mode=6 miimon=100 >> /etc/modules"
  修改 /etc/network/interfaces 文件为如下内容:
  auto lo
  iface lo inet loopback
  auto bond0
  iface bond0 inet static #虚拟网卡的TCP/IP配置
  address 192.168.58.100
  netmask 255.255.255.0
  gateway 192.168.58.1
  dns-nameservers 192.168.58.1
  post-up ifenslave bond0 eth0 eth1
  pre-down ifenslave -d bond0 eth0 eth1
  

  重启计算机 或者手动加载bonding 模块
  modprobe bonding mode=6 miimon=100
  /etc/init.d/networking restart
  

  

  
页: [1]
查看完整版本: Debian 下通过Bonding 实现双网卡单IP