天天看点

redHat linux7双网卡绑定操作

双网卡绑定,也称作双网卡捆绑。就是将服务器的2个网卡绑定成一个虚拟网卡,使服务器的2块网卡连接到2台交换机上,并配置同一个IP地址,这样可以有效防止某个交换机或者网卡、网线坏掉时,影响服务器的正常工作。​

现在主要介绍RedHat Enterprise Linux 7(或者Centos7)进行双网卡绑定的方法,这里先介绍常用的bond方式绑定。后续有使用HedHat 7推荐的team方式,再增加相关的操作方法。​

详情,附件还有

一、查看网卡情况​

服务器上一般会配置有多块网卡,可以通过插入网线的方式确定网卡的编号。查看网线有没有插上,可以使用ip l或者nmcli命令。注意nmcli需要启动NetworkManager服务,使用Bond方式做网卡绑定会停用这个服务,nmcli命令无法使用。​

ip l 命令,注意网线连接状态会显示LOWER_UP,网线断开状态会显示<NO-CARRIER>。​

redHat linux7双网卡绑定操作

nmcli命令较明显的显示连接和断开状态。​

redHat linux7双网卡绑定操作

二、Bond方式绑定​

双网卡绑定的工作模式,共有七种模式,主要修改的是负载均衡方式和主备方式,需要和客户的网络工程师确认,常用主备方式。​

确定了网卡编号,就可以用Bond方式进行双网卡绑定了,以下以绑定eno1和eno2为例进行配置。​

  1. 配置eno1网卡配置文件​注意:文件名根据实际情况vi,DEVICE=eno1需要按实际命名。​

    [root@linux7 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eno1​

    DEVICE=eno1​

    TYPE=Ethernet​

    BOOTPROTO=none​

    ONBOOT=yes​

    MASTER=bond0​

    SLAVE=yes​

    USERCTL=no​

  2. 配置eno2网卡配置文件​注意:文件名根据实际情况vi,DEVICE=eno2需要按实际命名。​

    [root@linux7 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eno2​

    DEVICE=eno2​

    TYPE=Ethernet​

    BOOTPROTO=none​

    ONBOOT=yes​

    MASTER=bond0​

    SLAVE=yes​

    USERCTL=no​

  3. 创建网卡bond0的配置文件​注意:IPADDR、NETMASK、GATEWAY需要根据实际情况配置,primary=eno1根据设计来配置使用哪个为主网卡。​

    [root@linux7~]# touch /etc/sysconfig/network-scripts/ifcfg-bond0 ​

    [root@ linux7~]# cat /etc/sysconfig/network-scripts/ifcfg-bond0 ​

    DEVICE=bond0​

    TYPE=Ethernet​

    ONBOOT=yes​

    BOOTPROTO=static​

    IPADDR=192.168.122.27​

    NETMASK=255.255.255.0​

    GATEWAY=192.168.122.1​

    NAME=bond0​

    BONDING_OPTS="miimnotallow=100 mode=1 primary=eno1 fail_over_mac=1"​

  4. 加载模块,使系统支持bond模式​miimon是用来进行链路监测的,比如miimnotallow=100,那么系统每100ms监测一次链路连接状态,如果线路不通就转入另一条线路;mode表示双网卡绑定的工作模式,共有七种模式,常用的为0,1两种。mode=0表示load balancing (round-robin)为负载均衡方式,两块网卡都工作。mode=1表示fault-tolerance (active-backup)提供冗余功能,工作方式是主备的工作方式,也就是说默认情况下只有一块网卡工作,另一块做备份。​

    注意:如果文件不存在,需要手动创建。尽量选择mode=1主备方式。​

    [root@linux7~]# cat /etc/modprobe.conf​

    alias bond0 bonding​

    options bond0 miimnotallow=100 mode=1 fail_over_mac=1​

  5. 在/etc/rc.d/rc.local 加入以下内容,重启时自动执行网卡绑定操作。​注意:eno1和eno2根据实际情况配置。​

    ifenslave bond0 eno1 eno2​

  6. 执行以下命令,加载bond module,激活bonding驱动。​[root@linux7~]# modprobe bonding​

    可以使用lsmod | grep bonding命令,确认模块是否加载成功。​

  7. 禁用NetworkManager服务,并重启网络服务。​[root@linux7~]# systemctl stop NetworkManager ​

    [root@linux7~]# systemctl disable NetworkManager ​

    [root@linux7~]# systemctl restart network​

  8. 检查双网卡绑定状态​使用ifconfig -a命令,或者ip a命令查询网卡状态。注意bond0显示LOWER_UP状态,显示IP信息。​
  9. redHat linux7双网卡绑定操作
  10. 测试双网卡绑定是否完全成功​

首先在另一台能连通此服务器的服务器,一直ping此IP,确认网络已经通畅。​

然后使用ifdown eno1或ifconfig down eno1,断开网卡eno1,测试网卡eno2是否正常(恢复命令ifup eno1或ifconfig up eno1),观察ping是否正常。并以同样的方式,测试断开网卡eno2,测试网卡eno1是否正常。​

继续阅读