一、遇到ip addr时发现本机的ip并没有显示,这是因为我们使用的网络管理器NetworkManager动态代理出现了问题。

(1)关闭动态管理器
1
sudo systemctl restart NetworkManager
(2)重启网络接口,即可
1
sudo ifup ens33

原因:

在 CentOS 7 和其他使用 NetworkManager 的 Linux 发行版中,NetworkManager 是负责管理网络接口和连接的守护程序。当你关闭 NetworkManager 或重启网络接口后,系统会回退到使用传统的网络配置方法,这通常涉及到 ifcfg- 文件,这些文件通常位于 /etc/sysconfig/network-scripts/ 目录下。

当你执行以下命令重启网络接口时:

bash

1
2
sudo ifdown <interface>
sudo ifup <interface>

或者重启 NetworkManager

bash

1
sudo systemctl restart NetworkManager

系统会重新应用 /etc/sysconfig/network-scripts/ 目录下的配置文件中定义的网络设置。这些配置文件包含了网络接口的静态 IP 地址、子网掩码、网关等信息。因此,当你使用 ip addr 命令查看网络接口时,你看到的 IP 地址是基于这些配置文件设置的。

如果你之前通过 NetworkManager 动态配置了网络(例如,通过 DHCP 获取 IP),关闭 NetworkManager 后,系统将不再使用动态配置,而是使用 ifcfg- 文件中定义的静态配置。

这就是为什么在关闭 NetworkManager 或重启网络接口后,使用 ip addr 能够看到 IP 地址的原因。这些 IP 地址是根据系统配置文件中定义的静态设置分配的,而不是由 NetworkManager 动态管理的。