Linux双网卡绑定实现
- 格式:doc
- 大小:34.50 KB
- 文档页数:6
Linux下配置双网卡桥接1. 新建/etc/sysconfig/network-scripts/ifcfg-bond0文件DEVICE=bond0ONBOOT=yesBOOTPROTO=noneIPADDR=10.0.0.4NETMASK=255.0.0.0GATEWAY=10.0.0.1USERCTL=no2. 更改/etc/sysconfig/network-scripts/ifcfg-eth0网卡属性DEVICE=eth0ONBOOT=yesBOOTPROTO=noneMASTER=bond0slave=yesUSERCTL=no3. 更改/etc/sysconfig/network-scripts/ifcfg-eth1网卡的属性DEVICE=eth1ONBOOT=yesBOOTPROTO=noneMASTER=bond0slave=yesUSERCTL=no注意:配置文件都不能设置mac地址,启动时会有冲突。
除了bond0设置ip地址外,其他真实的网卡都不能设置ip地址。
4. 编辑/etc/modprobe.conf文件,加入以下内容alias bond0 bondingoptions bond0 miimon=100 mode=1注:1、miimon 是链路监测的时间间隔单位是毫秒,miimon=100的意思就是,每100毫秒检测网卡和交换机之间是否连通,如不通则使用另外的链路。
2、mode=0 表示负载均衡方式,两块网卡都工作。
mode=1 表示冗余方式,网卡只有一个工作,一个出问题启用另外的。
)5. 使用ifenslave命令把网卡绑定一下,#ifenslave bond0 eth0 eth16. 加入/etc/rc.d/rc.local启动项ifenslave bond0 eth0 eth17. 启动网卡#service network restart。
Linux双⽹卡绑定和解除⼀、传统的bond模式⽹卡绑定⼀定要在服务管理中关闭NetworkManager服务并禁⽤⾃动启动,因为centos中NetworkManager服务与network服务冲突,默认是由NetworkManager接管⽹络服务,所以传统⽅式重启会出现启动失败,错误⽇志⼀般如下所⽰,管理员就得回到机房接显⽰器配置⽹络连接。
以绑定eth0和eth1为例1.通过vim设置eth0的IP地址和eth1的IP地址。
[root@x101 network-scripts]# vim ifcfg-eth0DEVICE=eth0ONBOOT=yesBOOTPROTO=noneTYPE=EthernetMASTER=bond0 //将⽹卡指向bond0SLAVE=yesUSERCTL=[yes|no](⾮root⽤户是否可以控制该设备)[root@x101 network-scripts]# vim ifcfg-eth1DEVICE=eth1ONBOOT=yesNETBOOT=yesBOOTPROTO=noneTYPE=EthernetMASTER=bond0 //将⽹卡指向bond0SLAVE=yesUSERCTL=[yes|no](⾮root⽤户是否可以控制该设备)2.新建 /etc/sysconfig/network-scripts/ifcfg-bond0绑定配置⽂件[root@x101 network-scripts]# cat ifcfg-bond0DEVICE=bond0ONBOOT=yesNETBOOT=yesBOOTPROTO=noneTYPE=EthernetIPADDR=192.168.0.106PREFIX=24DNS=192.168.0.1NM_CONTROLLED=no[root@x101 network-scripts]#5.创建⽹卡绑定的驱动⽂件/etc/modprobe.d/⾃定义.conf,使得绑定后的⽹卡bond0能够⽀持绑定技术(bonding),同时定义⽹卡以mode6模式进⾏绑定,且出故障时⾃动切换时间为100毫秒ms,添加alias bond0 bondingoptions bond0 mode=6 miimon=100 max_bonds=2miimon是指多久时间要检查⽹路⼀次,单位是ms(毫秒)。
Linux⽹卡Bonding配置⼀、bonding技术简介 bonding(绑定)是⼀种将n个物理⽹卡在系统内部抽象(绑定)成⼀个逻辑⽹卡的技术,能够提升⽹络吞吐量、实现⽹络冗余、负载等功能,有很多优势。
Linux 系统下⽀持⽹络 Bonding,也叫 channel Bonding,它允许你将 2 个或者更多的⽹卡绑定到⼀起,成为⼀个新的逻辑⽹卡,从⽽实现故障切换或者负载均衡的功能,具体情况要取决于 mode 参数的具体配置。
Linux系统bonding技术是内核层⾯实现的,它是⼀个内核模块(驱动)。
使⽤它需要系统有这个模块, 我们可以modinfo命令查看下这个模块的信息, ⼀般来说都⽀持.modinfo bondingbonding的七种⼯作模式bonding技术提供了七种⼯作模式,在使⽤的时候需要指定⼀种,每种有各⾃的优缺点.balance-rr (mode=0) 默认, 有⾼可⽤ (容错) 和负载均衡的功能, 需要交换机的配置,每块⽹卡轮询发包 (流量分发⽐较均衡).active-backup (mode=1) 只有⾼可⽤ (容错) 功能, 不需要交换机配置, 这种模式只有⼀块⽹卡⼯作, 对外只有⼀个mac地址。
缺点是端⼝利⽤率⽐较低balance-xor (mode=2) 不常⽤broadcast (mode=3) 不常⽤802.3ad (mode=4) IEEE 802.3ad 动态链路聚合,需要交换机配置,没⽤过balance-tlb (mode=5) 不常⽤balance-alb (mode=6) 有⾼可⽤ ( 容错 )和负载均衡的功能,不需要交换机配置 (流量分发到每个接⼝不是特别均衡)详细说明请参考⽹络上其他资料,了解每种模式的特点根据⾃⼰的选择就⾏, ⼀般会⽤到0、1、4、6这⼏种模式。
⼆、RHEL6 下的 Boding 配置: 在所有的 RHEL 版本下,⽬前都不⽀持在 NetworkManager 服务协作下实现 Bonding 配置.所以要么直接关闭 NetworkManager 服务,并取消其开机启动,要么在所有涉及 Bonding 的⽹卡配置⽂件中(包含ethx 或者 bondY),显式地添加⼀⾏:NM_CONTROLLED=no 要配置⽹卡 Bonding,你必须在/etc/sysconfig/network-scripts/⽬录下建⽴逻辑⽹卡的配置⽂件 ifcfg-bondX,⼀般 X 从 0 开始,依次增加.具体的⽂件内容根据参与 Bonding 的⽹卡类型的不同⼜有所差别,以最最常见的 Ethernet 为例,配置⽂件⼤致是这样的:DEVICE=bond0IPADDR=192.168.0.1NETMASK=255.255.255.0ONBOOT=yesBOOTPROTO=noneUSERCTL=noBONDING_OPTS="bonding parameters separated by spaces"NM_CONTROLLED=no BONDING_OPTS 这⼀⾏填写你需要的 Bonding 模式,⽐如 BONDING_OPTS="miimon=100 mode=1" ,下⾯也会介绍⼏种常见的配置⽅式和它代表的意义,这⾥暂时不展开说明.为了⽅便称呼,我们把Bongding 后的逻辑⽹卡 bondX 称为主⽹卡(Master),参与 Bonding 的物理⽹卡 ethY 称为⼦⽹卡(Slave). 主⽹卡配置⽂件创建完毕以后,⼦⽹卡的配置⽂件也需要做相应的改变,主要是添加 MASTER=和SLAVE=这两项参数,我们假设 2 张⼦⽹卡为 eth0 和 eth1,那么他们的配置⽂件⼤致的样⼦会是这样⼦:DEVICE=ethXBOOTPROTO=noneONBOOT=yesMASTER=bond0SLAVE=yesUSERCTL=noNM_CONTROLLED=no 像这样,分别修改 ifcfg-eth0 和 ifcfg-eth1 配置⽂件,DEVICE=ethX 中的 X ⽤相应的值代替.然后我们重启⽹络服务.service network restart这样⼦,⼦⽹卡为 eth0 和 eth1,主⽹卡为 bond0,模式为 mode 1 的⽹络 Bonding 就完成了rhel6 bonding 实例展⽰系统: rhel6⽹卡: eth2、eth3bond0:10.200.100.90负载模式: mode1(active-backup) # 这⾥的负载模式为1,也就是主备模式.1、关闭和停⽌NetworkManager服务service NetworkManager stopchkconfig NetworkManager offps: 如果有装的话关闭它,如果报错说明没有装这个,那就不⽤管2、加载bonding模块modprobe --first-time bonding3、创建基于bond0接⼝的配置⽂件[root@rhel6.6 network-scripts]# cat ifcfg-bond0DEVICE=bond0BOOTPROTO=noneIPADDR=10.200.100.90NETMASK=255.255.255.0ONBOOT=yesNM_CONTROLLED=noUSERCTL=noBONDING_OPTS="mode=1 miimon=200"4、SLAVE⽹卡的配置⽂件两种⼦⽹卡的配置⽂件如下[root@rhel6.6 network-scripts]# cat ifcfg-eth2DEVICE=eth2#HWADDR=14:58:D0:5A:0F:76NM_CONTROLLED=no#UUID=3b718bed-e8d4-4b64-afdb-455c8c3ccf91ONBOOT=yes#NM_CONTROLLED=yesBOOTPROTO=noneMASTER=bond0SLAVE=yesUSERCTL=no[root@rhel6.6 network-scripts]# cat ifcfg-eth3DEVICE=eth3#HWADDR=14:58:D0:5A:0F:77NM_CONTROLLED=no#UUID=988835c2-8bfa-4788-9e8d-e898f68458f0ONBOOT=yes#NM_CONTROLLED=yesBOOTPROTO=noneMASTER=bond0SLAVE=yesUSERCTL=no5、bonding信息查看重启⽹络服务器后bonding⽣效[root@rhel6.6 network-scripts]# ip a4: eth2: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP qlen 1000link/ether c4:34:6b:ac:5c:9e brd ff:ff:ff:ff:ff:ff5: eth3: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP qlen 1000link/infiniband a0:00:03:00:fe:80:00:00:00:00:00:00:00:02:c9:03:00:0a:6f:ba brd 00:ff:ff:ff:ff:12:40:1b:ff:ff:00:00:00:00:00:00:ff:ff:ff:ff10: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UPlink/ether c4:34:6b:ac:5c:9e brd ff:ff:ff:ff:ff:ffinet 10.200.100.90/24 brd 10.212.225.255 scope global bond0inet6 fe80::c634:6bff:feac:5c9e/64 scope linkvalid_lft forever preferred_lft forever[root@rhel6.6 network-scripts]# cat /proc/net/bonding/bond0Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009)Bonding Mode: fault-tolerance (active-backup) # bond0接⼝采⽤mode1Primary Slave: NoneCurrently Active Slave: eth2MII Status: upMII Polling Interval (ms): 200Up Delay (ms): 0Down Delay (ms): 0Slave Interface: eth2MII Status: upSpeed: 1000 MbpsDuplex: fullLink Failure Count: 0Permanent HW addr: c4:34:6b:ac:5c:9eSlave queue ID: 0Slave Interface: eth3MII Status: upSpeed: 1000 MbpsDuplex: fullLink Failure Count: 0Permanent HW addr: c4:34:6b:ac:5c:9fSlave queue ID: 0进⾏⾼可⽤测试,拔掉其中的⼀条⽹线看丢包和延时情况, 然后在插回⽹线(模拟故障恢复),再看丢包和延时的情况.三、RedHat7配置bonding系统: Red Hat Enterprise Linux Server release 7.6 (Maipo)⽹卡: eno3、eno4bonding:bond0负载模式: mode1(active-backup)服务器上两张物理⽹卡eno3和eno4, 通过绑定成⼀个逻辑⽹卡bond0,bonding模式选择mode1注: ip地址配置在bond0上, 物理⽹卡不需要配置ip地址.1、关闭和停⽌NetworkManager服务RedHat7默认安装了NetworkManager,在配置前先关掉NetworkManager服务,否则可能会对bonding或造成问题。
一、L inux bonding研究及实现Linux Bonding本文介绍Linux(具体发行版本是CentOS5.6)下的双卡绑定的原理及实现。
Linux双网卡绑定实现是使用两块网卡虚拟成为一块网卡设备,这简单来说,就是两块网卡具有相同的IP地址而并行链接聚合成一个逻辑链路工作。
这项技术在Sun和Cisco中分别被称为Trunking和Etherchannel技术,在Linux的2.4.x及其以后的内核则称为Bonding技术。
bonding的前提条件:网卡应该具备自己独立的BIOS芯片,并且各网卡芯片组型号相同。
同一台服务器上的网卡毫无疑问是是符合这个条件的。
Bonding原理bonding的原理:在正常情况下,网卡只接收目的硬件地址(MAC Address)是自身MAC的以太网帧,过滤别的数据帧,以减轻驱动程序的负担;但是网卡也支持另外一种被称为混杂promisc的模式,可以接收网络上所有的帧,bonding就运行在这种模式下,而且修改了驱动程序中的mac地址,将两块网卡的MAC地址改成相同,可以接收特定MAC的数据帧。
然后把相应的数据帧传送给bond驱动程序处理。
为方便理解bonding的配置及实现,顺便阐述一下Linux的网络接口及其配置文件。
在Linux 中,所有的网络通讯都发生在软件接口与物理网络设备之间。
与网络接口配置相关的文件,以及控制网络接口状态的脚本文件,全都位于/etc/sysconfig/netwrok-scripts/ 目录下。
网络接口配置文件用于控制系统中的软件网络接口,并通过这些接口实现对网络设备的控制。
当系统启动时,系统通过这些接口配置文件决定启动哪些接口,以及如何对这些接口进行配置。
接口配置文件的名称通常类似于ifcfg-<name>,其中<name> 与配置文件所控制的设备的名称相关。
在所有的网络接口中,最常用的就是以太网接口ifcfg-eth0,它是系统中第一块网卡的配置文件。
Linux系统配置双⽹卡绑定bond01、bonding简述双⽹卡配置设置虚拟为⼀个⽹卡实现⽹卡的冗余,其中⼀个⽹卡坏掉后⽹络通信仍可正常使⽤,实现⽹卡层⾯的负载均衡和⾼可⽤性。
现在⼀般的企业都会使⽤双⽹卡接⼊,这样既能添加⽹络带宽,同时⼜能做相应的冗余,可以说是好处多多。
⽽⼀般企业都会使⽤linux操作系统下⾃带的⽹卡绑定模式,当然现在⽹卡产商也会出⼀些针对windows操作系统⽹卡管理软件来做⽹卡绑定(windows操作系统没有⽹卡绑定功能需要第三⽅⽀持)。
1.1 bonding原理⽹卡⼯作在混杂(promisc)模式,接收到达⽹卡的所有数据包,tcpdump⼯作⽤的也是混杂模式(promisc),将两块⽹卡的MAC地址修改为相同接收特定MAC的数据帧,然后把相应的数据帧传送给bond驱动程序进⾏处理。
1.2 Bonding模式(bonding mode)轮询策略(round robin),mode=0,按照设备顺序依次传输数据包,提供负载均衡和容错能⼒主备策略(active-backup),mode=1,只有主⽹卡处于⼯作状态,备⽹卡处于备⽤状态,主⽹卡坏掉后备⽹卡开始⼯作,提供容错能⼒异或策略(load balancing (xor)),mode=2,根据源MAC地址和⽬的MAC地址进⾏异或计算的结果来选择传输设备,提供负载均衡和容错能⼒⼴播策略(fault-tolerance (broadcast)),mode=3,将所有数据包传输给所有接⼝通过全部设备来传输所有数据,⼀个报⽂会复制两份通过bond下的两个⽹卡分别发送出去,提供⾼容错能⼒动态链接聚合(lacp),mode=4,按照802.3ad协议的聚合⾃动配置来共享相同的传输速度,⽹卡带宽最⾼可以翻倍,链路聚合控制协议(LACP)⾃动通知交换机聚合哪些端⼝,需要交换机⽀持 802.3ad协议,提供容错能⼒输出负载均衡模式(transmit load balancing),mode=5,输出负载均衡模式,只有输出实现负载均衡,输⼊数据时则只选定其中⼀块⽹卡接收,需要⽹卡和驱动⽀持ethtool命令输⼊/输出负载均衡模式(adaptive load balancing),mode=6,输⼊和输出都实现负载均衡,需要⽹卡和驱动⽀持ethtool命令2、⽹卡配置⽂件的配置2.1 配置环境 环境:系统CentOS 6.7 + 虚拟机 VMware 12 ⾄少两块物理⽹卡(VMware上添加eth0,eth1) 2.2 需要添加或修改的配置⽂件有5个(mode=1) 这5个配置⽂件是: /etc/sysconfig/network-scripts/ifcfg-eth{0,1} /etc/sysconfig/network-scripts/ifcfg-bond0 /etc/modprobe.d/dist.conf /etc/rc.local2.2.1 /etc/sysconfig/network-scripts/ifcfg-{eth0,eth1,bonding0}修改或添加提⽰:先备份好eth0和eth1,再修改这⼏个⽂件以下是修改好的三个⽹卡配置⽂件的参数[root@ant network-scripts]# vimdiff ifcfg-eth0 ifcfg-eth1 ifcfg-bond02.2.2 修改/etc/modprobe.d/dist.conf⽂件在此⽂件中添加以下内容:alias bond0 bonding,表⽰系统在启动时加载bonding模块,对外虚拟⽹络接⼝设备为 bond0miimon=100,表⽰系统每100ms监测⼀次链路连接状态,如果有⼀条线路不通就转⼊另⼀条线mode=1,表⽰绑定模式为1primary=eth0,系统⾸先eth0作为bond0接⼝与外界信息的传输接⼝2.2.3 修改配置⽂件/etc/rc.local在此⽂件中添加以下内容:modprobe bonding miimon=100 mode=12.2.4 重启⽹络(service network restart),并查看三个接⼝的mac地址使⽤ifconfig命令显⽰,bond0,eth1,eth2物理地址相同,提⽰三个⽹卡均通过⼀个ip主机端⼝与外界通信但是,我们可以看到,在mode=1的情况下,当前bond0采⽤eth0通信,实际的物理⽹卡地址见下图:3、验证⽹络的连通性没有丢包,⽹络连通性可。
Linux多网卡绑定、IP别名在介绍多网卡绑定以及子接口技术之前,首先来介绍一下查看网卡信息的指令操作。
查看网卡线缆状态:mii-tool eth0 #命令显示网卡的底层信息(双工,速率,物理连接是否正常等信息)查看网卡底层信息:ethtool eth0 #此命令显示的网卡信息较为详细,作为高级的排错指令ethtool -i eth0 查看网卡驱动信息[root@www ~]# ethtool -i eth0driver: pcnet32version: 1.35firmware-version:bus-info: 0000:02:01.0ethtool -S eth0 查看网卡状态统计信息子接口(IP别名):CentOS和RHEL默认会启用NetworkManager对网卡管理,Linux下可以通过IP别名(子接口)功能为一个物理网卡添加多个IP地址;要使用IP别名(子接口)需要关闭NetworkManager服务。
如下所示:service NetworkManager stopchkconfig NetworkManager off#此服务对网卡进行管理在功能上来讲很单一,实现的功能很少;使用ip命令为一个接口添加别名:(或者通过ifconfig命令来实现)ip addr add 10.1.10.118/24 dev eth0 label eth0:0eth0:1永久添加别名,需要在/etc/sysconfig/network-scripts/中添加配置文件:文件名:ifcfg-eth0:0内容如下所示:DEVICE=eth0:0IPADDR=10.1.10.118PREFIX=24 或者NETMASK 255.255.255.0 (在这里直接使用地址前缀信息)ONPARENT=yes #子接口的依附关系;备注:使用多网卡的主机上需要将NetworkManager服务关闭,避免出现问题Linux下可以通过多网卡绑定来提升网卡的稳定性及带宽,多网卡绑定通过将多个物理网卡绑定为一个逻辑网卡的形式创建。
LINUX系统下双网卡双网关设置(含五篇)第一篇:LINUX系统下双网卡双网关设置由于电信和网通之间互联互通的问题,很多人选择双线路机房,所谓双线路机房就是拥有两条出口,一条电信一条网通。
最近在一个双线路机房测试一台服务器,打算作为论坛的数据库服务器使用,服务器操作系统为Linux。
计划配置为双IP,双域名,使得浏览者通过电信和网通两条线路都能正常访问服务器,而且各走各的,互不影响。
在配置网络的时候遇到了问题,由于Linux默认只有一个网关,在网络上查询了很久,找到一个解决方案,因此整理了一下。
感谢原文作者jac003ke。
服务器操作系统RedHat linux 9,设置两张路由表1.vi /etc/iproute2/rt_tables,增加网通和电信两个路由表251 tel电信路由表252 cnc 网通路由表2.给网卡绑定两个地址用于电信和网通两个线路ip addr add 192.168.0.2/24 dev eth0ip addr add 10.0.0.2/24 dev eth13、分别设置电信和网通的路由表电信路由表:#确保找到本地子网ip route add 192.168.0..0/24 via 192.168.0.2 dev eth0 table tel#内部回环网络ip route add 127.0.0.0/8 dev lo table tel#192.168.0.1为电信网络默认网关地址ip route add default via 192.168.0.1 dev eth0 table tel网通线路路由表:#确保找到本地子网ip route add 10.0.0.0/24 via 10.0.0.2 dev eth1 table cnc#内部回环网络ip route add 127.0.0.0/8 dev lo table cnc#10.0.0.1是网通的默认网关ip route add default via 10.0.0.1 dev eth1 table cnc4、电信和网通各有自己的路由表,制定策略,让192.168.0.2的回应数据包走电信的路由表路由,10.0.0.2的回应数据包走网通的路由表路由ip rule add from 192.168.0.1 table telip rule add from 10.0.0.1 table cnc第二篇:双网卡连接内网外网--默认网关设置问题双网卡连接内网外网--默认网关设置问题2010年06月07日星期一14:36首先你的机器需要有两块网卡,分别接到两台交换机上,internet地址:192.168.1.8,子网掩码:255.255.255.0,网关:192.168.1.1内部网地址:172.23.1.8,子网掩码:255.255.255.0,网关:172.23.1.1如果按正常的设置方法设置每块网卡的ip地址和网关,再cmd下使用 route print查看时会看到Network Destination Netmask Gateway Interface Metric0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.80.0.0.0 0.0.0.0 172.23.1.1 172.23.1.8即指向0.0.0.0的有两个网关,这样就会出现路由冲突,两个网络都不能访问。
一、背景CentOS6.6Ethernet:em1 em2 em3 em4bond0 192.168.51.134/24bond1 192.168.52.135、24GW 192.168.51.1GW 192.168.52.1VLAN 51 52前提:查看8021q模块有没有挂载,如果没有的话就进行手动挂载# lsmsg |grep 8021q# modprobe 8021q二、配置:1.配置em1、em2配置文件并将这两块网卡绑定为bond0# cd /etc/sysconfig/network-scripts/# vim ifcfg-em1DEVICE=em1TYPE=EthernetUUID=bcf7fa28-5807-4126-a7e6-d16bb5ddd32bONBOOT=yesBOOTPROTO=none#HWADDR=18:66:DA:4C:FC:E6DEFROUTE=yes#IPV4_FAILURE_FATAL=yes#IPV6INIT=noMASTER=bond0SLAVE=yesUSERCTL=yesPS:这里HWA DDR、UUID一行可以注释掉,因为后面重启network服务的时候可能会提示MA C 地址重复,当然如果不提示最好2.配置em2、em3、em4如上配置参数,其中em3、em4的MASTER=bond13.复制或创建ifcfg-bond0、ifcfg-bond1,并修改文件内容如下# cp ifcfg-em1 ifcfg-bond0# vim ifcfg-bond0DEVICE=bond0BOOTPROTO=noneONBOOT=yesTYPE=EthernetBONDING_OPTS="mode=2 miimon=100"VLAN=yes4.以同样方式配置bond15.配置/etc/modprobe.d/dist.conf#如果bond0,bond1都以同一个mode配置,则可以如下:# vim /etc/modprobe.d/dist.confalias bond0 bondingoptions bonding mode=2 miimon=100#如果bond0,bond1以不同的mode运行,则需要分开配置Mdoe如下:# vim /etc/modprobe.d/dist.conf ##有些系统版本可能不一样,为/etc/modprobe.conf alias bond0 bondingoptions bond0 miimon=100 mode=1install bond1 /sbin/modprobe bonding -o bond1 miimon=100 mode=0PS:这里因为需要加入VLA N,不需要在这里配置IP三、重启network服务可以查看/proc/net/bonding/下的bond0或bond1,查看虚拟网卡状态四、把绑定的bond0、bond1加入VLAN 51,VLAN 521.vconfig add bond0 512.vconfig add bond1 52可以查看/proc/net/vlan/config查看vlan配置情况五、配置ifcfg-bond0.51、ifcfg-bond1.52 IP# cp ifcfg-bond0 ifcfg-bond0.51# vim ifcfg-bond0.51DEVICE=bond0.51BOOTPROTO=noneONBOOT=yesTYPE=EthernetIPADDR=192.168.51.134NETMASK=255.255.255.0GATEWAY=192.168.51.1BONDING_OPTS="mode=2 miimon=100"VLAN=yes同理配置bond1.52PS:bond0和bond1最好属于两个不同VLA N的网段,否则会出现路由混乱问题(默认路由只有一条,即是说只有一个出口),有一个思路可以通过配置软路由+iptable实现转发,但暂时测试不通过六、写入rc.load,实现重启不失效# vim /etc/rc.loadmodprobe 8021qifenslave bond0 em1 em2 ifenslave bond1 em3 em4 vconfig add bond0 51vconfig add bond1 52。
深度分析Linux下双网卡绑定七种模式现在一般的企业都会使用双网卡接入,这样既能添加网络带宽,同时又能做相应的冗余,可以说是好处多多。
而一般企业都会使用linux操作系统下自带的网卡绑定模式,当然现在网卡产商也会出一些针对windows操作系统网卡管理软件来做网卡绑定(windows操作系统没有网卡绑定功能需要第三方支持)。
进入正题,linux有七种网卡绑定模式:Mode=0:round robinMode=1:active-backupMode=2:load balancing (xor)Mode=3:fault-tolerance (broadcast)Mode=4:lacpMode=5:transmit load balancingMode=6:adaptive load balancing第一种:bond0:round robin标准:round-robin policy: Transmit packets in sequential order from the first available slave through the last. This mode provides load balancing and fault tolerance.特点:(1)所有链路处于负载均衡状态,轮询方式往每条链路发送报文,基于per packet方式发送。
服务上ping 一个相同地址:1.1.1.1 双网卡的两个网卡都有流量发出。
负载到两条链路上,说明是基于per packet方式,进行轮询发送。
(2)这模式的特点增加了带宽,同时支持容错能力,当有链路出问题,会把流量切换到正常的链路上。
实际绑定结果:cat /proc/net/bonding/bond0Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009)Bonding Mode: load balancing (round-robin)-----RR的模式MII Status: upMII Polling Interval (ms): 100Up Delay (ms): 0Down Delay (ms): 0Slave Interface: eth0MII Status: upLink Failure Count: 0Permanent HW addr: 74:ea:3a:6a:54:e3Slave Interface: eth1MII Status: upLink Failure Count: 0应用拓扑:交换机端需要配置聚合口,cisco叫port channel。
为了Linux双网卡路由设置如题。
为了Linux可以上网,加了网关。
如下:1。
所修改得关键文件:/etc/sysconfig/hwconf 检查网卡是否被检测到。
/etc/modules.conf 检查每个网卡分配得别名。
/etc/sysconfig/network-stripts/ifcfg-eth0 配置网卡一/etc/sysconfig/network-stripts/ifcfg-eth1 配置网卡二/etc/sysconfig/networking/* 有部分关于主机名称等得配置文件。
2。
使用如下命令可以让配置生效:/etc/init.d/network restart3。
静态路由添加方法:(1)将添加静态路由的命令加入到rc.local中/etc/rc.d/rc.local格式如下(与route命令格式一致):route add -net 219.223.216.0 netmask 255.255.255.0 gw219.223.215.129 dev eth1加后,需重启系统后生效。
注:另有说法可将静态路由加入/etc/sysconfig/static-routes文件中(此文件中加入试用无效)(2)将添加静态路由的命令加入到/etc/sysconfig/network-scripts/route-eth1文件中格式如下:219.223.214.0/24 via 219.223.215.129 dev eth1219.223.215.0/24 via 219.223.215.129加后,需service network restart后生效以上两种方式加入路由重启后不丢失(3)临时添加路由命令(命令行加入):route add -net 192.168.0.0 netmask 255.255.255.0 gw 192.168.0.1 eth0 route add default gw 192.168.0.1 eth0netstat -rn 查看路由表。
Linux下的bonding(双网卡绑定)配置整理Linux下的bonding(双网卡绑定)配置整理1. 检查你的系统是否支持bonding首先,执行命令:$ rpm -qf /sbin/ifup它将会返回一行文本,以"initscripts"或"sysconfig,"开头,后面跟着一串数字。
这就是提供网络初始化脚本的包。
注意,如果查到的包是initscripts,后面配置的时候要使用initscripts的配置方式,这边的环境是initscripts方式。
如果查到的是sysconfig包,则配置会不同,详细请查看下一步,为了确定你的安装是否支持bonding,执行命令:$ grep ifenslave /sbin/ifup如果返回任何匹配记录,则表示你的initscripts或sysconfig支持bonding。
2. 修改网络适配器的配置针对现在的网络适配器配置文件进行修改,配置文件都放在/etc/sysconfig/network-scripts目录下,如下:第一个网络适配器:vi /etc/sysconfig/network-scripts/eth0DEVICE=eth0 ONBOOT=yes BOOTPROTO=none MASTER=bond0 SLA VE=yes第二个网络适配器:vi /etc/sysconfig/network-scripts/eth1DEVICE=eth1 USERCTL=no ONBOOT=yes MASTER=bond0 SLA VE=yes BOOTPROTO=non ewk_ad_begin({pid : 21});wk_ad_after(21, function(){$('.ad-hidden').hide();}, function(){$('.ad-hidden').show();});3.创建bonding的网络脚本vi /etc/sysconfig/network-scripts/bond0DEVICE=bond0IPADDR=192.168.1.66//修改为你需要的IPNETMASK=255.255.255.0 NETWORK=192.168.1.0 BROADCAST=192.168.1.255 ONBOOT= yesBOOTPROTO=none USERCTL=no4. bond驱动的选项Bonding驱动的选项是通过在加载时指定参数来设定的,通常在以下两个文件里面指定。
Suse-linux网卡绑定bonding方法SueLinu某系统的网卡冗余bonding方法有两种:一种是在命令模式下直接配置,一种是用Sue系统里面的yat管理工具对网络配置里面直接绑定。
Yat管理工具进去之后可以看到已通电网卡,直接编辑设置为绑定网卡,再添加bond0网卡,直接进行绑定设置即可。
下面介绍命令模式绑定的步骤:首先确定有两块以上的网卡ifconfig–a1.在/etc/yconfig/network/建立一个ifcfg-bond0ifcfg-bond0文件名是启用网卡时,优先使用模式的配置文件BONDING_MASTER='ye' BONDING_MODULE_OPTS='mode=active-backupmiimon=100'##主备状态BONDING_SLAVE0='eth0'##根据环境而定BONDING_SLAVE1='eth1'##根据环境而定BOOTPROTO='tatic'BROADCAST=''ETHTOOL_OPTIONS='' IPADDR='192.168.217.128/24'##根据环境而定MTU=''NAME=''NETWORK=''REMOTE_IPADDR=''STARTMODE='auto'USERCONTROL='no'2.新建了ifcfg-bond0这个文件配置写好之后,重启网络服务:rcnetworkretartIfconfig会看到如下信息:Bond0,eth0,eth1的MAC地址都是一样的运行cat/proc/net/bonding/bond0会看到如下信息如果绑定不成功/proc/net/bonding/不会有bond0这个文件这里可以看到绑定信息,以及两块网卡的真实MAC地址,可以看出eth0是主卡,因为MAC地址用的是eth0的地址。
Linux-双⽹卡绑定bond详解1、什么是bond⽹卡bond是通过多张物理⽹卡绑定为⼀个逻辑⽹卡,实现本地⽹卡的冗余,带宽扩容和负载均衡,在⽣产场景中是⼀种常⽤的技术。
Kernels 2.4.12及以后的版本均供bonding模块,以前的版本可以通过patch实现。
可以通过以下命令确定内核是否⽀持 bonding:[root@lixin network-scripts] #cat /boot/config-2.6.32-573.el6.x86_64 |grep -i bondingCONFIG_BONDING=m[root@lixin network-scripts] #2、bond的模式bond的模式常⽤的有两种:mode=0(balance-rr)表⽰负载分担round-robin,并且是轮询的⽅式⽐如第⼀个包⾛eth0,第⼆个包⾛eth1,直到数据包发送完毕。
优点:流量提⾼⼀倍缺点:需要接⼊交换机做端⼝聚合,否则可能⽆法使⽤mode=1(active-backup)表⽰主备模式,即同时只有1块⽹卡在⼯作。
优点:冗余性⾼缺点:链路利⽤率低,两块⽹卡只有1块在⼯作bond其他模式:mode=2(balance-xor)(平衡策略)表⽰XOR Hash负载分担,和交换机的聚合强制不协商⽅式配合。
(需要xmit_hash_policy,需要交换机配置port channel)特点:基于指定的传输HASH策略传输数据包。
缺省的策略是:(源MAC地址 XOR ⽬标MAC地址) % slave数量。
其他的传输策略可以通过xmit_hash_policy选项指定,此模式提供负载平衡和容错能⼒mode=3(broadcast)(⼴播策略)表⽰所有包从所有⽹络接⼝发出,这个不均衡,只有冗余机制,但过于浪费资源。
此模式适⽤于⾦融⾏业,因为他们需要⾼可靠性的⽹络,不允许出现任何问题。
需要和交换机的聚合强制不协商⽅式配合。
linux下双网卡绑定并设置双IP环境:双网卡服务器RHEL AS5.4目的:双网卡绑定并设置双IP配置:分为2部分:一、双网卡绑定;二、给绑定后的网卡设置双IP一、双网卡绑定1,新建个ifcfg-bond0 (cp /etc/sysconfig/network-scripts/ifcfg-eth0/etc/sysconfig/network-script/ifcfg-bond0)2,修改ifcfg-bond0文件,去掉mac地址相关信息(HW ADDR),给个ip地址,网络地址,广播地址如下:# cat ifcfg-bond0DEVICE= bond0BOOTPROTO=staticIPADDR=192.168.80.189 //*第一个IP地址*//NETMASK=255.255.255.0 //*网络掩码*//ONBOOT=yes:wq //*保存退出*//3,修改ifcfg-eth0和ifcfg-eth1,如下:cat ifcfg-eth0cat ifcfg-eth14,修改/etc/modprobe.conf,添加如下语句:alias bond0 bondingoptions bond0 miimon=100 mode=1注释:mode可以为0,1,0为负载均衡,1为失效保护如下图:5,修改/etc/rc.d/rc.local,添加如下内容:ifenslave bond0 eth0 eth1route add -net 192.168.1.255 netmask 255.255.255.0 bond0如下图:6,重启,看能否通过ssh登陆上服务器bond0得ip(192.168.1.136),如果成功登陆或者ping通了,再查看一下连接状态ifconfig,如下图:ifconfig查看连接状态7,尝试拔掉一根网线看是否能正常登陆上去(或ping得通),再查看一下更连接状态(cat /proc/net/bonding/bond0)如下图:8,尝试一下更换一下mode的值,再试一下。
“?REDHAT linux双网卡绑定配置(v 130214)版本说明目录版本说明 (2)1、配置驱动模块 (4)2、建立bonding网卡配置 (4)3、修改被绑定网卡的配置 (6)4、修改/etc/sysconfig/network-scripts/ifcfg-eth1 (6)5、导入bonding驱动: (6)6、重启网络 (7)1、配置驱动模块修改文件/etc/modprobe.conf,找到:alias eth0 8139cpalias eth1 8139cp注意:8139cp为网卡型号。
在此内容后加入:######## Bonding ##########alias bond0 bondingoptions bonding max_bonds=1或######## Bonding ##########alias bond0 bondingoptions bond0 miimon=100 mode=12、建立bonding网卡配置新建文件/etc/sysconfig/network-scripts/ifcfg-bond0,输入以下内容:DEVICE=bond0ONBOOT=yesBOOTPROTO=staticIPADDR=192.168.100.21NETMASK=255.255.255.0USERCTL=noBONDING_OPTS="mode=1 miimon=100 primary=eth0"BONDING_OPTS参数解释此参数用于指定网卡绑定时的属性,以下是对常用参数进行的解释:miimon参数:指定网卡故障时的切换时间间隔以ms为单位。
primary参数:指定默认的主网卡设备。
mode参数:0-轮询模式,所绑定的网卡会针对访问以轮询算法进行平分。
1-高可用模式,运行时只使用一个网卡,其余网卡作为备份,在负载不超过单块网卡带宽或压力时建议使用。
2-基于HASH算法的负载均衡模式,网卡的分流按照xmit_hash_policy的TCP协议层设置来进行HASH 计算分流,使各种不同处理来源的访问都尽量在同一个网卡上进行处理。
linux 网卡绑定 bond 主备一、做linux双网卡bond1. 编辑文件:#vi /etc/modprobe.conf添加:alias bond0 bondingoptions bond0 miimon=100 mode=1(mode=0 表示load blance 简称AA模式;mode=1 表示热备,简称AB 模式)注:millmon是用来进行链路监测的,millmon=100,表示每100ms监测一次链路连接状态,如果有一条不通,就转入另一条,这个值建议为100, 设成其它值可能导致不稳定)2. 创建bond0起动配置文件:cd /etc/sysconfig/network-scripts/cp ifcfg-eth0 ifcfg-bond0vi ifcfg-bond0内容如下:DEVICE=bond0ONBOOT=yesBOOTPROTO=staticIPADDR=192.168.0.12NETMASK=255.255.255.0GATEWAY=192.168.0.1USERCTL=no3. 编辑ifcfg-eth0 , ifcfg-eth1两个网卡配置文件,内容如下: #vi ifcfg-eth0DEVICE=eth0USERCTL=noONBOOT=yesMASTER=bond0 //这两行主要是用于系统service network restart SLAVE=yes //后自动启用BOOTPROTO=noneHWADDR=XXXXXXXXXXXXXX (本网卡的MAC,可加可不加)#cp ifcfg-eth0 ifcfg-eth1#vi ifcfg-eth1DEVICE=eth1USERCTL=noONBOOT=yesMASTER=bond0 //这两行主要是用于系统service network restartSLAVE=yes //后自动启用BOOTPROTO=noneHWADDR=XXXXXXXXXXXXXX (本网卡的MAC,可加可不加)至此,linux服务器端配置完毕,重启(命令:reboot)或重启网络服务(命令:service network restart)看到bong0激活成功。
Linux双网卡绑定实现.txt*一篇一篇的翻着以前的的签名,那时候的签名有多幼稚就有多么的幼稚。
你连让我报复的资格都没有-〞好想某天来电显示是你的号码。
好想某天你的状态是为我而写。
有些人,我们明知道是爱的,也要去放弃,因为没结局Linux双网卡绑定实现就是使用两块网卡虚拟成为一块网卡,这个聚合起来的设备看起来是一个单独的以太网接口设备,通俗点讲就是两块网卡具有相同的IP地址而并行链接聚合成一个逻辑链路工作。
其实这项技术在Sun和Cisco中早已存在,被称为Trunking和Etherchannel技术,在Linux 的2.4.x的内核中也采用这这种技术,被称为bonding。
bonding技术的最早应用是在集群——beowulf上,为了提高集群节点间的数据传输而设计的。
下面我们讨论一下bonding 的原理,什么是bonding需要从网卡的混杂(promisc)模式说起。
我们知道,在正常情况下,网卡只接收目的硬件地址(MAC Address)是自身Mac的以太网帧,对于别的数据帧都滤掉,以减轻驱动程序的负担。
但是网卡也支持另外一种被称为混杂promisc的模式,可以接收网络上所有的帧,比如说tcpdump,就是运行在这个模式下。
bonding也运行在这个模式下,而且修改了驱动程序中的mac地址,将两块网卡的Mac地址改成相同,可以接收特定mac的数据帧。
然后把相应的数据帧传送给bond驱动程序处理。
说了半天理论,其实配置很简单,一共四个步骤:实验的操作系统是Redhat Linux Enterprise 3.0绑定的前提条件:芯片组型号相同,而且网卡应该具备自己独立的BIOS芯片。
1.编辑虚拟网络接口配置文件,指定网卡IPvi /etc/sysconfig/ network-scripts/ ifcfg-bond0[root@redflag root]# cp /etc/sysconfig/network-scripts/ifcfg-eth0 ifcfg-bond0 2 #vi ifcfg-bond0将第一行改成 DEVICE=bond0# cat ifcfg-bond0DEVICE=bond0BOOTPROTO=staticIPADDR=172.31.0.13NETMASK=255.255.252.0BROADCAST=172.31.3.254ONBOOT=yesTYPE=Ethernet这里要主意,不要指定单个网卡的IP 地址、子网掩码或网卡 ID。
将上述信息指定到虚拟适配器(bonding)中即可。
[root@redflag network-scripts]# cat ifcfg-eth0DEVICE=eth0USERCTL=noBOOTPROTO=noneONBOOT=yesMASTER=bond0SLAVE=yes[root@redflag network-scripts]# cat ifcfg-eth1DEVICE=eth1USERCTL=noBOOTPROTO=noneONBOOT=yesMASTER=bond0SLAVE=yes3 # vi /etc/modules.conf编辑 /etc/modules.conf 文件,加入如下一行内容,以使系统在启动时加载bonding模块,对外虚拟网络接口设备为 bond0加入下列两行alias bond0 bondingoptions 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 eth1route add -net 172.31.3.254 netmask 255.255.255.0 bond0route add -net 192.168.228.0 netmask 255.255.255.0 gw 192.168.228.153 dev eth0#service network restart到这时已经配置完毕重新启动机器.重启会看见以下信息就表示配置成功了................Bringing up interface bond0 OKBringing up interface eth0 OKBringing up interface eth1 OK................下面我们讨论以下mode分别为0,1时的情况mode=1工作在主备模式下,这时eth1作为备份网卡是no arp的[root@redflag network-scripts]# ifconfig 验证网卡的配置信息bond0 Link encap:Ethernet HWaddr 00:0E:7F:25:D9:8Binet addr:172.31.0.13 Bcast:172.31.3.255 Mask:255.255.252.0UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1RX packets:18495 errors:0 dropped:0 overruns:0 frame:0TX packets:480 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0RX bytes:1587253 (1.5 Mb) TX bytes:89642 (87.5 Kb)eth0 Link encap:Ethernet HWaddr 00:0E:7F:25:D9:8Binet addr:172.31.0.13 Bcast:172.31.3.255 Mask:255.255.252.0UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1RX packets:9572 errors:0 dropped:0 overruns:0 frame:0TX packets:480 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:833514 (813.9 Kb) TX bytes:89642 (87.5 Kb)Interrupt:11eth1 Link encap:Ethernet HWaddr 00:0E:7F:25:D9:8Binet addr:172.31.0.13 Bcast:172.31.3.255 Mask:255.255.252.0UP BROADCAST RUNNING NOARP SLAVE MULTICAST MTU:1500 Metric:1RX packets:8923 errors:0 dropped:0 overruns:0 frame:0TX packets:0 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:753739 (736.0 Kb) TX bytes:0 (0.0 b)Interrupt:15那也就是说在主备模式下,当一个网络接口失效时(例如主交换机掉电等),不回出现网络中断,系统会按照cat /etc/rc.d/rc.local里指定网卡的顺序工作,机器仍能对外服务,起到了失效保护的功能.在mode=0 负载均衡工作模式,他能提供两倍的带宽,下我们来看一下网卡的配置信息[root@redflag root]# ifconfigbond0 Link encap:Ethernet HWaddr 00:0E:7F:25:D9:8Binet addr:172.31.0.13 Bcast:172.31.3.255 Mask:255.255.252.0UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1RX packets:2817 errors:0 dropped:0 overruns:0 frame:0TX packets:95 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0RX bytes:226957 (221.6 Kb) TX bytes:15266 (14.9 Kb)eth0 Link encap:Ethernet HWaddr 00:0E:7F:25:D9:8Binet addr:172.31.0.13 Bcast:172.31.3.255 Mask:255.255.252.0UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1RX packets:1406 errors:0 dropped:0 overruns:0 frame:0TX packets:48 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:113967 (111.2 Kb) TX bytes:7268 (7.0 Kb)Interrupt:11eth1 Link encap:Ethernet HWaddr 00:0E:7F:25:D9:8Binet addr:172.31.0.13 Bcast:172.31.3.255 Mask:255.255.252.0UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1RX packets:1411 errors:0 dropped:0 overruns:0 frame:0TX packets:47 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:112990 (110.3 Kb) TX bytes:7998 (7.8 Kb)Interrupt:15在这种情况下出现一块网卡失效,仅仅会是服务器出口带宽下降,也不会影响网络使用.通过查看bond0的工作状态查询能详细的掌握bonding的工作状态[root@redflag bonding]# cat /proc/net/bonding/bond0bonding.c:v2.4.1 (September 15, 2003)Bonding Mode: load balancing (round-robin)MII Status: upMII Polling Interval (ms): 0Up Delay (ms): 0Down Delay (ms): 0Multicast Mode: all slavesSlave Interface: eth1MII Status: upLink Failure Count: 0Permanent HW addr: 00:0e:7f:25:d9:8aSlave Interface: eth0MII Status: upLink Failure Count: 0Permanent HW addr: 00:0e:7f:25:d9:8bLinux下通过网卡邦定技术既增加了服务器的可靠性,又增加了可用网络带宽,为用户提供不间断的关键服务。