Linux 系统双网卡绑定配置实现_Linux

来源:脚本之家  责任编辑:小易  

Linux下双网卡绑定七种模式现在一般的企业都会使用双网卡接入,这样既能添加网络带宽,同时又能做相应的冗余,可以说是好处多多。而一般企业都会使用linux操作系统下自带的网卡绑定模式,当然现在网卡产商也会出一些针对windows操作系统网卡管理软件来做网卡绑定(windows操作系统没有网卡绑定功能 需要第三方支持)。进入正题,linux有七种网卡绑定模式:0.round robin,1.active-backup,2.load balancing(xor),3.fault-tolerance(broadcast),4.lacp,5.transmit load balancing,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第二种:bond1:active-backup标准文档定义:Active-backup policy:Only one slave in the bond is active.A different slave becomes active if,and only if,the active slave fails.The bond’s MAC address is externally visible on only one port(network adapter)to avoid confusing the switch.This mode provides fault tolerance.The primary option affects the behavior of this mode.模式的特点:一个端口处于主状态,一个处于从状态,所有流量都在主链路上处理,从不会有任何流量。当主端口down掉时,从端口接手主状态。实际绑定结果:root@1:~#cat/proc/net/bonding/bond0Ethernet Channel Bonding Driver:v3.6.0(September 26,2009)Bonding Mode:fault-tolerance(active-backup)—–backup模式Primary Slave:NoneCurrently Active Slave:eth0MII 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:0Permanent HW addr:d8:5d:4c:71:f9:94应用拓扑:这种模式接入不需要交换机端支持,随便怎么接入都行。第三种:bond2:load balancing(xor)标准文档描述:XOR policy:Transmit based on[(source MAC address XOR'd with destination MAC address)modulo slave count].This selects the same slave for each destination MAC address.This mode provides load balancing and fault tolerance.特点:该模式将限定流量,以保证到达特定对端的流量总是从同一个接口上发出。既然目的地是通过MAC地址来决定的,因此该模式在“本地”网络配置下可以工作得很好。如果所有流量是通过单个路由器(比如“网关”型网络配置,只有一个网关时,源和目标mac都固定了,那么这个算法算出的线路就一直是同一条,那么这种模式就没有多少意义了。那该模式就不是最好的选择。和balance-rr一样,交换机端口需要能配置为“port channel”。这模式是通过源和目标mac做hash因子来做xor算法来选路的。实际绑定结果:[root@localhost~]#cat/proc/net/bonding/bond0Ethernet Channel Bonding Driver:v3.0.3(March 23,2006)Bonding Mode:load balancing(xor)—配置为xor模式Transmit Hash Policy:layer2(0)MII Status:upMII Polling Interval(ms):100Up Delay(ms):0Down Delay(ms):0Slave Interface:eth1MII Status:upLink Failure Count:0Permanent HW addr:00:d0:f8:40:f1:a0Slave Interface:eth2MII Status:upLink Failure Count:0Permanent HW addr:00:d0:f8:00:0c:0c应用拓扑:同bond0一样的应用模型。这个模式也需要交换机配置聚合口。第四种:bond3:fault-tolerance(broadcast)标准文档定义:Broadcast policy:transmits everything on all slave interfaces.This mode provides fault tolerance.特点:这种模式的特点是一个报文会复制两份往bond下的两个接口分别发送出去,当有对端交换机失效,我们感觉不到任何downtime,但此法过于浪费资源;不过这种模式有很好的容错机制。此模式适用于金融行业,因为他们需要高可靠性的网络,不允许出现任何问题。实际绑定结果:root@ubuntu12:~/ram#cat/proc/net/bonding/bond0Ethernet Channel Bonding Driver:v3.6.0(September 26,2009)Bonding Mode:fault-tolerance(broadcast)—-fault-tolerance 模式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:0Permanent HW addr:d8:5d:4c:71:f9:94www.zgxue.com防采集请勿采集本网。

系统版本

大家都知道在linux下面一快网卡时,网关默认在/etc/sysconfig/network下,但是现在如果有两块网卡,而且IP 地址(内,外)也不在同一网段,我们要指定两在linux系统下如何配置双网卡?

[root@ ~]# cat /etc/redhat-release CentOS release 6.8 (Final)[root@ ~]# uname -r2.6.32-642.6.1.el6.x86_64

当然你也需要设置本机的默认default gw(直接用route命令),那么由本机生成的数据包,默认会选用与default gw连接的那块网卡的ip地址对外通讯(程序指定的除外)。以上配置对于正常zhidao开发的 tcp通讯

网卡说明

这里将eth0、eth1换成你实际的网卡设备名称,譬如无线网卡的设备名称可能是wan0或ra0,IP地址改成你实际想要绑定的IP地址。Ctrl+X退出时按Y保存,然后执行 cd/etc/init.d ln-s net.lo net.eth0 ln-s

eth0   192.168.1.8(服务器外网卡)

你提供的信息还不够,现在只是发现 ip rule add from 10.161.10.225/32 pref 15003 table dianxin 这条和10.10.51.225有什么关系?如果你这所有IP段都是和本linux系统直连的,那这条是不是应该配置改为:

eth1

eth2

两块服务器网卡(内网)

关闭防火墙

[root@ ~]# /etc/init.d/iptables stop[root@ ~]# chkconfig iptables off

关闭selinux

[root@ ~]#setenforce 0 [root@ ~]#sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/‘ /etc/selinux/config

禁用NetworkManager

[root@ ~]# /etc/init.d/NetworkManager stopStopping NetworkManager daemon: [ OK ][root@ ~]# chkconfig NetworkManager off[root@ ~]# /etc/init.d/network restart

编辑eth1网卡

[root@ ~]# cd /etc/sysconfig/network-scripts/[root@ network-scripts\]# cat >ifcfg-eth1 <<EOFDEVICE=eth1ONBOOT=yesBOOTPROTO=noneUSERCTL=noMASTER=bind0EOF

编辑eth2网卡

[root@ network-scripts]# cat >ifcfg-eth2 <<EOF DEVICE=eth2ONBOOT=yesBOOTPROTO=noneUSERCTL=noMASTER=bind0EOF

编辑bind0网卡

[root@ network-scripts]# cat >ifcfg-bind0 <<EOFDEVICE=bind0TYPE=EthernetONBOOT=yesBOOTPROTO=noneIPADDR=10.0.0.8NETMASK=255.255.255.0GATEWAY=10.0.0.254IPV6INIT=noUSERCTL=noEOF

配置bond参数

[root@ network-scripts]# cat >/etc/modprobe.conf <<EOFalias bind0 bondingoptions bind0 miimon=100 mode=6EOF

加入开机自启动(/etc/rc.local)

[root@ network-scripts]# cat >>/etc/rc.local <<EOFifenslave bind0 eth1 eth2EOF

重启网络服务

[root@LVS-2 network-scripts]# service network restartShutting down interface eth0: [ OK ]Shutting down interface eth1: [ OK ]Shutting down interface eth2: [ OK ]Shutting down loopback interface: [ OK ]Bringing up loopback interface: [ OK ]Bringing up interface bind0: WARNING: Deprecated config file /etc/modprobe.conf, all config files belong into /etc/modprobe.d/.WARNING: Deprecated config file /etc/modprobe.conf, all config files belong into /etc/modprobe.d/.Determining if ip address 10.0.0.8 is already in use for device bind0..[ OK ]Bringing up interface eth0: Determining if ip address 192.168.1.8 is already in use for device eth0... [ OK ]Bringing up interface eth1: RTNETLINK answers: File exists [ OK ]Bringing up interface eth2: RTNETLINK answers: File exists [ OK ]

配置使绑定立即生效

[root@LVS-2 network-scripts]# ifenslave bind0 eth1 eth2

测试联通

[root@LVS-2 network-scripts]# ping 10.0.0.8PING 10.0.0.8 (10.0.0.8) 56(84) bytes of data.64 bytes from 10.0.0.8: icmp_seq=1 ttl=64 time=0.089 ms64 bytes from 10.0.0.8: icmp_seq=2 ttl=64 time=0.046 ms^C--- 10.0.0.8 ping statistics ---2 packets transmitted, 2 received, 0% packet loss, time 1921msrtt min/avg/max/mdev = 0.046/0.067/0.089/0.023 ms

此时会发现系统多一个网卡

[root@LVS-2 network-scripts]# ifconfig bind0bind0 Link encap:Ethernet HWaddr 00:0C:29:CC:9B:5 inet addr:10.0.0.8 Bcast:10.0.0.255 Mask:255.255.255.0inet6 addr: fe80::20c:29ff:fecc:9b55/64 Scope:LinkUP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1RX packets:151 errors:0 dropped:0 overruns:0 frame:0TX packets:3 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0 RX bytes:11826 (11.5 KiB) TX bytes:258 (258.0 b)

到此这篇关于Linux 系统双网卡绑定配置实现的文章就介绍到这了,更多相关Linux 双网卡绑定配置内容请搜索真格学网以前的文章或继续浏览下面的相关文章希望大家以后多多支持真格学网!

sles:# vi /etc/sysconfig/network/ifcfg-bond0 插入2113如下内容BOOTPROTO='static'IPADDR='10.34.81.21'NETMASK='255.255.255.0'STARTMODE='onboot'BONDING_MASTER='yes'BONDING_MODULE_OPTS='mode=1 miimon=200 use_carrier=1'BONDING_SLAVE0='eth1'BONDING_SLAVE1='eth2'检查# /etc/sysconfig/network/ 下有没有eth1、eth2的MAC地址配置,若有5261,则删4102除启动双网卡绑定# rcnetwork restart其中:BONDING_MODULE_OPTS='mode=1 为主备 0为负荷分担1653 redhat:创建一个ifcfg-bond0# vi /etc/sysconfig/network-scripts/ifcfg-bond0DEVICE=bond0BONDING_OPTS="mode=1 miimon=500"BOOTPROTO=noneONBOOT=yesBROADCAST=192.168.0.255IPADDR=192.168.0.180NETMASK=255.255.255.0NETWORK=192.168.0.0USERCTL=no其中:BONDING_OPTS="mode=1 为主备 0为负荷分担 修改/etc/sysconfig/ifcfg-ethX这里说的ethX指要加入绑定网卡的名称,本例中是eth0、eth1。# vi /etc/sysconfig/ifcfg-eth0DEVICE=eth0 BOOTPROTO=none ONBOOT=yes MASTER=bond0 SLAVE=yes USERCTL=no# vi /etc/sysconfig/ifcfg-eth1DEVICE=eth1BOOTPROTO=none ONBOOT=yes MASTER=bond0 SLAVE=yes USERCTL=no配置/etc/modprobe.conf,添加alias bond0 bonding# vi /etc/modprobe.confalias eth0 pcnet32alias eth1 pcnet32alias scsi_hostadapter mptbasealias scsi_hostadapter1 mptspialias bond0 bonding重启网络服务#service network restart内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • linux双网卡绑定脚本的方法示例
  • linux双网卡绑定实现负载均衡详解
  • linux 双网卡绑定网络设置方法
  • linux文件管理使用详解
  • 在centos7下安装python3的步骤
  • linux+php+apache+oracle环境搭建之centos下安装oracle数据库
  • linux时间子系统之时间的表示示例详解
  • apache伪静态rewrite详解
  • windows 10 + vwware+centos 6.5虚拟机系统安装tomcat
  • apache支持 shtml和include文件解析
  • 在ubuntu 16.10安装mysql workbench报未安装软件包 libpng12-0错
  • 利用rsync自动备份 完全配置方法 增加了ip限制
  • linux多线程编程(四)
  • Linux如何配置双网卡绑定bond
  • linux双网卡绑定上联交换机配置
  • 如何对suse linux 11进行双网卡绑定的配置,求高手
  • linux双网卡绑定有几种模式
  • 在linux系统下如何配置双网卡?
  • 在linux系统下如何配置双网卡?
  • linux 双网卡绑定后增加IP怎么设置
  • linux系统配置双网卡双网关问题:
  • linux系统做了双网卡绑定,重启进不去系统了怎么办!
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全星外虚拟主机华众虚拟主机linuxwin服务器ftp服务器dns服务器tomcat nginxzabbix云和虚拟化服务器其它首页服务器linux双网卡绑定脚本的方法示例linux双网卡绑定实现负载均衡详解linux 双网卡绑定网络设置方法linux文件管理使用详解在centos7下安装python3的步骤linux+php+apache+oracle环境搭建之centos下安装oracle数据库linux时间子系统之时间的表示示例详解apache伪静态rewrite详解windows 10 + vwware+centos 6.5虚拟机系统安装tomcatapache支持 shtml和include文件解析在ubuntu 16.10安装mysql workbench报未安装软件包 libpng12-0错利用rsync自动备份 完全配置方法 增加了ip限制linux多线程编程(四)apache开启.htaccess及.htaccessservice temporarily unavailabllinux下实现免密码登录(超详细)apache rewrite url重定向功能的linux下用cron定时执行任务的方法apache性能测试工具ab使用详解centos 6.4安装配置lamp服务器(a阿里云服务器ping不通解决办法(centos+nginx+php+mysql详细配置apache you don""t have permisslinux 定时休眠的实现思路linux输入输出重定向使用详解linux桌面的4种扫描工具apache使用.htaccess文件实现屏蔽wget下载linux文件服务器实战详解(虚拟用户)apache实现部署多个网站(一个ip部署多域centos7安装nginx的两种方法介绍iis、apache与nginx禁止目录执行asp、phplinux环境下设置shadowsocks+polipo全局代.htaccess重定向和url重写详细介绍
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved