Linux【7】-网络管理-2-4-centos8-nmcli

一、NetworkManager介绍

1.1、CentOS8网络配置的区别

在 CentOS7上同时支持network.service和NetworkManager.service。默认情况下,这2个服务都有开启。在CentOS8上,已废弃network.service(只能手动去安装),默认安装的是NetworkManager.service,因此本CentOS8教程推荐通过NetworkManager.service进行网络配置,CentOS8网卡配置包括设置动态和静态IP。

1.2、NetworkManager作用

NetworkManager是2004年Red Hat启动的项目,旨在能够让Linux用户更轻松地处理现代网络需求,尤其是无线网络,能自动发现网卡并配置ip地址。类似在手机上同时开启wifi和蜂窝网络,CentOS8网络自动探测可用网络并连接,无需手动切换CentOS8网卡。

1.3、NetworkManager支持的网络

  • 有线网卡、无线网卡
  • 动态ip、静态ip
  • 以太网、非以太网
  • 物理网卡、虚拟网卡

###1.4、NetworkManager使用方式

  • nmcli:命令行
  • nmtui:在shell终端开启文本图形界面
  • Freedesktop applet:如GNOME上自带的网络管理工具
  • cockpit:redhat自带的基于web图形界面的"驾驶舱"工具,具有dashborad和基础管理功能

二、nmcli常用命令

2.1、nmcli介绍

在NetworkManager里,有2个维度:连接(connection)和设备(device),可以为一个设备配置多个连接,本CentOS8教程中特别需要指出的是,一个设备只能有一个活跃连接,每个连接可以理解为一个 ifcfg 配置文件。

2.2、查看CentOS8网络配置连接

nmcli connection

2.3、查看CentOS8网络配置设备

nmcli device

2.4、CentOS8网络切换连接

nmcli c up

2.5、CentOS8网络查看IP

nmcli

2.6、CentOS8网络启用网卡ensX,例如ens160

nmcli c up ens160

2.7、CentOS8网络停止connection

nmcli c down

2.8、CentOS8网络删除connection

nmcli c delete ens160

2.9、CentOS8网络查看connection详细信息

nmcli c show ens160

2.10、立即生效connection

nmcli c up ens160
nmcli d reapply ens160
nmcli d connect ens160

2.11、查看CentOS8网络设备列表

#查看设备信息
nmcli d
#查看指定device的详细信息
nmcli d show ens160

2.12、激活网卡

nmcli d connect ens160

2.13、关闭网络

nmcli r all off

三、常见的CentOS8网卡配置方式

通过NetworkManager进行CentOS8网卡配置时候,会自动将connection同步到ifcfg配置文件中,其中本CentOS8教程特别指出eth和ens的区别,ethX是真实物理网卡,ensX是虚拟网络会话。

  • 手工配置ifcfg,通过NetworkManager来生效
  • 通过NM自带工具配ip,比如nmcli
  • 手工配置ifcfg,通过传统network.service来生效

3.1、通过手工配置CentOS8网卡ifcfg的方式

本CentOS8教程推荐使用上述第1种CentOS8网卡配置方法,就是手工配置ifcfg,通过NetworkManager来生效,因为这样既兼容了传统的ifcfg配置,又能熟悉nmcli。

#打开配置文件,ifcfg-开头的,根据实际名称修改。例如我的机器是ifcfg-ens160

vi /etc/sysconfig/network-scripts/ifcfg-ens160

我当时没有配置成功,就是没有选对ens,因为有好几个ens.

配置参数示例,大家可以根据实际接入的网络进行配置CentOS8网卡,试试吧已经对此配置做了详细备注。

TYPE="Ethernet" //以太网,还有其他的如bond,bridge
PROXY_METHOD="none"//默认代理方式:关闭状态
BROWSER_ONLY="no" //默认只是浏览器:否
BOOTPROTO="none" //dhcp 表示动态获取IP地址, satic 表示表态IP,none表示不指定,就是静态
DEFROUTE="yes" //默认路由:是
IPV4_FAILURE_FATAL="no" //是否开启IPV4致命错误检测:否
IPV6INIT="yes" //默认IPV6是否自动初始化: 是
IPV6_AUTOCONF="yes" //默认IPV6是否自动配置:是
IPV6_DEFROUTE="yes" //默认IPV6是否默认路由:是
IPV6_FAILURE_FATAL="no" //如果IPv4或IPv6配置失败,此接口将被禁用,否:如果配置失败,此接口不会被禁用
IPV6_ADDR_GEN_MODE="stable-privacy" //IPV6地址生成模型
NAME="ens160" //名称
UUID="51e111fd-ec09-44f5-8163-81d8f8ebc8f4" //唯一ID
DEVICE="ens160" //设备名称
ONBOOT="yes" //开启启动
IPADDR="192.168.1.119" //IP
PREFIX="24" //子网掩码长度
GATEWAY="192.168.1.2" //网关
DNS1="114.114.114.114" //DNS1
DNS2="8.8.8.8" //DNS1
IPV6_PRIVACY="no" //IPV6隐私

修改配置文件的参数(静态IP地址,其他的参数就不用变了)

BOOTPROTO=static

IPADDR=192.168.10.10

NETMASK=255.255.255.0

GATEWAY=192.168.10.1

DNS1=192.168.10.1

ONBOOT=yes

3.2、CentOS8网卡配置后重启网络

systemctl stop NetworkManager
systemctl start NetworkManager

或者重启网络服务:

nmcli connection reload

3.3、检测网络状态

ping www.baidu.com
curl www.baidu.com

参考资料

这里是一个广告位,,感兴趣的都可以发邮件聊聊:tiehan@sina.cn
个人公众号,比较懒,很少更新,可以在上面提问题,如果回复不及时,可发邮件给我: tiehan@sina.cn