在CentOS7中NetworkManager管理功能更强大,可以通过nmcli命令实现网卡所有日常操作,这里笔者介绍一些实用的命令,并深入介绍一下多网卡bond的实现。所有操作基于nmcli命令,不需要手动编辑配置文件。

  在CentOS7中网卡的设备和连接概念更明确。设备可能是物理的也可以是虚拟的,在系统/dev目录中可以找到。连接是任意创建的,类型多样包含bond、bridge、vlan、wifi、bluetooth、ethernet、***等等,名字可以任意取。设备和连接是一对多的关系,但每个设备同一时间只能对应一个启动的连接。

    先罗列几个nmcli日常用法

nmcli dev status   //查看系统现有网络设备的连接状态
nmcli conn show  //查看已有连接
nmcli conn delete UUID1 UUID2 UUID3  //删除不需要的连接
nmcli dev connect ens160     //连接设备ens160,该操作类似于接上网卡网线
nmcli dev disconnect ens160  //断开设备ens160,类似于拔掉网线
nmcli conn down ens160 //关闭连接ens160,等同于ifdown ens160
nmcli conn up ens160 //打开连接ens160,等同于ifup ens160
nmcli dev show   //查看设备详细信息


    创建、命名连接,并做基本配置

nmcli conn add type ethernet con-name ens160 ifname ens160
//创建新连接con-name是ens160,也可以根据个人习惯改为eth0.连接到的设备是ens160,根据实际情况改成自己使用的网卡

nmcli conn mod ens160 ipv4.addresses "10.x.x.x/24" //配置IP和掩码
nmcli conn mod ens160 ipv4.gateway "10.x.x.254"   //配置网关
nmcli conn mod ens160 ipv4.dns "x.x.x.x"   //配置dns
nmcli conn mod ens160 ipv4.method manual   //配置IP地址获取方式为手动
nmcli conn mod ens160 connection.autoconnect yes  //配置开机自动启动
nmcli conn up ens160 //启动网卡,命令等同于ifup ens160

    

    配置网卡bond

    网卡bond是创建一个虚拟链接做为主,若干个连接做为从。从连接关联各自的物理网卡,避免物理网卡的单点故障,提高可用性。

    

//这里系统有两个网卡enp9s0f1和enp9s0f1

nmcli conn add type bond con-name bond0 ifname bond0 mode active-backup autoconnect yes
//添加一个连接,类型为bond,连接名bond0,设置连接自动启动.设备指向bond0,将创建出一个虚拟设备bond0

nmcli conn add type bond-slave con-name eth0 ifname enp9s0f0 master bond0 autoconnect yes
nmcli conn add type bond-slave con-name eth1 ifname enp9s0f1 master bond0 autoconnect yes
//为bond0添加两个从连接eth0和eth1,分别关联物理网卡enp9s0f1和enp9s0f1,设置连接自动启动.也可以不指定从连接名,会自动命名bond-slave-enp9s0f0和bond-slave-enp9s0f1

nmcli conn modify bond0 ipv4.addresses "10.x.x.x/24" 
nmcli conn modify bond0 ipv4.gateway "10.x.x.254"
nmcli conn modify bond0 ipv4.dns "x.x.x.x"
nmcli conn modify bond0 ipv4.method manual
//为连接bond0配置IP、网关、dns、启动方式

nmcli connection up eth0
nmcli connection up eth1
nmcli connection up bond0
//启动两个从连接,然后启动主连接。启动eth0和eth1时会自动disconnect网卡上原有的连接,建议在终端上操作。


    最后,nmcli命令会直接添加、删除、修改网卡配置文件,所有配置都是永久有效。