1、虚拟网卡实现一个网卡多个地址(测试环境为虚拟机),此处使用eth1网卡,并且将eth1的IP设置成固定的,其实还可以设置成DHCP自动获取,这就是Linux强大之处。但是由eth1虚拟出来的两张网卡不能使用DHCP自动获取。具体步骤如下(设置的IP看个人喜欢)
[root@localhost network-scripts]# cat ifcfg-eth1 DEVICE=eth1 IPADDR=10.0.0.10 PREFIX=8 [root@localhost network-scripts]# cat ifcfg-eth1:100 DEVICE=eth0:10 IPADDR=192.168.0.100 PREFIX=8 GATEWAY=192.168.0.1 [root@localhost network-scripts]# cat ifcfg-eth1:200 DEVICE=eth0:20 IPADDR=172.16.0.200 PREFIX=16 GATEWAY=172.16.0.1
2、双网卡的bonding
(1)bongding介绍
将多块网卡绑定同一IP 地址对外提供服务,可以实现高可用或者负载均衡。当然,直接给两块网卡设置同一IP 地址是不可能的。通过bonding ,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC 地址。
(2)bongding的工作模式
• Mode 0 (balance-rr) 轮转(Round-robin )策略:从头到尾顺序的在每一个slave接口上面发送数据包。本模式提供负载均衡能力 • Mode 1 (active-backup) 活动- 备份(主备)策略:在绑定中,只有一个slave 被激活。当且仅当活动的slave 接口失败时才会激活其他slave 。为了避免交换机发生混乱此时绑定的MAC 地址只有一个外部端口上可见 • Mode 3 (broadcast) 广播策略:在所有的slave 接口上传送所有的报文。本模式提供容错能力。
(3)Mode1 实验(虚拟机环境,CentOS 6.8系统)
首先添加两块网卡,具体设置如下
[root@localhost network-scripts]# cat ifcfg-eth1 DEVICE=eth1 MASTER=bond0 SLAVE=yes [root@localhost network-scripts]# cat ifcfg-eth2 DEVICE=eth2 MASTER=bond0 SLAVE=yes [root@localhost network-scripts]# cat ifcfg-bond0 (设置bonding名为bond0) DEVICE=bond0 IPADDR=192.168.151.128 PREFIX=24 GATEWAY=192.168.151.2 BONDING_OPTS="miimon=100 mode=1" (模式为 mode1;等待时间为100毫秒) [root@localhost network-scripts]# service NetworkManager stop (此服务请关闭) [root@localhost network-scripts]# service network restart (重启网络服务)
设置好以上步骤,使用ifconfig命令查看,可以看到bond0,eth1,eth2的MAC地址都是相同的。
现在请在其他同网段(192.168.151.0、24)的主机上执行 ping 192.168.151.128(如果是windows系统则 ping 192.168.151.128 -t),注意看结果(此处就不截ping图了)。
从上图可以看到当前活动的网卡是eth2,eth1是备用的。现在把eth2网卡断开连接(直接在虚拟机界面断开,别系统中用命令断开),再查看/proc/net/bonding/bond0文件,如果活动的网卡是eth1,则表示实验成功了(如下图)。
原创文章,作者:pao,如若转载,请注明出处:http://www.178linux.com/43246