如何在 CentOS 8 上为单个网络接口分配多个 IP 地址
有时,您可能需要将多个 IP 地址分配给单个网络接口卡 (NIC)。这样做的最常见用例可能是存在多个网络,并且您希望一次将计算机连接到所有网络。在这种情况下,虽然您可以根据需要获得多个 NIC,但更实用的解决方案是将多个 IP 地址分配给单个 NIC。因此,今天我们将与您分享在 CentOS 8 中为单个网络接口分配多个 IP 地址的过程。
在 CentOS 8 上将多个 IP 地址分配给单个网络接口
要在 CentOS 8 中将多个 IP 地址分配给单个 NIC,您必须遵循我们下面描述的五个简单步骤:
步骤#1:在 CentOS 8 中检查网卡的当前 IP 地址
CentOS 8 中网卡的当前 IP 地址可以通过执行以下命令来检查:
ip addr
CentOS 8 中我们所需的 NIC 的当前 IP 地址是“10.0.2.15”,如下图突出显示:
步骤#2:在 CentOS 8 中查看包含有关该 NIC 的信息的文件的内容:
对于 Linux 中的每个 NIC,都有一个专用文件,其中包含有关该 NIC 的详细信息。为了查看我们选择的网卡的详细信息,我们将执行以下命令:
cat /etc/sysconfig/network-scripts/ifcfg-NIC
在这里,您必须将 NIC 一词替换为您要查看其详细信息文件的特定 NIC 的名称。我们已将其替换为“enp0s3”。
我们的 ifcfg-enp0s3 文件的内容如下图所示:
这里需要考虑的一件重要事情是,该文件可能不包含该特定 NIC 的 IP 地址,如上图所示。之所以如此,是因为目前只有一个 IP 地址分配给该 NIC。因此,除非您将多个 IP 地址分配给单个 NIC,否则不必在此文件中提及该 IP 地址。
步骤#3:通过在 CentOS 8 中针对该 NIC 添加多个 IP 地址来修改该文件:
现在,我们将通过针对所选 NIC 添加多个 IP 地址来修改此文件。为此,我们将通过执行以下命令打开该文件:
sudo nano /etc/sysconfig/network-scripts/ifcfg-NIC
在这里,您必须将 NIC 替换为您要编辑其详细信息文件的特定 NIC 的名称。我们已将其替换为“enp0s3”。
现在我们需要根据变量 IPADDR0 将特定 NIC 的默认 IP 地址添加到此文件中,因为我们要为其分配新的 IP 地址。此外,我们还将针对变量 IPADDR1 添加同一 NIC 的新 IP 地址,例如“10.0.2.16”。这两个 IP 地址在下图中突出显示:
您甚至可以使用与变量“IPADDR2”、“IPADDR3”等相同的方式针对单个 NIC 添加 2 个以上 IP 地址,然后保存并关闭该文件。
步骤#4:在 CentOS 8 中重新启动网卡:
现在,我们将重新启动 NIC,以便新的更改生效。首先,我们必须运行以下命令:
sudo ifdown enp0s3
该命令将停用我们的特定网卡,如下图所示:
现在,我们将运行以下命令:
sudo ifup enp0s3
该命令将激活我们特定的网卡,如下图所示:
步骤#5:验证多个 IP 地址是否已成功分配给 CentOS 8 中的特定网卡:
一旦我们的网卡重新启动,我们将再次运行“ip addr”命令来查看我们新添加的IP地址是否已分配给我们选择的网卡。您可以从下图中突出显示的部分验证上述操作是否已成功执行。
在 CentOS 8 中从 NIC 中删除附加 IP 地址
以防万一,您想要删除针对 NIC 添加的额外 IP 地址,可以执行以下步骤将其删除:
步骤#1:在 CentOS 8 的专用文件中删除特定 NIC 的附加 IP 地址:
我们将再次打开 ifcfg-enp0s3 文件,然后简单地从中删除 IP 地址条目,如下图所示:
步骤#2:在 CentOS 8 中重新启动网卡:
完成此操作后,我们将首先运行“sudo ifdown enp0s3”命令来重新启动网卡,如下图所示:
然后,我们将运行“sudo ifup enp0s3”命令,如下图所示:
步骤#3:验证 CentOS 8 中针对您的 NIC 的附加 IP 地址是否已删除:
最后,我们将再次运行“ip addr”命令来检查是否已针对所选网卡删除了附加 IP 地址。您可以从下图突出显示的部分看到,现在我们只有一个 IP 地址,这也是我们所选 NIC 的默认 IP 地址。
结论
通过遵循本文中与您分享的简单方法,您可以根据需要方便地为 CentOS 8 中选定的网络接口分配任意数量的 IP 地址。使用完分配给 NIC 的其他 IP 地址后,您可以按照删除方法简单地删除它们。