NetworkManager-red hat 9 系 配置静态 IP
本环境使用本版本
[root@server ~]# cat /etc/redhat-release
Rocky Linux release 9.4 (Blue Onyx)
之前的事
早期的红帽版本操作系统的网络IP的配置文件存放在 /etc/sysconfig/network-scripts
当中。是以 ifcfg-
或者更早期是 eth
打头的。
在 https://www.cnblogs.com/takenika/articles/18358528 有介绍。
本环境使用的是 Rocky Linux release 9.4 (Blue Onyx)
也就是红帽9.4的社区版本。
在该版本中网络的配置文件存放点与之前并不一样,从原因上来讲是旧有的配置文件被弃用了,更换了新的 keyfile
文件格式。
进入 /etc/sysconfig/network-scripts/
文件夹,查看内容。
[root@server ~]# cd /etc/sysconfig/network-scripts/
[root@server network-scripts]# ll
total 4
-rw-r--r--. 1 root root 1244 Apr 30 19:15 readme-ifcfg-rh.txt
进入之前的存放 ifcfg-
开头的文件夹,这里面只存放了一个 readme
的 txt 文件。
[root@server network-scripts]# cat readme-ifcfg-rh.txt
NetworkManager stores new network profiles in keyfile format in the
/etc/NetworkManager/system-connections/ directory.
Previously, NetworkManager stored network profiles in ifcfg format
in this directory (/etc/sysconfig/network-scripts/). However, the ifcfg
format is deprecated. By default, NetworkManager no longer creates
new profiles in this format.
--snip--
通过阅读得知了 NetworkManager 选择了一个新的文件格式用来管理网络配置,该这种格式被称为 keyfile format
,这种格式的文件存放在 etc/NetworkManager/system-connections/
这个目录文件中。
第二段介绍的更加的具体,最后一句表明了该版本与后面版本的 NetworkManager 将不在会在 /etc/sysconfig/network-scripts/
中,添加 ifcfg-
格式的配置文件,ifcfg
文件格式被弃用了。
在 https://networkmanager.dev/docs/api/latest/nm-settings-keyfile.html 有详细的解释新的配置文件 keyfile
文件的具体格式与参数选项。
这里 NetworkManager 使用的是 1.46.0
这个版本。
[root@server ~]# rpm -qi NetworkManager
Name : NetworkManager
Epoch : 1
Version : 1.46.0
使用keyfile的文件格式来配置ip地址
[root@server sysconfig]# cd /etc/NetworkManager/system-connections/
[root@server system-connections]# ll
total 4
-rw-------. 1 root root 229 Aug 15 09:19 ens160.nmconnection
可以看到在 /etc/NetworkManager/system-connections/
内有一个 ens160.nmconnection
的文件,这就似乎 keyfile 文件格式的网卡配置文件。
开始配置静态ip地址:
[root@server system-connections]# vi ens160.nmconnection
--snip--
[ipv4]
method=manual
address1=192.168.10.10/24,192.168.10.2
dns=114.114.114.114;8.8.8.8;
[ipv6]
--snip--
manual
是手动的意思。address1
后面可以跟上的是IP地址与网关地址 ,
分割开,而 DNS
使用的则是 ;
来分隔。
配置完成后配置的内容不会立即生效,重启就能重启加载配置文件了,当需要立即生效的时候需要使用 nmcli
命令。
早期的红帽发行版可以使用 service
和 systemctl
来重启网卡,但是现在应该使用的是 nmcli
命令。
[root@server ~]# nmcli c reload
[root@server ~]# nmcli c up ens160
如果是在远程终端来链接的配置好新的IP就会断开链接了。
这样静态的IP地址就配置完成了。