bond0eth0
『壹』 在Linux上怎么两个网卡配同一个IP
linux中双网卡的梆定
创建一个bond设备,三个简单的步骤即可搞定:
(1)首先要保证相应的驱动程序已经加载:
localhost@root
~#
modprobe
bonding
或
modprobe
<3c59x|
eepro100|pcnet32|tulip|...>
(2)其次给等梆定bond设备分配IP地址
localhost@root
~#
ifconfig
bond0
<IP地址>
netmask
<子网掩码>
broadcast
<广播地址
>
例如
ifconfig
bond0
192.168.1.242
netmask
255.255.255.0
broadcast
172.31.3.254
(3)最后将所有要梆定的物理网卡接口添加到bond设备中去
localhost@root
~#
ifenslave
bond0
[{-f|--force}
bond0
eth0
[
eth1
[eth2]...]
例如
ifenslave
bond0
eth0
eth1
梆定了eth0
eth1两个网卡设备。
--force
表示强制进行梆定
创建好bond设备后,就可以像一般的网卡设备一样使用了
如启动bond0:
#
ifconfig
bond0
up
停用bond0:
#
ifconfig
bond0
down
在不停用bond0的情况下添加接口:
#
ifenslave
{-d|
--detach}
bond0
eth0
[eth1
[eth2]...]
--detach表示"附加"的意思
改变活动的从设备:
#
ifenslave
{-c|--change-active}
bond0
eth0
--change-acitve
表示"改变活动的从设备"的意思
显示主接口(指bond0)信息:
#
ifenslave
bond0
显示所以接口信息:
#
ifenslave
{-a|--all-interfaces}
--all-interfaces
表示"所有接口"
『贰』 各位达人,REDHAT 5.6 LINUX 2个网卡配置了2个IP,为什么一个网段通,另一个不同呢。
先看看普通网卡IP地址的配置,修改/etc/sysconfig/network-scripts/ifcfg-eth0文件内容为:
DEVICE=eth0 #物理设备名
HWADDR=00:0C:29:01:98:27 #MAC地址
BOOTPROTO=static #静态分配
IPADDR=192.168.1.103 #这就是你设置的静态IP地址
NETMASK=255.255.255.0 #子网掩码
GATEWAY=192.168.1.1 #网关地址
ONBOOT=yes #引导或启动网卡服务时是否激活设备
RHEL6下bond的双网卡绑定服务
操作步骤和注意事项如下:
1、注意事项:
首先确认要绑定的是哪2个网口,避免绑定时绑错网口。
2、说明:
这里以绑定eth0和eth1的2个网口为例。
配置文件都在/etc/sysconfig/network-scripts/目录下。
操作步骤
绑定前需要彻底关闭NetworlManger服务,否则会和bond网卡冲突
12 chkconfig NetworlMangeroff #停止开机启动该服务
service NetworlManger stop #停止网卡管理服务,其中网卡配置文件中NM_CONTROLLED=yes //设备eth0是否可以由Network Manager图形管理工具托管,可以直接删除本行。
1、编辑新的ifcfg-bond0文件
cd/etc/sysconfig/network-scripts/
cp–rfifcfg-eth0ifcfg-bond0##复制ifcfg-eth0到ifcfg-bond0
ls##查看文件,即可看到有ifcfg-bond0文件
增加或修改如下内容:
# vi ifcfg-bond0
DEVICE=bond0
IPADDR=192.168.1.155
NETMASK=255.255.255.0
GATEWAY=192.168.1.254 ##此IP信息为客户要求信息
ONBOOT=yes
BOOTPROTO=static
USERCTL=no
BONDING_OPTS=”mode=0 miimon=100 primary=eth0” ##设置eth0为主通信网口,具体以现场情况为准
保存退出
2、分别编辑ifcfg-eth0和ifcfg-eth1文件
# vi ifcfg-eth0
DEVICE=eth0
HWADDR=AB:CD:EF:12:34:56 注意eth0的MAC地址要保留。不要删除或屏蔽
USERCTL=no
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none
#vi ifcfg-eth1
HWADDR=AB:CD:EF:12:34:57 注意eth1 的MAC地址要保留。不要删除或屏蔽
DEVICE=eth1
USERCTL=no
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none
注意:其他未要求设置网口,需将网卡配置文件中的全部屏蔽或去掉,MAC地址必须保留。以免硬盘网卡绑定,造成网卡顺序漂移。
不过不用担心,在linux系统中有个记录eth设备网卡名和MAC地址的对应关系表
3、修改/etc/modprobe.d/dist.conf文件,添加以下内容:
alias bond0 bonding
options bond0 miimon=100 mode=0 ##具体以施工现场要求为准
说明:
miimon是用来进行链路监测的。比如:miimon=100,那么系统每100ms监测一次链路连接状态,如果有一条线路不通就转入另一条线路;
mode的值表示工作模式,他共有0,1,2,3四种模式,常用的为0,1两种。需根据交换机可提供的工作模式选择。
mode=0表示loadbalancing(round-robin)为负载均衡方式,两块网卡都工作。
mode=1表示fault-tolerance(active-backup)提供冗余功能,工作方式是主备的工作方式,也就是说默认情况下只有一块网卡工作,另一块做备份。
※注意:
a、bonding只能提供链路监测,即从主机到交换机的链路是否接通。如果只是交换机对外的链路down掉了,而交换机本身并没有故障,那么bonding会认为链路没有问题而继续使用。
b、设置的模式要与交换机设置的模式一致。
4、重启系统
系统启动时,会自动加载bond模块和激活冗余网卡设置。可使用以下命令进行判断:
#ifconfig
即可看到bond0的信息,bond0会自动获取eth0的MAC地址。
若确认bond0网卡已经激活,可通过插拔网线或ifdownethX操作进行切换测试。在切换过程中,网络连接正常即可。
比较细心的人就会发现,bond0、eth0、eth1这组的三个网卡的MAC地址是一样的。
『叁』 linux双网卡绑定连接到冗余的两交换机
拓扑图很简单,一个服务器的两个网卡上联到两台核心交换机上
操作系统是rhel5.5
x86_64,交换机是华为9306,服务器是dell
M910刀片
服务器上的eth0和eth1做了绑定,我想用mode=0
这种负载均衡的方式来做
两台交换机配置了vrrp,左边的核心交换机是master,右边的是slave
但我在实际测试的过程中出现了问题。服务器是dell
m910,刀片服务器。我将eth0/1绑定成mode=0模式,在交换机上将连接刀片
www.dnjsb.com
的接口配置到了access
vlan,在刀片的交换机上配置了链路聚合和端口依赖(在不做绑定的情况下,服务器和网络是正常的),发
现在服务器上ping网关,有50%丢包;在其他服务器上ping这台服务器也有至少50%的丢包
mode=0这个模式,配置完成后,bond0/eth0/eth1接口的MAC都变成eth0的MAC地址了
我觉得当服务器向外发送数据的时候,第一个包从master走,因为对master来说,从G1/0/1学到了服务器的MAC地址;服务器的第
二个包从slave走,master又从G1/0/47学到了服务器的MAC地址,这样,交换机的MAC表就混乱了,也就导致了丢失50%的数据包
www.dnjsb.com
谁做过mode=0绑定模式呢?是不是还需要在交换机上做什么配置?请帮忙看一下如何解决,谢谢。网卡绑定
『肆』 linux 网络聚合有几种模式
将多个Linux网络端口绑定为一个,可以提升网络的性能,比如对于备份服务器,需要在一个晚上备份几个T的数据,如果使用单个的千兆网口将会是很严重的瓶颈。其它的应用,比如ftp服务器,高负载的下载网站, 都有类似的问题。因此使用Linux teaming或bond来绑定多个网卡作为一个逻辑网口,配置单个的IP地址,会大幅提升服务器的网络吞吐(I/O)。
Linux的多网卡绑定功能使用的是内核中的"bonding"模块,关于此模块可以参考Linux Ethernet Bonding Driver文档, 但是目前发布各个Linux版本内核均已包含了此模块,大多数情况下不需要重新编译内核。 Linux 的 bonding 驱动提供了绑定/集成(bond)多个网卡为一个虚拟逻辑网口的功能。并请注意绑定的网口(bonded)有多种工作模式; 一般来说,分为 热后备(hot standby) 和 负载均衡(load balancing). 在Redhat/Fedora和其它类Redhat Linux中是比较容易配置的。
1.创建bond0配置文件
vi /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0 --物理设备名字
IPADDR=192.168.1.2 --IP地址
NETMASK=255.255.255.0 --子网掩码
GATEWAY=192.168.1.1 --网关
DNS=8.8.8.8 --DNS
ONBOOT=yes --随机启动
NAME=bond0
BOOTPROTO=none
USERCTL=no --是否允许非root用户控制该设备
2.修改被绑定的eth0和eth1的配置文件
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
USERCTL=no
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none
HWADDR=00:15:17:CC:FC:35
eth1的配置文件与之相同,只是device的值改为eth1即可。
3.装在bond模块驱动
编辑/etc/modprobe.conf或者/etc/moles.conf文件,加入如下内容,使系统启动时加载bonding模块驱动
alias bond0 bonding
option bond0 miimon=100 mode=1
说明:
1).miimon=100 用来进行链路监测的。即每100ms监测一次链路状态。bonding只监测主机与交换机之间链路。如果交换机出去的链路出问题而本身没有问题,那么bonding认为链路没有问题而继续使用。
2).mode=1 表示提供冗余功能。除此之外还可以为0、2、3,共四种模式。0表示负载均衡
4.在/etc/rc.d/rc.local文件中加入如下语句,使得系统启动自动运行
ifenslave bond0 eth0 eth1
route add -net 192.168.1.254 netmask 255.255.255.0 bond0 #如有需要才加该路由
5.检测、验证配置
首先执行命令装载bonding模块:modprobe bonding
重启网络服务,并确认bond0正确启动:service network restart
确认设备已经正确加载:less /proc/net/bonding/bond0
列出所有网口:ifconfig
至此,bond技术的使用过程的设置就基本结束了,谢谢阅读,希望能帮到大家,请继续关注脚本之家,我们会努力分享更多优秀的文章。
『伍』 Linux环境,如何做bond,命令bond的意义有什么好处两个网口,三个。。。n个,分别怎么做
你好,所谓bond,就是把多个物理网卡绑定成一个逻辑上的网卡
好处:增加带宽,还可以实现主备功能
至于命令,直接在/etc/sysconfig/network中编辑文件
vi /etc/sysconfig/network/ifcfg-bond0
BOOTPROTO="static"
BROADCAST="192.168.1.255"
IPADDR="192.168.1.251"
NETMASK="255.255.255.0"
NETWORK="192.168.1.0"
REMOTE_IPADDR=""
STARTMODE="onboot"
BONDING_MASTER="yes"
BONDING_MODULE_OPTS="mode=1 miimon=200 use_carrier=1 primary=eth?"
BONDING_SLAVE0="eth0"
BONDING_SLAVE1="eth1"
最后2个为绑定的网卡的名称,此例是把eth0和eth1共同绑定成bond0
最后要注意的是,绑定做好后,把eth0,eth1的配置文件删掉(保险点改个名字丢那好了)
重启网卡后绑定成功,如果还有不明白的可以再提问
『陆』 配置bond之后,能否通过分别启动多个网卡,来保证网络不断
1、编辑虚拟网络接口配置文件,指定网卡IP: # vi /etc/sysconfig/network-scripts/ifcfg-bond0 或者下面命令
# cp /etc/sysconfig/network-scripts/ifcfg-eth0 ifcfg-bond02、#vi ifcfg-bond0 将第一行改成 DEVICE=bond0:
# cat ifcfg-bond0
DEVICE=bond0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.61.72
NETMASK=255.255.255.240
#BROADCAST=192.168.61.79
#GATEWAY=192.168.61.77
这里要注意,不要指定单个网卡的IP 地址、子网掩码或网卡 ID。将上述信息指定到虚拟适配器(bonding)中即可。
# cat ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
HWADDR=00:15:17:CC:FC:35
MASTER=bond0
SLAVE=yes
# cat ifcfg-eth1
DEVICE=eth1
BOOTPROTO=none
ONBOOT=yes
HWADDR=00:15:17:CC:FC:34
MASTER=bond0
SLAVE=yes3、 # vi /etc/moles.conf 编辑 /etc/modprobe.conf或者/etc/moles.conf文件,加入如下两行内容,以使系统在启动时加载bonding模块,对外虚拟网络接口设备为 bond0.加入下列两行:
alias bond0 bonding
options bond0 miimon=100 mode=1
说明:miimon是用来进行链路监测的。 比如:miimon=100,那么系统每100ms监测一次路连接状态,如果有一条线路不通就转入另一条线路;mode的值表示工作模式,他共有0,1,2,3四种模式,常用的为0,1两种。
mode=0表示load balancing (round-robin)为负载均衡方式,两块网卡都工作。
mode=1表示fault-tolerance (active-backup)提供冗余功能,工作方式是主备的工作方式,也就是说默认情况下只有一块网卡作,另一块做备份. bonding只能提供链路监测,即从主机到交换机的链路是否接通。如果只是交换机对外的链路down掉了,而交换机本身并没有故障,那么bonding会认为链路没有问题而继续使用4、 # vi /etc/rc.d/rc.local 加入两行,加在启动自运行文件里面ifenslave bond0 eth0 eth1
route add -net 172.31.3.254 netmask 255.255.255.0 bond0 #如果需要的话加路由,不需要不用加到这时已经配置完毕重新启动机器. 重启会看见以下信息就表示配置成功了Bringing up interface bond0 OK
Bringing up interface eth0 OK
Bringing up interface eth1 OK
『柒』 linux系统bond网口的mac地址问题
三个配置文件
ifcfg-eth0
ifcfg-eth1
ifcfg-bond0
中添加MACADDR项,指定MAC值
『捌』 双网卡如何绑定一个IP
基于REDHAT9,双网卡绑定如何绑定一个IP呢?
使用多块网卡虚拟成为一块网卡,具有相同的IP地址。这项技术在sun和cisco中已经存在,分别称为Trunking和etherchannel技术,在Linux中,这种技术称为bonding。
什么是bonding需要从ethernet网卡的promisc模式说起。我们知道,在正常情况下,ethernet网卡只接收目的mac地址是自身mac的ether帧,对于别的数据帧都过滤掉,以减轻驱动程序——也就是软件的负担。但是ethernet网卡也支持另外一种被称为promisc的模式,可以接收网络上所有的帧,很多系统程序如:sniffer、tcpmp,都运行在这个模式下。bonding也运行在这个模式下,而且修改了驱动程序中的mac地址,将两块网卡的mac地址改成相同,可以接收特定mac的数据帧。然后把相应的数据帧传送给bond驱动程序处理。bonding技术的最早应用是在集群——beowulf上,为了提高集群节点间的数据传输而设计的。
说了半天理论,其实配置很简单,因为在内核中已经包含了,只需要在编译的时候把网络设备选项中的Bonding driver support选中就可以了。
然后,重新编译核心,重新起动计算机,执行如下命令:
#ifconfig eth0 down
#ifconfig eth1 down
#ifconfig bond0 ipaddress
#ifenslave bond0 eth0
#ifenslave bond0 eth1
『玖』 linux服务器端口聚合怎么设置
基础配置信息
常用的三种Bond模式
配置过程以mode=6为例,其它7种模式请参考扩展阅读
mode=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定。 mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援。 mode=6:平衡负载模式,有自动备援,不必”Switch”支援及设定。
物理接口
2015610165454336.jpg (274×145)
CentOS版本
复制代码代码如下:
datanode01:~>cat /etc/redhat-release
CentOS release 6.4 (Final)
禁用NetworkManager
复制代码代码如下:
#立即关闭禁用NetworkManager并禁用开机自启动
/etc/init.d/NetworkManager stop
chkconfig NetworkManager off
/etc/init.d/network restart
关闭iptables和selinux(可选)
复制代码代码如下:
#立即关闭iptables并禁用开机自启动
/etc/init.d/iptables stop
chkconfig iptables off
#立即关闭selinux并永久禁用
setenforce 0
sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/‘ /etc/selinux/config
修改主机名
复制代码代码如下:
vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=namenode01
#刷新生效
hostname namnode01
source /etc/sysconfig/network
配置IP
私有地址
复制代码代码如下:
cd /etc/sysconfig/network-scripts
[root@datanode09 network-scripts]# cat ifcfg-eth3
DEVICE=eth3
ONBOOT=yes
BOOTPROTO=none
IPADDR=10.129.46.19
NETMASK=255.255.255.0
IPV6INIT=no
USERCTL=no
双网卡绑定
复制代码代码如下:
cd /etc/sysconfig/network-scripts
#编辑eth0
cat > ifcfg-eth0 << EOF
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
MASTER=bond0
EOF
#编辑eth2
cat > ifcfg-eth2 << EOF
DEVICE=eth2
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
MASTER=bond0
EOF
#编辑bond0
cat > ifcfg-bond0 << EOF
DEVICE=bond0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=none
IPADDR=10.3.3.214
NETMASK=255.255.255.0
GATEWAY=10.3.3.1
IPV6INIT=no
USERCTL=no
EOF
#设置bond参数,注意mode选择
cat > /etc/modprobe.conf << EOF
alias bond0 bonding
options bond0 miimon=100 mode=6
EOF
#加入开机自启动参数
cat >> /etc/rc.local << EOF
ifenslave bond0 eth0 eth2
EOF
#重启网卡
service network restart
#使绑定网卡立即生效
ifenslave bond0 eth0 eth2
#测试绑定网络
ping 10.3.3.1
常用3种网卡绑定模式对比
mode=0
中断任意一条链路或恢复链路,网络0丢包
优点:流量提高1倍
缺点:需要接入同一交换机做聚合配置,无法保证物理交换机高可用(Cisco似乎有解决方案?)
mode=1
中断任意一条链路丢失1-3个包(秒),恢复链路时0丢包
优点:交换机无需配置
缺点:如上
mode=6
中断任意一条链路0丢包,恢复链路时丢失10-15个包(秒)
优点:交换机无需配置,流量提高1倍
『拾』 linux下bond网卡eth0、eth1 为什么在解除bond以后,eth0、eth1 的mac地址还是相同
bond本身绑定网卡时就不会吧、把 eth0 和eth1的mac地址给成相同的,你出现的 MAC 地址相同,可能是你配置文件问题。cat /etc/udev/rules.d/70-persistent-net.rules 看你两块网卡的 MAC 相同吗?