linux 两块网卡设置同一ip地址

转载:https://blog.51cto.com/9280078/1845678


双网卡绑定为同一个虚拟的网卡(bond), 外界看到的好像是bond网卡在向外界提供服务, 而其实底层是两块真实的网卡在提供服务。

 

下面介绍一些简单的概念:

1>. Bonding

就是将多块网卡绑定同一IP 地址对外提供服务,可以实现高可用或者负载均衡。当然,直接给两块网卡设置同一IP 地址是不可能的。通过bonding ,虚拟一块网卡对外提供连接,

物理网卡的被修改为相同的MAC 地址。

 

2>. Bonding 的工作模式

Mode 0 (balance-rr)

轮转(Round-robin)策略:从头到尾顺序的在每一个slave接口上面发送数据包。本模式提供负载均衡和容错的能力

Mode 1 (active-backup)

活动- 备份(主备)策略:在绑定中,只有一个slave 被激活。当且仅当活动的slave 接失败时才会激活其他slave 。为了避免交换机发生混乱此时绑定的MAC 地址只有一个外部端口上可见

Mode 3 (broadcast)

广播策略:在所有的slave 接口上传送所有的报文。本模式提供容错能力。

 

我们以centos6.8,将两块网卡设置Mode1模式

1>. 将两块网卡设置为绑定到一块虚拟的网卡上,这种功能可能会受到NetworkManager服务的影响, 上来首先关闭NetworkManager服务,并且关闭开机自启。

[root@centos6 network-scripts]# service NetworkManager stop

Stopping NetworkManager daemon: [ OK ]

[root@centos6 network-scripts]# chkconfig NetworkManager off

 

2>. 查看当前系统的ip配置

[root@centos6 network-scripts]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:B3:32:CC  
          inet addr:192.168.203.138  Bcast:192.168.203.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:feb3:32cc/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:10486 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2862 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:869044 (848.6 KiB)  TX bytes:417850 (408.0 KiB)
eth1      Link encap:Ethernet  HWaddr 00:0C:29:B3:32:D6  
          inet addr:192.168.203.131  Bcast:192.168.203.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:feb3:32d6/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:8660 errors:0 dropped:0 overruns:0 frame:0
          TX packets:686 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:675217 (659.3 KiB)  TX bytes:101974 (99.5 KiB)

显然系统中, 有两块网卡,一块是eth0, 另外一块是eth1。将这两个网卡绑定到一个虚拟的网卡。

 

3>.生成和配置配置文件/etc/sysconfig/network-scripts/ifcfg-bond0

 linux 两块网卡设置同一ip地址

 

 BONDING_OPTS="miimon=100 mode=1"

miimon=100 100ms检测一次,检测一下对方是否在线

mode=1 指定为主备模式

 

3>.编辑两块网卡的配置文件

linux 两块网卡设置同一ip地址

 

4> 重启network服务

linux 两块网卡设置同一ip地址

 

5>.查看bond0虚拟网卡的信息

linux 两块网卡设置同一ip地址

将两块网卡绑定为一块虚拟网卡bond0。 实验已经成功了。

 

6>. 测试阶段:

a>. 将eth0关闭了。

linux 两块网卡设置同一ip地址

b> 查看虚拟网卡bond0的状态

 linux 两块网卡设置同一ip地址

 

 eth1取代了eth0, 这显然起到了高可用的特性。

 

3>.再将eth0启动起来。

linux 两块网卡设置同一ip地址

eth0变成了备用网卡,而eth1变成了正在使用的网卡。

linux 两块网卡设置同一ip地址

上一篇:Linux系统性能分析工具


下一篇:Linux下使用docker搭建ftp服务器