CentOS 8 NetworkManager
2020-02-22 本文已影响0人
免跪姓黄
- RHEL 8与RHEL 7的区别
- 在RHEL 7上,同时支持Network.service和NetworkManager.service(简称NM),默认情况下,这两个服务都开启。
- 在RHEL 8上,已经弃用Network.service,因此只能通过NetworkManager.service进行网络配置,包括动态IP和静态IP。
- NetworkManager介绍
-
NetworkManager是2004年Red Hat启动的项目,旨在能够让Linux用户更轻松地处理现代网络需求,尤其是无线网络,能自动发现网卡并配置ip地址。
2.1 为什么要用NetworkManager?- 工具齐全:命令行、文本界面、图形界面、web
- 广泛管理:管理各种网络,有线、无线、物理、虚拟
- 参数丰富:多达200多项配置参数(包括ethtool参数)
- 通用性强:RedHat系、Suse系、Debian/Ubuntu系等,均支持
- 大势所趋:下一个大版本的RHEL只能通过NM管理网络
2.2 NetworkManager能管理什么?
- 有线网卡、无线网卡
- 动态ip、静态ip
- 以太网、非以太网
- 物理网卡、虚拟网卡
2.3 NetworkManager的命令介绍
- nmcli:命令行。这是最常用的工具,本文将详细讲解该工具使用。
- nmtui:在shell终端开启文本图形界面。示意图见本文最后的Tips
- Freedesktop applet:如GNOME上自带的网络管理工具
- cockpit:redhat自带的基于web图形界面的"驾驶舱"工具,具有dashborad和基础管理功能。示意图见本文
- nmcli使用方法
-
nmcli使用方法非常类似linux ip命令、cisco交换机命令,并且支持tab补全,通过-h、–help、help查看帮助。在nmcli中有两个命令最为常用:
- nmcli connection:译作连接,可理解为配置文件,可以简写为nmcli c 。
- nmcli device:译作设备,可理解为实际存在的网卡(包括物理网卡和虚拟网卡),可以简写为nmcli d 。
-
在NM里,有两个维度:连接(connection)和设备(device),这是多对一的关系。想给某个网卡配ip,首先NM要能纳管这个网卡。设备里存在的网卡(即nmcli d可以看到的),就是NM纳管的。接着,可以为一个设备配置多个连接(即nmcli c可以看到的),每个连接可以理解为一个ifcfg配置文件。同一时刻,一个设备只能有一个连接活跃。可以通过nmcli c up切换连接。
-
connection有2种状态:
- 活跃(带颜色字体):表示当前该connection生效
- 非活跃(正常字体):表示当前该connection不生效
-
device有4种常见状态:
- connected:已被NM纳管,并且当前有活跃的connection
- disconnected:已被NM纳管,但是当前没有活跃的connection
- unmanaged:未被NM纳管
- unavailable:不可用,NM无法纳管,通常出现于网卡link为down的时候(比如:ip link set ethX down)
-
nmcli的常用命令示例:
- 查看IP
nmcli
- 创建connection,配置静态IP(等同于配置ifcfg,其中BOOTPROTO=none,并ifup启动)
nmcli c add type ethernet con-name ethX ifname ethX ipv4.addr 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.method manual
- 创建connection,配置动态IP(等同于配置ifcfg,其中BOOTPROTO=dhcp,并ifup启动)
nmcli c add type ethernet con-name ethX ifname ethX ipv4.method auto
- 修改ip(非交互式)
nmcli c modify ethX ipv4.addr '192.168.1.100/24
nmcli c up ethX
- 修改ip(交互式)
nmcli c edit ethX
nmcli> goto ipv4.addresses
nmcli ipv4.addresses> change
Edit 'addresses' value: 192.168.1.100/24
Do you also want to set 'ipv4.method' to 'manual'? [yes]: yes
nmcli ipv4.addresses> back
nmcli ipv4> save
nmcli ipv4> quit
- 启用connection(相当于ifup)
nmcli c up ethX
- 停止connection(相当于ifdown)
nmcli c down
- 删除connection(类似于ifdown并删除ifcfg)
nmcli c delete ethX
- 查看connection列表
nmcli c show
- 查看connection详细信息
nmcli c show ethX
- 重载所有ifcfg或route到connection(不会立即生效)
nmcli c reload
- 重载指定ifcfg或route到connection(不会立即生效)
nmcli c load /etc/sysconfig/network-scripts/ifcfg-ethX
nmcli c load /etc/sysconfig/network-scripts/route-ethX
- 立即生效connection,有3种方法
nmcli c up ethX
nmcli d reapply ethX
nmcli d connect ethX
- 查看device列表
nmcli d
- 查看所有device详细信息
nmcli d show
- 查看指定device的详细信息
nmcli d show ethX
- 激活网卡
nmcli d connect ethX
- 关闭无线网络(NM默认启用无线网络)
nmcli r all off
- 查看NM纳管状态
nmcli n
- 开启NM纳管
nmcli n on
- 关闭NM纳管(谨慎执行)
nmcli n off
- 监听事件
nmcli m
- 查看NM本身状态
nmcli
- 检测NM是否在线可用
nm-online
- 查看IP
参考链接:https://blog.csdn.net/Loveychent/article/details/89811722
-