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设备的配置文件

[[email protected] ~]# cat /etc/sysconfig/network-scripts/ifcfg-bond0 
DEVICE=bond0
IPADDR=10.1.70.233
PREFIX=16
BOOTPROTO=none
BONDING_OPTS="miimon=100 mode=0"
[[email protected] ~]# 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
[[email protected] ~]# 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
[[email protected] ~]# 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)
时间: 2024-10-21 10:16:49

Linux网卡多IP和bond实现多网卡使用同一IP的相关文章

linux 单网卡绑定多IP及BONGDING的实现

Linux Bond 1 bond 的概念 Linux双网卡绑定实现就是使用两块网卡虚拟成为一块网卡,这个聚合起来的设备看起来是一个单独的以太网接口设备,通俗点讲就是两块网卡具有相同的IP地址而并行链接聚合成一个逻辑链路工作. 2 bond 技术的由来 这项 技术在Sun和Cisco中早已存在,被称为Trunking和Etherchannel技术,在Linux的2.4.x的内核中也采用这这种技术,被称为bonding. 3 bond 工作原理 在正常情况下,网卡只接收目的硬件地址(MAC Add

Linux之网络管理(5)单网卡多IP绑定

Linux中使用单个网卡,设置了ip地址后对外对内进行访问或者被访问,在少量的数据量是没有太多影响,但是一般虚拟主机或者服务器中只是单网卡,那么同时从网上接收海量数据就会带来数据的队列的永久,有可能造成网络通道堵塞.因此,我们可以设置多个网卡绑定到同时使用 一个IP 地址,这样,多个网卡就能将数据量分散处理,以此来减轻网络数据的负载. 当然,直接给多个网卡同时设置IP地址是不能实现了,因此linux内核中的网络模块功能提供了一种网卡绑定机制.因为主机之间通过网卡通信最终是通过MAC地址来识别的,

linux配置ip地址、多网卡绑定、单网卡多个ip

1.ifconfig命令临时配置ip地址 ifconfig命令:查看和配置网路状态命令 ifconfig ens32 192.168.200.200/24 #临时设置ens32网卡的ip地址和子网掩码 ifconfig ens32:0 10.1.1.254 netmask 255.255.255.0 #单个网卡设置多个ip地址 ifconfig ens32:0 down         #关闭网卡 2.修改网络配置文件 vim /etc/sysconfig/network-scripts/ifc

linux单网卡多IP

网卡配置项详解: 配置IP.掩码.网关:ethX       DEVICE="eth0"         此配置关联至的设备.设备名要与文件ifcfg-后ude内容保持一致       BOOTPROTO=none            引导协议:{none|static|dhcp|bootp}       HWADDR="00:0C:29:26:62:92"             MAC地址:要与真实MAC地址保持一致,可省略       NM_CONTROLL

Linux多网卡多IP配置

echo "210 local100" >> /etc/iproute2/rt_tables echo "220 local200" >> /etc/iproute2/rt_tables echo "230 local300" >> /etc/iproute2/rt_tables ip route add 192.168.0.0 dev eth0 src 192.168.0.251 table local100

Linux单网卡多IP配置

一.方式一 1.修改/etc/sysconfig/network-scripts/ifcfg-enp2s0 为:(注意:文件名一定要为网卡设备名) DEVICE=enp2s0 BOOTPROTO=static ONBOOT=yes DNS1=10.0.10.10 DNS2=8.8.8.8 HWADDR=B8:88:E3:73:7A:7B IPADDR=10.0.57.114 PREFIX=24 GATEWAY=10.0.57.1 2.cp ifcfg-enp2s0 为 ifcfg-enp2s0:

linux多网卡多IP配置:一个主机多网卡配置同一个网段的多IP

现在有些主机有多个网卡如何将每一 NIC 配置同一个网段的不同IP地址: 1.用 ifconfig 查看有多少个网卡: 我的主机就有 NIC:eth0   和 eth8 在eth0 上已经配置了一个IP 现在我需要在eth8上面配置 IP地址 2.首先检查NIC 是连接良好:比如接口的灯是否闪亮,接口的线是否良好 用工具ethtool 查看:ethtool eth8, 显示 Link detected: yes 标明连接良好,但是并不一定代表可以接收数据包 3.在ip地址为ip-2的主机上pin

CentOS多网卡单个ip和单个网卡多个ip的设置

一.单个网卡设置一个IP地址 1.初始状态已添加一个网卡eth0,并设置的均为自动获取IP地址,如下图所示:网卡为eth0,ip地址为10.1.249.36:为了后续实验的顺利进行,我们把NetworkManager服务关闭 chkconfig NetworkManager off service NetworkManager stop    2.在/etc/sysconfig/network-scripts下面有网卡eth0的配置信息:ifcfg-eth0,复制ifcfg-eth0 并改名为i

一块网卡多个IP实现

////////////////////////////写在前面//////////////////////////////////////////// 需要注意,这里我们是一块网卡多个IP,而并非是多个网卡 即网络接口卡和网络接口并非一个概念 而且,新增的这个IP并不可以改善带宽吞吐量等网络性能,只能作为一个虚拟网卡使用 再者,因为是虚拟网卡,所以如果eth0不启用的话便启用不了,eth0关闭,eth0:0也会随之关闭 /////////////////////////////////////