在CentOS7中NetworkManger管理功能更强大,可以通过nmcli命令实现网卡所有日常操作,这里笔者介绍一些实用的命令,并深入介绍一下多网卡bond的实现。所有操作基于nmcli命令,不需要手动编辑配置文件。
在CentOS7中网卡的设备和连接概念更明确。设备可能是物理的也可以是虚拟的,在系统/dev目录中可以找到。连接是任意创建的,类型多样包含bond、bridge、vlan、wifi、bluetooth、ethernet、vpn等等,名字可以任意取。设备和连接是一对多的关系,但每个设备同一时间只能对应一个启动的连接。
先罗列几个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.method manual //配置IP地址获取方式为手动 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 connection.autoconnect yes //配置开机自动启动 nmcli conn up ens160 //启动网卡 .zj
配置网卡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命令会直接添加、删除、修改网卡配置文件,所有配置都是永久有效。
本文出自 “技术改变生活” 博客,请务必保留此出处http://flyinbed.blog.51cto.com/2820918/1772212
CentOS7使用nmcli实现网络日常管理及多网卡bond
原文地址:http://flyinbed.blog.51cto.com/2820918/1772212