2024年4月18日发(作者:)

一、背景

CentOS6.6

Ethernet:

em1 em2 em3 em4

bond0 192.168.51.134/24

bond1 192.168.52.135、24

GW 192.168.51.1

GW 192.168.52.1

VLAN 51 52

前提:查看8021q模块有没有挂载,如果没有的话就进行手动挂载

# lsmsg |grep 8021q

# modprobe 8021q

二、配置:

1.配置em1、em2配置文件并将这两块网卡绑定为bond0

# cd /etc/sysconfig/network-scripts/

# vim ifcfg-em1

DEVICE=em1

TYPE=Ethernet

UUID=bcf7fa28-5807-4126-a7e6-d16bb5ddd32b

ONBOOT=yes

BOOTPROTO=none

#HWADDR=18:66:DA:4C:FC:E6

DEFROUTE=yes

#IPV4_FAILURE_FATAL=yes

#IPV6INIT=no

MASTER=bond0

SLAVE=yes

USERCTL=yes

PS:这里HWADDR、UUID一行可以注释掉,因为后面重启network服务的时候可能会提示MAC

地址重复,当然如果不提示最好

2.配置em2、em3、em4如上配置参数,其中em3、em4的MASTER=bond1

3.复制或创建ifcfg-bond0、ifcfg-bond1,并修改文件内容如下

# cp ifcfg-em1 ifcfg-bond0

# vim ifcfg-bond0

DEVICE=bond0

BOOTPROTO=none

ONBOOT=yes

TYPE=Ethernet

BONDING_OPTS="mode=2 miimon=100"

VLAN=yes

4.以同样方式配置bond1

5.配置/etc/modprobe.d/

#如果bond0,bond1都以同一个mode配置,则可以如下:

# vim /etc/modprobe.d/

alias bond0 bonding

options bonding mode=2 miimon=100

#如果bond0,bond1以不同的mode运行,则需要分开配置Mdoe如下:

# vim /etc/modprobe.d/ ##有些系统版本可能不一样,为/etc/

alias bond0 bonding

options bond0 miimon=100 mode=1

install bond1 /sbin/modprobe bonding -o bond1 miimon=100 mode=0

PS:这里因为需要加入VLAN,不需要在这里配置IP

三、重启network服务

可以查看/proc/net/bonding/下的bond0或bond1,查看虚拟网卡状态

四、把绑定的bond0、bond1加入VLAN 51,VLAN 52

g add bond0 51

g add bond1 52

可以查看/proc/net/vlan/config查看vlan配置情况

五、配置ifcfg-bond0.51、ifcfg-bond1.52 IP

# cp ifcfg-bond0 ifcfg-bond0.51

# vim ifcfg-bond0.51

DEVICE=bond0.51

BOOTPROTO=none

ONBOOT=yes

TYPE=Ethernet

IPADDR=192.168.51.134

NETMASK=255.255.255.0

GATEWAY=192.168.51.1

BONDING_OPTS="mode=2 miimon=100"

VLAN=yes

同理配置bond1.52

PS:bond0和bond1最好属于两个不同VLAN的网段,否则会出现路由混乱问题(默认路由只有一

条,即是说只有一个出口),有一个思路可以通过配置软路由+iptable实现转发,但暂时测试不通过

六、写入,实现重启不失效

# vim /etc/

modprobe 8021q

ifenslave bond0 em1 em2

ifenslave bond1 em3 em4

vconfig add bond0 51

vconfig add bond1 52