LINUX下双网卡绑定技术实现负载均衡和失效保护
bond0原理

bond0原理bond0相关原理解析1. bond0是什么?bond0是根据Linux操作系统的网络绑定(Network Bonding)功能创建的一个虚拟网络接口。
它通过将多个物理网络接口绑定在一起,来提供更高的带宽和冗余性,以增强网络连接的可靠性和性能。
2. bond0的作用增加带宽利用bond0,可以将多个物理网络接口绑定在一起,形成一个虚拟的接口,从而增加了网络的总带宽。
这对于需要处理大量数据传输的应用程序和服务来说特别有用,比如服务器、负载均衡器等。
提供冗余性通过bond0,系统可以设置多路径冗余,即当一个物理接口出现故障时,流量可以自动切换到其它正常的接口上,保证网络的连通性。
这可以防止网络中断对系统的影响,提高系统的可用性和稳定性。
负载均衡bond0支持多种负载均衡策略,例如基于轮询、基于源IP地址、基于目的IP地址等。
通过这些策略,系统可以根据不同的应用需求,动态地将数据流量分散到不同的物理接口上,实现负载均衡,提高系统的整体性能。
3. bond0的工作原理模式选择bond0支持多种模式,最常用的是”active-backup”、“balance-rr”和”“模式。
•“active-backup”模式:一个接口处于活动状态,其它接口处于备份状态。
当活动接口故障时,备份接口会自动接管其功能。
•“balance-rr”模式:轮询分发,将传输的数据平均分布到每个物理接口上。
•““模式:通过Link Aggregation Control Protocol(LACP)协议,将多个物理接口绑定在一起,形成一个逻辑链路,提供负载均衡和冗余性。
数据分发当一个数据包要发送时,bond0会根据所选择的模式,将数据包分发到不同的物理接口上。
根据负载均衡策略,可以采用轮询、源IP 地址、目的IP地址等算法来选择目标接口。
故障检测bond0会周期性地检测各个物理接口的状态。
如果一个接口失效或故障,bond0将会自动将流量切换到其他正常的接口上,以保证网络的连通性。
Linux双网卡路由设置

为了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下双网卡绑定并设置双IP

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的值,再试一下。
linux双网卡双IP双网关如何配置

# Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet
DEVICE=eth1
BOOTPROTO=none
ONBOOT=yes
HOTPLUG=no
HOTPLUG=no
TYPE=Ethernet
IPADDR=192.168.1.2
NETMASK=255.255.255.0
HWADDR=d8:d3:85:fb:d4:60
GATEWAY=192.168.1.1
USERCTL=no
IPV6INIT=no
PEERDNS=yes
eth1 的配置如下,不需要配置网关
TYPE=Ethernet
IPADDR=192.168.2.2
NETMASK=255.255.255.0
USERCTL=no
IPV6INIT=no
PEERDNS=yes
Linux 命令行下添加路由,192.168.3.0 走 eth1 的网关 192.168.2.1
route add -net 192.168.3.0 netmask 255.255.255.0 dev eth1
linux双网卡双ip双网关如何配置 注意: 2张网卡,只能有1张网卡配置网关,另1张网卡不能配置网关,通过route add添加路由功能来完成第2张网卡的网关配置. 如 : eth1 (192.168.2.2)不需要配置网关,但到 192.168.3.0的网段,需要从eth1去实现通信,其余的全部走eth0网卡,eth0配置网关. eth0的配置如下,配置网关参数 [root@redhat network-scripts]# cat ifcfg-eth0 # broadcom corporation netxtreme ii bcm5709 gigabit ethernet device=eth0 bootproto=none onboot=yes hotplug=no type=ethernet ipaddr=192.168.1.2 netmask=255.255.255.0 hwaddr=d8:d3:85:fb:d4:60 gateway=192.168.1.1 userctl=no ipv6init=no peerdns=yes eth1的配置如下,不需要配置网关 [root@server network-scripts]# cat ifcfg-eth1 # broadcom corporation netxtreme ii bcm5709 gigabit ethernet device=eth1 bootproto=none onboot=yes hotplug=no type=ethernet ipaddr=192.168.2.2 netmask=255.255.255.0 userctl=no ipv6init=no peerdns=yes linux命令行下添加路由,192.168.3.0走 eth1的网关 192.168.2.1 route add -net 192.168.3.0 netmask 255.255.255.0 dev eth1 下载文档原格式( txt原格式 ,共1页)
Linux网卡Bonding配置

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或造成问题。
在LINUX(REDHAT)下双网卡负载均衡(LACP)

在LINUX(REDHAT)下双网卡负载均衡(LACP)(一)linux配置#cat/boot/config-kernel-version|grep-i bondingCONFIG_BONDING=m返回CONFIG_BONDING=m表示支持,否则需要编译内核使它支持bonding也可以用:查看一下内核是否已经支持bonding:modinfo bonding第一步:创建一个ifcfg-bondX#touch/etc/sysconfig/network-scripts/ifcfg-bond0新建一个bond0配置文件#cat/etc/sysconfig/network-scripts/ifcfg-bond0DEVICE=bond0BOOTPROTO=staticIPADDR=1.1.1.2NETMASK=255.255.255.0BROADCAST=1.1.1.255NETWORK=1.1.1.0GATEWAY=1.1.1.1ONBOOT=yesTYPE=Ethernet编辑ifcfg-bond0如上第二步:修改/etc/sysconfig/network-scripts/ifcfg-ethX这个实验中把网卡1和2绑定,修改/etc/sysconfig/network-scripts/ifcfg-ethX相应网卡配置如下:#cat/etc/sysconfig/network-scripts/ifcfg-eth1TYPE=EthernetDEVICE=eth1HWADDR=00:d0:f8:40:f1:a0网卡1macBOOTPROTO=noneONBOOT=yesUSERCTL=noMASTER=bond0SLAVE=yes#cat/etc/sysconfig/network-scripts/ifcfg-eth2TYPE=EthernetDEVICE=eth2HWADDR=00:d0:f8:00:0c:0c网卡2macBOOTPROTO=noneONBOOT=yesUSERCTL=noMASTER=bond0SLAVE=yes第三步:配置/etc/modprobe.conf,添加alias bond0bonding #cat/etc/modprobe.confalias eth0e100alias snd-card-0snd-intel8x0options snd-card-0index=0options snd-intel8x0index=0remove snd-intel8x0{/usr/sbin/alsactl store0>/dev/null2>&1||:;};/sbin/modprobe-r --ignore-remove snd-intel8x0alias eth18139toooptions3c501irq=3alias eth2tulip上面是三网卡本身的配置如果要绑定和做lacp只要再加上下面两条配置alias bond0bonding绑定options bond0miimon=100mode=4mode=4是lacp第四步:配置/etc/rc.d/rc.local,添加需要绑定的网卡#cat/etc/rc.d/rc.localtouch/var/lock/subsys/local配置本身就有这条命令ifenslave bond0eth1eth2这条命令是添加需要绑定的网卡1和2 到这里就完成bonding的配置了可以查看一下第五步:重启网络服务和重启pc#service network restart重启网络服务#shutdown-r now重启pc重启后可以查看bonding情况:网卡1和2都绑定上了,模式为802.3ad#cat/proc/net/bonding/bond0Ethernet Channel Bonding Driver:v3.0.3(March23,2006)Bonding Mode:IEEE802.3ad Dynamic link aggregationTransmit Hash Policy:layer2(0)MII Status:upMII Polling Interval(ms):100Up Delay(ms):0Down Delay(ms):0802.3ad infoLACP rate:slowActive Aggregator Info:Aggregator ID:1Number of ports:2Actor Key:9Partner Key:1Partner Mac Address:00:d0:f8:22:33:baSlave Interface:eth1MII Status:upLink Failure Count:0Permanent HW addr:00:d0:f8:40:f1:a0Aggregator ID:1Slave Interface:eth2MII Status:upLink Failure Count:0Permanent HW addr:00:d0:f8:00:0c:0cAggregator ID:1接口配置信息:新增了bond0的配置信息,接口bond0和eth1,eth2,绑定后三个接口使用的mac都是同一个:00:D0:F8:40:F1:A0 #ifconfigbond0Link encap:Ethernet HWaddr00:D0:F8:40:F1:A0inet addr:1.1.1.2Bcast:1.1.1.255Mask:255.255.255.0inet6addr:fe80::2d0:f8ff:fe40:f1a0/64Scope:LinkUP BROADCAST RUNNING MASTER MULTICAST MTU:1500Metric:1RX packets:128errors:0dropped:0overruns:0frame:0TX packets:259errors:0dropped:0overruns:0carrier:0collisions:0txqueuelen:0RX bytes:15466(15.1KiB)TX bytes:39679(38.7KiB)eth0Link encap:Ethernet HWaddr00:11:11:EB:71:E2inetaddr:192.168.180.8Bcast:192.168.180.15Mask:255.255.255.240 inet6addr:fe80::211:11ff:feeb:71e2/64Scope:LinkUP BROADCAST RUNNING MULTICAST MTU:1500Metric:1 RX packets:311errors:0dropped:0overruns:0frame:0TX packets:228errors:0dropped:0overruns:0carrier:0collisions:0txqueuelen:1000RX bytes:30565(29.8KiB)TX bytes:35958(35.1KiB)eth1Link encap:Ethernet HWaddr00:D0:F8:40:F1:A0inet6addr:fe80::2d0:f8ff:fe40:f1a0/64Scope:LinkUP BROADCAST RUNNING SLAVE MULTICASTMTU:1500Metric:1RX packets:54errors:0dropped:0overruns:0frame:0TX packets:97errors:0dropped:0overruns:0carrier:0collisions:0txqueuelen:1000RX bytes:6696(6.5KiB)TX bytes:13821(13.4KiB)Interrupt:209Base address:0x2e00eth2Link encap:Ethernet HWaddr00:D0:F8:40:F1:A0inet6addr:fe80::2d0:f8ff:fe40:f1a0/64Scope:LinkUP BROADCAST RUNNING SLAVE MULTICAST MTU:1500Metric:1RX packets:74errors:0dropped:0overruns:0frame:0TX packets:162errors:0dropped:0overruns:0carrier:0collisions:0txqueuelen:1000RX bytes:8770(8.5KiB)TX bytes:25858(25.2KiB)Interrupt:201Base address:0x2f00lo Link encap:Local Loopbackinet addr:127.0.0.1Mask:255.0.0.0inet6addr:::1/128Scope:HostUP LOOPBACK RUNNING MTU:16436Metric:1RX packets:6283errors:0dropped:0overruns:0frame:0TX packets:6283errors:0dropped:0overruns:0carrier:0collisions:0txqueuelen:0RX bytes:9783674(9.3MiB)TX bytes:9783674(9.3MiB)(二)锐捷交换机配置:lacp system-priority100全局配置lacp优先级interface GigabitEthernet0/23no switchportlacp port-priority100接口的lacp优先级port-group1mode active接口下开启lacp主动模式interface GigabitEthernet0/24no switchportlacp port-priority100port-group1mode activeinterface AggregatePort1no switchportno ip proxy-arpip address1.1.1.1255.255.255.0和linux成功建立lacp后状态信息如下:Show lacp summarySystem Id:100,00d0.f822.33baFlags:S-Device is requesting Slow LACPDUs F-Device is requesting Fast LACPDUs. A-Device is in active mode.P-Device is in passive mode.Aggregate port1:Local information:LACP port Oper Port Port Port Flags State Priority Key Number State----------------------------------------------------------------------Gi0/23SA bndl1000x10x170x3dGi0/24SA bndl1000x10x180x3d Partner information:LACP port Oper Port Port Port Flags Priority Dev ID Key Number State---------------------------------------------------------------------Gi0/23SA25500d0.f840.f1a00x90x20x3dGi0/24SA25500d0.f840.f1a00x90x10x3d State表示状态信息:bndl表示lacp建立成功,sup表示不成功。
linux双网卡绑定

一、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,它是系统中第一块网卡的配置文件。
麒麟系统双网卡绑定配置

麒麟操作系统技术总结一、网卡绑定当系统中有多个网卡需要进行设置时,建议将网卡的MAC地址与ethX 文件种的HWADDR一一对应,否则系统重启后网卡的eth号很可能会发生改变,在设置了网卡绑定的生成系统中,这是非常危险的。
网卡绑定配置(如将网卡eth1和eth3绑定为bond0的操作步骤):(1)使用service NetworkManage stop命令关闭NetworkManage服务,使用chkconfig NetworkManage off命令使NetworkManage服务在系统开机时不自动启动;(2)修改被绑定网卡eth1的配置。
打开终端,使用cd /etc/sysconfig/network-scripts命令进入network-scripts目录,使用gedit ifcfg-eth1命令打开ifcfg-eth1文件,修改以下内容,修改完成后保存并关闭ifcfg-eth1文件。
DEVICE=eth1BOOTPROTO=noneHWADDR=”: ::::”ONBOOT=yesTYPE=EthernetUSERCTL=noIPV6INIT=noPEERDNS=yesSLA VE=yesMASTER=bond0备注:DEVICE=<name>:<name>表示物理设备的名称,对于动态寻址的PPP设备则是指它的逻辑名称。
BOOTPROTO=<protocol><protocol>的值有以下几种:none——不自定启用协议bootp——使用BOOTP协议dhcp——使用DHCP协议HWADDR:网卡的MAC地址ONBOOT=<yes | no>:yes表示系统启动时激活设备;no表示系统启动时不激活设备USERCTL=<yes | no>:yes表示允许非root用户控制这个设备;no表示不允许非root用户控制这个设备;PEERDNS=<yes | no>:yes表示使用DNS选项的值代替/etc/resolv.conf中的配置。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
保持服务器的高可用性是企业级 IT 环境的重要因素。
其中最重要的一点是服务器网络连接的高可用性。
网卡(NIC)绑定技术有助于保证高可用性特性并提供其它优势以提高网络性能。
我们在这介绍的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. 1.编辑虚拟网络接口配置文件,指定网卡IP2.vi /etc/sysconfig/ network-scripts/ ifcfg-bond03.[root@rhas-13 root]# cp /etc/sysconfig/network-scripts/ifcfg-eth0 ifcfg-bond04. 2 #vi ifcfg-bond05.将第一行改成 DEVICE=bond06.# cat ifcfg-bond07.DEVICE=bond08.BOOTPROTO=static9.IPADDR=172.31.0.13MASK=255.255.252.011.BROADCAST=172.31.3.25412.ONBOOT=yes13.TYPE=Ethernet14.这里要主意,不要指定单个网卡的IP 地址、子网掩码或网卡 ID。
将上述信息指定到虚拟适配器(bonding)中即可。
15.[root@rhas-13 network-scripts]# cat ifcfg-eth016.DEVICE=eth017.ONBOOT=yes18.BOOTPROTO=dhcp19.[root@rhas-13 network-scripts]# cat ifcfg-eth120.DEVICE=eth021.ONBOOT=yes22.BOOTPROTO=dhcp复制代码3 # vi /etc/modules.conf “自己实验结果:centos文件为:/etc/modprobe.conf“1.编辑 /etc/modules.conf 文件,加入如下一行内容,以使系统在启动时加载bonding模块,对外虚拟网络接口设备为 bond02.3.加入下列两行4.alias bond0 bonding5.options bond0 miimon=100 mode=16.说明:miimon是用来进行链路监测的。
比如:miimon=100,那么系统每100ms监测一次链路连接状态,如果有一条线路不通就转入另一条线路;mode的值表示工作模式,他共有0,1,2,3四种模式,常用的为0,1两种。
7.mode=0表示load balancing (round-robin)为负载均衡方式,两块网卡都工作。
8.mode=1表示fault-tolerance (active-backup)提供冗余功能,工作方式是主备的工作方式,也就是说默认情况下只有一块网卡工作,另一块做备份.9.bonding只能提供链路监测,即从主机到交换机的链路是否接通。
如果只是交换机对外的链路down掉了,而交换机本身并没有故障,那么bonding会认为链路没有问题而继续使用10. 4 # vi /etc/rc.d/rc.local11.加入两行1.ifenslave bond0 eth0 eth12.route add default gw 220.164.150.1220.164.150.1 为我的网关,在应用中记得改为自己的网关1.到这时已经配置完毕重新启动机器.2.重启会看见以下信息就表示配置成功了3.................4.Bringing up interface bond0 OK5.Bringing up interface eth0 OK6.Bringing up interface eth1 OK7.................8.9.下面我们讨论以下mode分别为0,1时的情况10.11.mode=1工作在主备模式下,这时eth1作为备份网卡是no arp的12.[root@rhas-13 network-scripts]# ifconfig 验证网卡的配置信息13.bond0 Link encap:Ethernet HWaddr 00:0E:7F:25:D9:8B14.inet addr:172.31.0.13 Bcast:172.31.3.255 Mask:255.255.252.015.UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:116.RX packets:18495 errors:0 dropped:0 overruns:0 frame:017.TX packets:480 errors:0 dropped:0 overruns:0 carrier:018.collisions:0 txqueuelen:019.RX bytes:1587253 (1.5 Mb) TX bytes:89642 (87.5 Kb)20.21.eth0 Link encap:Ethernet HWaddr 00:0E:7F:25:D9:8B22.inet addr:172.31.0.13 Bcast:172.31.3.255 Mask:255.255.252.023.UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:124.RX packets:9572 errors:0 dropped:0 overruns:0 frame:025.TX packets:480 errors:0 dropped:0 overruns:0 carrier:026.collisions:0 txqueuelen:100027.RX bytes:833514 (813.9 Kb) TX bytes:89642 (87.5 Kb)28.Interrupt:1129.30.eth1 Link encap:Ethernet HWaddr 00:0E:7F:25:D9:8B31.inet addr:172.31.0.13 Bcast:172.31.3.255 Mask:255.255.252.032.UP BROADCAST RUNNING NOARP SLAVE MULTICAST MTU:1500 Metric:133.RX packets:8923 errors:0 dropped:0 overruns:0 frame:034.TX packets:0 errors:0 dropped:0 overruns:0 carrier:035.collisions:0 txqueuelen:100036.RX bytes:753739 (736.0 Kb) TX bytes:0 (0.0 b)37.Interrupt:1538.那也就是说在主备模式下,当一个网络接口失效时(例如主交换机掉电等),不回出现网络中断,系统会按照cat /etc/rc.d/rc.local里指定网卡的顺序工作,机器仍能对外服务,起到了失效保护的功能.39.40.在mode=0 负载均衡工作模式,他能提供两倍的带宽,下我们来看一下网卡的配置信息41.[root@rhas-13 root]# ifconfig42.bond0 Link encap:Ethernet HWaddr 00:0E:7F:25:D9:8B43.inet addr:172.31.0.13 Bcast:172.31.3.255 Mask:255.255.252.044.UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:145.RX packets:2817 errors:0 dropped:0 overruns:0 frame:046.TX packets:95 errors:0 dropped:0 overruns:0 carrier:047.collisions:0 txqueuelen:048.RX bytes:226957 (221.6 Kb) TX bytes:15266 (14.9 Kb)49.50.eth0 Link encap:Ethernet HWaddr 00:0E:7F:25:D9:8B51.inet addr:172.31.0.13 Bcast:172.31.3.255 Mask:255.255.252.052.UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:153.RX packets:1406 errors:0 dropped:0 overruns:0 frame:054.TX packets:48 errors:0 dropped:0 overruns:0 carrier:055.collisions:0 txqueuelen:100056.RX bytes:113967 (111.2 Kb) TX bytes:7268 (7.0 Kb)57.Interrupt:1158.59.eth1 Link encap:Ethernet HWaddr 00:0E:7F:25:D9:8B60.inet addr:172.31.0.13 Bcast:172.31.3.255 Mask:255.255.252.061.UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:162.RX packets:1411 errors:0 dropped:0 overruns:0 frame:063.TX packets:47 errors:0 dropped:0 overruns:0 carrier:064.collisions:0 txqueuelen:100065.RX bytes:112990 (110.3 Kb) TX bytes:7998 (7.8 Kb)66.Interrupt:1567.68.在这种情况下出现一块网卡失效,仅仅会是服务器出口带宽下降,也不会影响网络使用.69.70.71.72.73.通过查看bond0的工作状态查询能详细的掌握bonding的工作状态74.[root@rhas-13 bonding]# cat /proc/net/bonding/bond075.bonding.c:v2.4.1 (September 15, 2003)76.77.Bonding Mode: load balancing (round-robin)78.MII Status: up79.MII Polling Interval (ms): 080.Up Delay (ms): 081.Down Delay (ms): 082.Multicast Mode: all slaves83.84.Slave Interface: eth185.MII Status: up86.Link Failure Count: 087.Permanent HW addr: 00:0e:7f:25:d9:8a88.89.Slave Interface: eth090.MII Status: up91.Link Failure Count: 092.Permanent HW addr: 00:0e:7f:25:d9:8bLinux下通过网卡邦定技术既增加了服务器的可靠性,又增加了可用网络带宽,为用户提供不间断的关键服务。