有時,您可能需要為單個網絡接口卡 (NIC) 分配多個 IP 地址。 這樣做的最常見用例可能是有多個網絡,並且您希望一次將您的機器連接到所有網絡。 在這種情況下,雖然您可以根據需要獲得多個網卡,但是更實用的解決方案是為單個網卡分配多個 IP 地址。 因此,今天我們將與您分享在 CentOS 8 中為單個網絡接口分配多個 IP 地址的過程。
在 CentOS 8 上為單個網絡接口分配多個 IP 地址
要在 CentOS 8 中為單個 NIC 分配多個 IP 地址,您必須遵循我們在下面描述的五個簡單步驟:
第 1 步:在 CentOS 8 中檢查網卡的當前 IP 地址
可以通過執行以下命令來檢查 CentOS 8 中 NIC 的當前 IP 地址:
ip地址
CentOS 8 中我們所需網卡的當前 IP 地址是“10.0.2.15”,如下圖所示:
第 2 步:在 CentOS 8 中查看包含有關該網卡信息的文件的內容:
Linux 中的每個 NIC 都有一個專用文件,其中包含有關該 NIC 的詳細信息。 要查看我們選擇的 NIC 的詳細信息,我們將執行以下命令:
cat /etc/sysconfig/network-scripts/ifcfg-NIC
在這裡,您必須將單詞 NIC 替換為您要查看其詳細信息文件的特定 NIC 的名稱。 我們已將其替換為“enp0s3”。
我們的 ifcfg-enp0s3 文件的內容如下圖所示:
此處需要考慮的一個重要事項是該文件可能不包含該特定 NIC 的 IP 地址,如您從上圖所示。 之所以如此,是因為目前該 NIC 只分配了一個 IP 地址。 因此,除非您為單個 NIC 分配多個 IP 地址,否則不必在此文件中提及該 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 地址,然後您可以保存和 close 這個文件。
第 4 步:在 CentOS 8 中重新啟動網卡:
現在,我們將重新啟動我們的 NIC,以便新的更改生效。 首先,我們必須運行以下命令:
sudo ifdown enp0s3
此命令將停用我們的特定 NIC,如下圖所示:
現在,我們將運行以下命令:
sudo ifup enp0s3
此命令將激活我們的特定 NIC,如下圖所示:
第 5 步:驗證是否在 CentOS 8 中為該特定 NIC 成功分配了多個 IP 地址:
一旦我們的 NIC 重新啟動,我們將再次運行“ip addr”命令以查看我們新添加的 IP 地址是否已分配給我們選擇的 NIC。 您可以從下圖中突出顯示的部分驗證所述操作已成功執行。
在 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”命令來檢查是否已針對我們選擇的 NIC 刪除了額外的 IP 地址。 您可以從下圖突出顯示的部分看到,現在我們只有一個 IP 地址,它也是我們選擇的 NIC 的默認地址。
結論
通過遵循本文與您分享的簡單方法,您可以根據需要方便地為 CentOS 8 中選定的網絡接口分配任意數量的 IP 地址。 當您使用完分配給 NIC 的其他 IP 地址後,您可以按照刪除方法簡單地刪除它們。