如何在 CentOS 7 上配置静态 IP 地址
问题:在 CentOS 7 上,我想使用我的网络接口之一从 DHCP 切换到静态 IP 地址配置。在 CentOS 或 RHEL 7 上永久为网络接口分配静态 IP 地址的正确方法是什么?
如果您想在 CentOS 7 中的网络接口上设置静态 IP 地址,有多种不同的方法可以实现,具体方法取决于您是否要使用网络管理器。
网络管理器是一个动态网络控制和配置系统,它试图在网络设备和连接可用时保持它们的启动和活动状态。 CentOS/RHEL 7 默认安装并启用网络管理器服务。
要验证网络管理器服务的状态:
$ systemctl status NetworkManager.service
要检查网络管理器管理哪个网络接口,请运行:
$ nmcli dev status

如果 nmcli
的输出显示特定接口的 connected
(例如本例中的 enp0s3
),则表示该接口由 Network Manager 管理。您可以轻松地禁用特定接口的网络管理器,以便您可以自行配置静态 IP 地址。
以下是为 CentOS 7 上的网络接口分配静态 IP 地址的两种不同方法。我们将配置一个名为 enp0s3
的网络接口。
无需网络管理器即可配置静态 IP 地址
进入/etc/sysconfig/network-scripts
目录,找到接口的配置文件(ifcfg-enp0s3
)。如果没有找到则创建它。

打开配置文件并编辑以下变量:

在上面,NM_CONTROLLED=no
表示该接口将使用该配置文件来设置,而不是由网络管理器服务管理。 ONBOOT=yes
告诉系统在启动期间调出该界面。
使用以下命令保存更改并重新启动网络服务:
# systemctl restart network.service
现在验证接口是否已正确配置:
# ip add

使用网络管理器配置静态 IP 地址
如果您想使用 Network Manager 来管理界面,可以使用 nmtui(Network Manager 文本用户界面),它提供了一种在终端环境中配置 Network Manager 的方法。
在使用nmtui
之前,首先在/etc/sysconfig/network-scripts/ifcfg-enp0s3
中设置NM_CONTROLLED=yes
。
现在让我们按如下方式安装nmtui
。
# yum install NetworkManager-tui
然后继续编辑 enp0s3
接口的网络管理器配置:
# nmtui edit enp0s3
以下屏幕将允许我们手动输入 /etc/sysconfig/network-scripts/ifcfg-enp0s3
中包含的相同信息。
使用箭头键导航此屏幕,按 Enter 键从值列表中选择(或填写所需的值),最后单击右下角的“确定”:

最后,重新启动网络服务。
# systemctl restart network.service
现在您就可以出发了。