[转帖]Linux系统中双网卡绑定的方法

linux,系统,双网卡,绑定,方法 · 浏览次数 : 0

小编点评

**1. 备份原有配置文件** ```bash cd /etc/sysconfig/network-scripts/ touch ifcfg-bond0 ifcfg-eth0 ifcfg-eth1 ``` **2. 新建网卡配置文件** ```bash touch ifcfg-bond0 ifcfg-eth0 ifcfg-eth1 ``` **3. 关闭 NetworkManager 服务** ```bash service NetworkManager stopchkconfig NetworkManager off ``` **4. 将 bond0 加入开机自动加载模块** ```bash echo "alias bond0 bonding" > /etc/modprobe.conf ``` **5. 重启网络** ```bash service network restart ``` **6. 检查网卡绑定状态** ```bash ifconfig cat /proc/net/bonding/bond0 ``` **7. 验证网卡绑定效果** - 断开一块网卡或从端口中拔掉网线。 - 尝试ping主机。 - 查看 `ifconfig eth0 down` 或 `ifconfig eth1 down` 命令的输出,检查网卡状态。

正文

1、备份原有配置文件

  1. cd /etc/sysconfig/network-scripts/
  2. mv ifcfg-eth0 ifcfg-eth1 /home/

2、新建网卡配置文件,并填写配置信息

touch ifcfg-bond0 ifcfg-eth0 ifcfg-eth1
  1. vi ifcfg-bond0
  2. DEVICE=bond0
  3. BOOTPROTO=none
  4. IPADDR=*.*.*.*
  5. NETMASK=*.*.*.*
  6. GATEWAY=*.*.*.*
  7. ONBOOT=yes
  8. USERCTL=no
  9. BONDING_OPTS="mode=1 miimon=100"
  10. vi ifcfg-eth0
  11. DEVICE=eth0
  12. BOOTPROTO=none
  13. ONBOOT=yes
  14. MASTER=bond0
  15. SLAVE=yes
  16. USERCTL=no
  17. vi ifcfg-eth1
  18. DEVICE=eth1
  19. BOOTPROTO=none
  20. ONBOOT=yes
  21. MASTER=bond0
  22. SLAVE=yes
  23. USERCTL=no

以下引自“ https://www.cnblogs.com/archoncap/p/6079915.html ”

Linux网卡绑定mode共有七种模式,常用的有三种,最常用的为mode=1 :

  • mode=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定。
  • mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援。
  • mode=6:平衡负载模式,有自动备援,不必”Switch”支援及设定。

需要说明的是如果想做成mode 0的负载均衡,仅仅设置这里options bond0 miimon=100 mode=0是不够的,与网卡相连的交换机必须做特殊配置(这两个端口应该采取聚合方式),因为做bonding的这两块网卡是使用同一个MAC地址.从原理分析一下(bond运行在mode 0下):

mode 0下bond所绑定的网卡的IP都被修改成相同的mac地址,如果这些网卡都被接在同一个交换机,那么交换机的arp表里这个mac地址对应的端口就有多 个,那么交换机接受到发往这个mac地址的包应该往哪个端口转发呢?正常情况下mac地址是全球唯一的,一个mac地址对应多个端口肯定使交换机迷惑了。所以 mode0下的bond如果连接到交换机,交换机这几个端口应该采取聚合方式(cisco称为 ethernetchannel,foundry称为portgroup),因为交换机做了聚合后,聚合下的几个端口也被捆绑成一个mac地址.我们的解 决办法是,两个网卡接入不同的交换机即可。 mode6模式下无需配置交换机,因为做bonding的这两块网卡是使用不同的MAC地址。 Linux网卡绑定mode共有七种 常用的有三种 mode=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定。 mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援。 mode=6:平衡负载模式,有自动备援,不必”Switch”支援及设定。 需要说明的是如果想做成mode 0的负载均衡,仅仅设置这里options bond0 miimon=100 mode=0是不够的,与网卡相连的交换机必须做特殊配置(这两个端口应该采取聚合方式),因为做bonding的这两块网卡是使用同一个MAC地址.从原理分析一下(bond运行在mode 0下): mode 0下bond所绑定的网卡的IP都被修改成相同的mac地址,如果这些网卡都被接在同一个交换机,那么交换机的arp表里这个mac地址对应的端口就有多 个,那么交换机接受到发往这个mac地址的包应该往哪个端口转发呢?正常情况下mac地址是全球唯一的,一个mac地址对应多个端口肯定使交换机迷惑了。所以 mode0下的bond如果连接到交换机,交换机这几个端口应该采取聚合方式(cisco称为 ethernetchannel,foundry称为portgroup),因为交换机做了聚合后,聚合下的几个端口也被捆绑成一个mac地址.我们的解 决办法是,两个网卡接入不同的交换机即可。

mode6模式下无需配置交换机,因为做bonding的这两块网卡是使用不同的MAC地址。

3、关闭NetworkManager服务,不关闭会无法绑定成功

  1. service NetworkManager stop
  2. chkconfig NetworkManager off

此处关闭的NetworkManager,本身也可以用来进行网卡绑定,方法参考“ https://blog.51cto.com/zaa47/1925791 ”

4、将bond0加入开机自动加载模块

echo "alias bond0 bonding" > /etc/modprobe.conf

5、重启网络使配置生效

service network restart

6、检查网卡绑定状态

ifconfig,应该看到三块网卡,bond0、eth0、eth1,且三块网卡显示的mac地址相同;

cat /proc/net/bonding/bond0,可以看到网卡绑定模式及当前主备网卡;

ifconfig eth0 down/ifconfig eth1 down,长ping主机,断掉一块网卡或者在现场拔掉一个网口的网线来验证网卡绑定的效果。

文章知识点与官方知识档案匹配,可进一步学习相关知识
CS入门技能树Linux入门初识Linux25458 人正在系统学习中

与[转帖]Linux系统中双网卡绑定的方法相似的内容:

[转帖]Linux系统中双网卡绑定的方法

1、备份原有配置文件 cd /etc/sysconfig/network-scripts/mv ifcfg-eth0 ifcfg-eth1 /home/ 2、新建网卡配置文件,并填写配置信息 touch ifcfg-bond0 ifcfg-eth0 ifcfg-eth1 vi ifcfg-bond0

【转帖】Linux 系统双网卡绑定 bond的7种模式

第一种模式:mod=0 ,即:(balance-rr) Round-robin policy(平衡抡循环策略)第二种模式:mod=1,即: (active-backup) Active-backup policy(主-备份策略)第三种模式:mod=2,即:(balance-xor) XOR poli

[转帖]linux系统主机双网卡实现路由转发问题与解决

1. 环境 拓扑: host2 host3"> 网卡配置: host1: 192.168.1.1/24host2: 左eth0: 192.168.1.2/24 右eth1: 192.168.2.2/24 host3: 192.168.2.1/24 2. 需求描述 需要实现主机host1能够与host

[转帖]

Linux ubuntu20.04 网络配置(图文教程) 因为我是刚装好的最小系统,所以很多东西都没有,在开始配置之前需要做下准备 环境准备 系统:ubuntu20.04网卡:双网卡 网卡一:供连接互联网使用网卡二:供连接内网使用(看情况,如果一张网卡足够,没必要做第二张网卡) 工具: net-to

[转帖]Linux系统多网卡环境下的路由配置

https://www.cnblogs.com/connect/p/linux-static-route.html Linux下路由配置命令 1. 添加主机路由 route add -host 192.168.1.11 dev eth0 route add -host 192.168.1.12 gw

[转帖]Ubuntu Server安装图形界面

最早接触到的Linux系统是Ubuntu 10.04,当时在自己的一台Win7笔记本电脑上安装的Win/Ubuntu双系统,Ubuntu简洁的操作界面给我留下了深刻的印象。 后来开始做一些服务器开发,服务都是部署在CentOS系统上,没有图形界面,纯命令操作,这样也降低系统的资源占用。 最近才了解到

[转帖]iftop流量监控

https://www.cnblogs.com/zh-dream/p/16691807.html iftop 是 Linux 系统一个免费的网卡实时流量监控工具,类似于 top 命令。iftop 可以监控指定网卡的实时流量、端口连接信息、反向解析 IP 等,还可以精确显示本机网络流量及网络内各主机和

[转帖]linux网络速率监控

https://www.cnblogs.com/leffss/p/7832074.html #!/bin/bash #作者:fafu_li #时间:2015.10.14 #监控网卡传输速率 source /etc/profile #加载系统环境变量 source $HOME/.bash_profil

[转帖]Linux系统中的tar命令

https://www.cnblogs.com/PatrickLiu/p/9761988.html 时间一长什么东西都容易忘记,尤其是一些不常用的东西忘记的更快,所以避免忘记,就记录下来,可以方面使用的时候查询。Tar命令在linux系统中算是一个比较重要的命令,今天就针对该命令进行总结一下。 1.

[转帖]Linux系统中的Page cache和Buffer cache

Free命令显示内存 首先,我们来了解下内存的使用情况: Mem:表示物理内存统计 total:表示物理内存总量(total = used + free) used:表示总计分配给缓存(包含buffers 与cache )使用的数量,但其中可能部分缓存并未实际使用。 free:未被分配的内存。 sh