首页 > 代码库 > Linux网卡多IP和bond实现多网卡使用同一IP
Linux网卡多IP和bond实现多网卡使用同一IP
一、一个网卡可以根据网络环境选择不同的IP
有时我们会遇到这样一种情况,在参加公司某个项目时,所在的网络环境没有DHCP服务,IP配置必须手动指定,而当我们下班回家继续工作时,必须更改IP配置才能正常上网。在windows和Linux中其实都支持备份IP的配置,即当主配置无法通过DHCP获得IP时,启用手动配置的备份IP。值得一提的是,只有当主IP配置使用DHCP时才能使用备用配置且备用配置必须手动指定。
这个配置非常的简单,只需创建一个/etc/sysconf/network-scripts/ifcfg-eth0:#即可,#为任意数字
内容为:
DEVICE=eth0:#
IPADDR=ip
PREFIX=mask
DNS1=dns
...
重启网络即可生效
二、利用bond实现多网卡使用同一个IP,仅适用于centos6
就是将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。当然,直接给两块网卡设置同一IP地址是不可能的。通过bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC地址。
bond有7个级别。这里以mode0,mode1,mode2为例
mode0:
轮转(Round-robin)策略:从头到尾顺序的在每一个slave接口上面发送数据包。本模式提供负载均衡和容错的能力
mode1:
活动-备份(主备)策略:在绑定中,只有一个slave被激活。当且仅当活动的slave接口失败时才会激活其他slave。为了避免交换机发生混乱此时绑定的MAC地址只有一个外部端口上可见
mode2:
广播策略:在所有的slave接口上传送所有的报文。本模式提供容错能力。
创建bonding设备的配置文件
[root@linux ~]# cat /etc/sysconfig/network-scripts/ifcfg-bond0 DEVICE=bond0 IPADDR=10.1.70.233 PREFIX=16 BOOTPROTO=none BONDING_OPTS="miimon=100 mode=0"
[root@linux ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 #TYPE=Ethernet #UUID=5ac4135c-6d2f-43ca-a086-644149193ebb #ONBOOT=yes #NM_CONTROLLED=yes #BOOTPROTO=none #HWADDR=00:0C:29:00:90:1A #IPADDR=10.1.70.101 #PREFIX=16 #GATEWAY=10.1.0.1 #DEFROUTE=no #IPV4_FAILURE_FATAL=yes #IPV6INIT=no #NAME="System eth0" MASTER=bond0 SLAVE=yes [root@linux ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE=eth1 #TYPE=Ethernet #UUID=889cd85b-86bd-4acb-bc4b-6c525f60224c #ONBOOT=yes #NM_CONTROLLED=yes #BOOTPROTO=dhcp #HWADDR=00:0C:29:00:90:24 #DEFROUTE=yes #PEERDNS=yes #PEERROUTES=yes #IPV4_FAILURE_FATAL=yes #IPV6INIT=no #NAME="System eth1" MASTER=bond0 SLAVE=yes
[root@linux ~]# ifconfig bond0 Link encap:Ethernet HWaddr 00:0C:29:00:90:1A inet addr:10.1.70.233 Bcast:10.1.255.255 Mask:255.255.0.0 inet6 addr: fe80::20c:29ff:fe00:901a/64 Scope:Link UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1 RX packets:2990 errors:0 dropped:0 overruns:0 frame:0 TX packets:102 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:268909 (262.6 KiB) TX bytes:13279 (12.9 KiB) eth0 Link encap:Ethernet HWaddr 00:0C:29:00:90:1A UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1 RX packets:30770 errors:0 dropped:0 overruns:0 frame:0 TX packets:1901 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:2798765 (2.6 MiB) TX bytes:292096 (285.2 KiB) eth1 Link encap:Ethernet HWaddr 00:0C:29:00:90:1A UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1 RX packets:21834 errors:0 dropped:0 overruns:0 frame:0 TX packets:11533 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:28555592 (27.2 MiB) TX bytes:704577 (688.0 KiB)
Linux网卡多IP和bond实现多网卡使用同一IP