NetworkManager 介绍

NetworkManager 介绍

NetworkManager是2004年RedHat启动的项目,皆在能够让Linux用户更轻松的处理现代网络需求,尤其是无线网络,能够自动发现网卡并配置IP地址。 RHEL7上同时支持network.service和NetworkManager.service(简称NM)。默认情况下这2个服务都有开启,但是因为NetworkManager.service当时的兼容性不好,有时会造成ip地址无法生效或网络不通问题,大部分人都会将其关闭NM。 但是在RHEL 8/Centos 8上已废弃network.service(默认不安装),只能通过NetworkManager进行网络配置。 NetworkManager主要管理2个对象: Connection(网卡连接配置) 和 Device(网卡设备),他们之间是多对一的关系,但是同一时刻只能有一个Connection对于Device才生效。 在RHEL 8/Centos 8有三种方法配置网络:
  • 通过nmcli connection add命令配置,会自动生成ifcfg文件。
  • 手动配置ifcfg文件,通过nmcli connection reload来加载生效。
  • 手动配置ifcfg文件,通过传统network.service来加载生效。

NetworkManager 命令

1 $ nmcli connection 网络连接管理
2 $ nmcli connection show # 查看所有网卡配置
3 $ nmcli connection reload # 重新加载网卡配置,不会立即生效
4 $ nmcli connection down ens160 && nmcli connection up ens160 # 立即生效Connection配置
5 $ nmcli connection add type ethernet con-name ens160-con ifname ens160 ipv4.addr 1.1.1.2/24 ipv4.gateway 1.1.1.1 ipv4.method manual # 为device创建connection
6 $ nmcli connection add type ethernet con-name ens160-con ifname ens160 ipv.method auto # dhcp
7 $ nmcli connection modify ens160-con ipv.addr 1.1.1.3/24 && nmcli connection up ens160-con # 修改IP地址并立即生效

 

交互方式修改IP
1 $ nmcli connection edit ens160-con
2 $ nmcli device 网卡设备管理
3 $ nmcli device status # 查看所有网卡设备状态
4 $ nmcli device show ens160 # 查看网卡配置
5 $ nmcli device reapply ens160 # 立即生效网卡配置

 

/etc/resolv.conf被重置问题

RHEL 8/Centos 8上废弃了network,官方也建议使用NetworkManager来管理网络。在刚开始使用时难免各种各样的问题,下面是我遇到的 /etc/resolv.conf 被重置的问题。

手工设置 /etc/resolv.conf 里的DNS,重新OS发现被系统重新覆盖或者清除了。那么该如何配置DSN呢?

 1、使用全新的命令行工具 nmcli 来设置

#显示当前网络连接
#nmcli connection show
NAME UUID TYPE DEVICE
eno1 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 802-3-ethernet eno1
  #修改当前网络连接对应的DNS服务器,这里的网络连接可以用名称或者UUID来标识
#nmcli con mod eno1 ipv4.dns "223.5.5.5 8.8.8.8" 
#将dns配置生效 #nmcli con up eno1

2、使用传统方法,手工修改 /etc/resolv.conf

  • 修改 /etc/NetworkManager/NetworkManager.conf 文件,在main部分添加 “dns=none” 选项:
[main]
plugins=ifcfg-rh
dns=none
  • NetworkManager重新装载上面修改的配置
# systemctl restart NetworkManager.service
  • 手工修改  /etc/resolv.conf 添加你的DNS SERVER
nameserver 223.5.5.5 nameserver 8.8.8.8
上一篇:RHEL8能够访问外网“www.baidu.com”


下一篇:centos8如何重启网络服务