【网络】/etc/sysconfig/network-scripts/下没有网口文件|​network与NetworkManager差别

125 篇文章 69 订阅

network与NetworkManager区别

network与NetworkManager二者冲突

RHEL 9 告别network.service 拥抱NetworkManager (/etc/sysconfig/network-scripts/下没有网口文件的原因)

细节

如何更改界面设置

ifcfg-rh 发生了什么变化?

CentOS7用nmcli和nmtui配置网络IP地址,默认是生成network的配置文件,在network-scripts文件夹下


network与NetworkManager区别

 RHEL7 /CentOS 7 以上的版本中默认的网络服务由 NetworkManager 提供(简称NM),这是动态控制及配置网络的守护进程,它用于保持当前网络设备及连接处于工作状态,同时也支持传统的 ifcfg 类型的配置文件。

NetworkManager 可以配置网络别名,IP 地址,静态路由,DNS,VPN连接以及很多其它的特殊参数。可以用命令行工具 nmcli 来控制 NetworkManager。nmcli的功能要比 ifconfig 强大、复杂的多。
nmcli是命令行的NetworkManager工具,自动把配置写到/etc/NetworkManager/system-connections/目录下面。RHEL7 与 CentOS 7之前的网络管理是通过 ifcfg 文件配置管理接口(device),而现在是通过NetworkManager服务管理连接(connection)。

一个接口(device)可以有多个连接(connection),但是同时只允许一个连接(connection)处于激活(active)状态。但有一个问题,重启服务器后默认激活那个连接,我没查到相关的资料,如果是服务器建议一个网口对于一个连接。
简单理解就是,一个连接就是(connection)就是/etc/NetworkManager/system-connections/目录下的一个配置文件,接口(device)是物理设备,一个物理设置可以拥有多个配置文件,但只能有一个配置文件属于使用(active)状态;配置文件的生成与使用状态均由NetworkManager控制。当然,依旧支持ifcfg文件配置管理网络,但不推荐。


典型用途包括:
Scripts: 通过nmcli利用NetworkManager,而不是手动管理网络连接。nmcli支持更适合脚本处理的简洁输出格式。请注意,NetworkManager还可以执行称为“调度程序脚本”的脚本来响应网络事件。
Servers, headless machines, and terminals: nmcli可用于在没有GUI的情况下控制NetworkManager,包括创建、编辑、启动和停止网络连接以及查看网络状态。

原文链接:https://blog.csdn.net/qq_50573146/article/details/126797116

配套工具

NetworkManager:nmcli、ip等命令

network:ifconfig

ifconfig本来就不应该跟NetworkManager.service在一起配合用。
在RHEL 7的时代,ifconfig和network.service是配合使用的。以后,NetworkManager.service要和nmcli、ip等命令在一起用。
两种方式混用制造故障是不合理的

NetworkManager服务

使用 nmcli 时,NetworkManager 必须保持开启。
NetworkManager 的相关命令:

systemctl status NetworkManager            查看运行状态
ystemctl start NetworkManager            启动
ystemctl restart NetworkManager            重启
systemctl stop NetworkManager            关闭
systemctl is-enabled NetworkManager        查看是否开机启动
systemctl enable NetworkManager            开机启动
systemctl disable NetworkManager        禁止开机启动
 

network与NetworkManager二者冲突

network和NetworkManager一起工作时就会出现冲突

网卡解决network和NetworkManager的冲突问题_BiGpeng丶的博客-CSDN博客

centos8之后默认就是用NetworkManager管理网络,centos9之后就彻底抛弃network。

NetworkManage于network功能类似,都是用于管理网络。NetworkManage提供了nmctl、nmtui两个工具,两个都是用来管理网络,但是有一个前提:nmctl networking 状态必须是enable否则设备状态为unmanaged,这会导致network启动不了!!!!
查看方式如下

[root@master03 ~]# nmcli networking
enabled

解决
遇到network无法启动的情况,检测配置是是否有问题,若果是服务器(多网口),检测网线是否插在你启动的网口上
检测你的NetworkManage是否启动,如果启动了可参考一下方法处理
简单粗暴:关闭NetworkManage服务,并取消开机启动(要是你使用的位命令行模式,没有有用图形界面,可以放心使用这种方法,使用图形界面的话还是建议自己排查一下)
排查NetworkManage:
- 检查nmctl networking 状态是否为enabled,若果不是,执行一下命令开启

[root@master03 ~]# nmcli networking on
[root@master03 ~]# systemctl restart NetworkManager
[root@master03 ~]# systemctl restart network

[root@master03 ~]# nmcli device
DEVICE   TYPE      STATE      CONNECTION
ens33    ethernet  connected  ens33
docker0  bridge    unmanaged  --
lo       loopback  unmanaged  --
[root@master03 ~]#
在这里插入图片描述

- 检测连接是否启用

[root@master03 ~]# nmcli connection
NAME   UUID                                  TYPE      DEVICE
ens33  4d574cba-a63e-49ae-8cb2-d663a8dd796e  ethernet  ens33

如果没有启用

在这里插入图片描述

注意了:我的连接名称是ens33,根据你自己的情况自己编辑,所有操作完成以后都执行
[root@master03 ~]# systemctl restart NetworkManager
[root@master03 ~]# systemctl restart network
否则可能不生效
 

原文链接:https://blog.csdn.net/weixin_41539438/article/details/120994954

RHEL 9 告别network.service 拥抱NetworkManager (/etc/sysconfig/network-scripts/下没有网口文件的原因)

RHEL 9的网络配置:告别 ifcfg 配置文件,你好keyfile

NetworkManager 以 key-file 格式将新网络配置保存到 /etc/NetworkManager/system-connections/

从 RHEL 9.0 开始,RHEL 以 key-file 格式在 /etc/NetworkManager/system-connections/ 中存储新的网络配置。配置以旧格式存储在 /etc/sysconfig/network-scripts/ 中的连接仍然可以正常工作。对现有配置集的修改会继续更新旧的文件。

细节

在 RHEL 9 中,ifcfg (也称为 文件)将不再是网络配置文件的主存储。虽然 ifcfg 样式仍然可用,但它不再是 NetworkManager 存储新网络配置文件的默认位置。

让我们看一下:
/etc/sysconfig/network-scripts ifcfg

# NetworkManager --print-config

# NetworkManager configuration: /etc/NetworkManager/NetworkManager.conf (etc: 20-keyfiles.conf, sdn.conf)

[main]
# plugins=keyfile,ifcfg-rh
# rc-manager=auto
# auth-polkit=true
# dhcp=internal
# iwd-config-path=
dns=none
configure-and-quit=no

[keyfile]
path=/etc/NetworkManager/system-connections

[logging]
# backend=journal
# audit=false

[device]
# wifi.backend=wpa_supplicant
match-device=interface-name:br-int;interface-name:br-local;interface-name:br-nexthop,interface-name:ovn-k8s-*,interface-name:k8s-*;interface-name:tun0;interface-name:br0;interface-name:ovn0;interface-name:mirror0;driver:veth
managed=0

[device]
# wifi.backend=wpa_supplicant
match-device=interface-name:br-int;interface-name:br-local;interface-name:br-nexthop,interface-name:ovn-k8s-*,interface-name:k8s-*;interface-name:tun0;interface-name:br0;interface-name:ovn0;interface-name:mirror0;driver:veth
managed=0

# no-auto-default file "/var/lib/NetworkManager/no-auto-def

这是指不同的存储位置,如“keyfile”和“ifcfg-rh”。它首先查找keyfile文件,然后查找 ifcfg-rh 文件。您可以在 NetworkManager 文档和 RHEL 9 文档中找到有关关键文件的详细信息。NetworkManager 在各个位置查找关键文件,但本文重点介绍 中的文件。
/etc/NetworkManager/system-connections

使用默认配置,您可以在
/etc/sysconfig/network-scripts 中继续使用 ifcfg-rh 文件,但您需要注意:

  • 在默认配置中,NetworkManager 将确定关键文件的优先级。例如,如果keyfile文件和 ifcfg 文件都具有具有相同 UUID 的接口配置,则 NetworkManager 将为该接口使用keyfiles文件配置。

  • 当使用 NetworkManager API 的工具创建新的网络接口配置时,例如 nmcli、nmtui、gnome-control-center、anaconda、cockpit、nmstate、RHEL System Role for networking或network-manager-applet,它们将使用keyfiles文件进行配置。

虽然 ifcfg- 和 key 文件格式不具有相同的语法,但它们主要表示有关接口配置的类似数据。以下是两种格式的比较:

如何更改界面设置

无论您是决定继续使用ifcfg-rh文件(尽管不推荐)还是使用keyfiles文件,您都可以通过以下任一方式更改界面设置(如IP):

  • 基于工具:您可以使用图形工具,如 nm 连接编辑器或“nmcli”命令行工具。一个优点是,与直接修改文件相比,这些工具允许您检查命令的语法。您可以在 中找到一些很好的例子,例如:man nmcli

nmcli con mod enp2s0 ipv4.addr "10.0.0.4/24"nmcli con down enp2s0nmcli con up enp2s0

  • 基于文件:还可以使用文本编辑器编辑 中的keyfiles文件或 中的 ifcfg-rh 文件,然后将更改通知 NetworkManager。例如:/etc/NetworkManager/system-connections/etc/sysconfig/network-connections

vi /etc/NetworkManager/system-connections/<name>.nmconnectionnmcli connection load \  /etc/NetworkManager/system-connections/<name>.nmconnectionnmcli connection up filename \  /etc/NetworkManager/system-connections/<name>.nmconnection

“nmcli connection load [..]”命令将只重新加载一个特定的 NetworkManager 配置文件;或者,您可以使用命令“nmcli connection reload”来重新加载所有配置文件,或者使用“nmcli general reload”命令来重新加载设置;这的行为就像网络管理器的信号挂断(SIGHUP)。

ifcfg-rh 发生了什么变化?

从历史上看,各种Linux发行版已经将界面配置分散到许多地方:Debian及其衍生产品传统上使用,CentOS和相关发行版使用,等等。随着越来越多的发行版采用NetworkManager,keyfiles 已经成为Linux上网络连接的规范位置。/etc/network/interfaces、
/etc/sysconfig/network-scripts、/etc/NetworkManager/system-connections

这个变化落在了 Fedora 33 中,现在它在 RHEL 9 中。RHEL的新主要版本(如RHEL 9)是可以实现像这样的重大更改的地方,这些更改可能会破坏现有的脚本和工作流。由于 RHEL 目前的计划是提供 10 年的次要版本,因此熟悉此更改并开始将其合并到代码中是明智的。

https://www.redhat.com/en/blog/rhel-9-networking-say-goodbye-ifcfg-files-and-hello-keyfiles

CentOS7用nmcli和nmtui配置网络IP地址,默认是生成network的配置文件,在network-scripts文件夹下
 

(转自:https://blog.csdn.net/kfepiza/article/details/127582327)

nmcli和nmtui是 NetworkManager 附带的命令
NetworkManager是2004年RedHat启动的项目,皆在能够让Linux用户更轻松的处理现代网络需求,尤其是无线网络,能够自动发现网卡并配置IP地址。

RHEL7,CentOS7上同时支持network.service和NetworkManager.service(简称NM)。默认情况下这2个服务都有开启

多数图形界面的Linux都开启了NetworkManager.service服务

在CentOS9,Fedora36,Ubuntu20,22等中, nmcli c a和nmtui生成的网络配置文件默认为
/etc/NetworkManager/system-connections/文件夹中的xxx.nmconnection
但是, 在CentOS7中, nmcli c a和nmtui生成的网络配置文件默认为
/etc/sysconfig/network-scripts/文件夹中的ifcfg-xxx

用nmtui创建一个名为nm010的配置, 用nmcli创建一个名为nmcli010的配置文件
它们生成在/etc/sysconfig/network-scripts/文件夹

在这里插入图片描述

配置文件名与连接名相关, 但生成配置文件后,修改连接名,配置文件名不会变

对应的内容,(内容可用,但不规范,只用于演示)

在这里插入图片描述
对应

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=477861f3-1631-4167-8540-e3dacd41698d
DEVICE=ens33
ONBOOT=yes
IPADDR=10.7.9.1
PREFIX=8
GATEWAY=10.82.10.12
DNS1=119.29.29.29
DNS2=114.114.114.114
DNS3=8.8.8.8
DNS4=9.9.9.9
DNS5=8.8.4.4
IPV6_PRIVACY=no
DOMAIN="qq.com ens33.ifcfg.network"
PEERDNS=no
IPADDR1=10.7.9.2
PREFIX1=16
IPADDR2=10.7.9.3
PREFIX2=24
DNS6=4.2.2.2
DNS7=1.1.1.1

上面这个ifcfg-ens33一开始就有, 通过nmtui修改


这个是用nmtui生成的

在这里插入图片描述

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
IPADDR=10.7.9.1
PREFIX=24
IPADDR1=10.7.9.2
PREFIX1=24
GATEWAY=10.82.10.12
DNS1=180.76.76.76
DNS2=223.6.6.6
DNS3=119.29.29.29
DNS4=8.8.8.8
DNS5=9.9.9.9
DNS6=1.1.1.1
DNS7=223.5.5.5
DNS8=4.2.2.2
DNS9=4.2.2.1
DOMAIN="baidu.com nmtui010.nmtui"
DEFROUTE=yes
PEERDNS=no
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=nmtui010
UUID=95e52ced-7beb-4e67-90a6-e0bfe74e2686
DEVICE=ens33
ONBOOT=yes

这个使用nmcli生成的
 

在这里插入图片描述

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
IPADDR=10.7.9.1
PREFIX=8
IPADDR1=10.7.9.2
PREFIX1=8
IPADDR2=10.7.9.3
PREFIX2=8
GATEWAY=10.82.10.12
DNS1=119.29.29.29
DNS2=223.6.6.6
DNS3=180.76.76.76
DNS4=8.8.8.8
DNS5=9.9.9.9
DNS6=1.1.1.1
DNS7=114.114.114.114
DOMAIN="qq.com nmcli010"
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=nmcli010
UUID=61dd866f-9b96-4181-a130-2039c2e20b99
DEVICE=ens33
ONBOOT=yes

 附加一个 CentOS9Stream 的
CentOS9 的 nmtui和nmcli 生成的文件不在 /etc/sysconfig/network-scripts/文件夹 而在/etc/NetworkManager/system-connections/文件夹 ,
文件名不是ifcfg-xxx而是xxx.nmconnection
在这里插入图片描述

对应的 xxx.nmconnection

[connection]
id=nmtui010
uuid=99b644f2-c647-44c4-a444-fd7e3652bdf2
type=ethernet
interface-name=ens33

[ethernet]

[ipv4]
address1=10.9.1.1/8,10.82.10.12
address2=10.9.1.2/8
address3=10.9.1.3/8
dns=223.6.6.6;180.76.76.76;119.29.29.29;8.8.8.8;9.9.9.9;1.1.1.1;114.114.114.114;4.2.2.2;4.2.2.1;223.5.5.5;
dns-search=alibaba.com;nmtui010;
ignore-auto-dns=true
method=manual

[ipv6]
addr-gen-mode=stable-privacy
method=auto

[proxy]

  • 5
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值