在 Linux 伺服器上工作時,在網絡卡/乙太網卡上分配靜態 IP 地址是每個 Linux 工程師的常見任務之一。如果一個人在 Linux 伺服器上正確設定了靜態地址,那麼他/她就可以通過網路遠端存取它。在本文中,我們將演示在 RHEL 8 伺服器網絡卡上設定靜態 IP 地址的不同方法。
以下是在網絡卡上設定靜態IP的方法:
nmcli
(命令列工具)ifcfg-*
)nmtui
(基於文字的使用者介面)每當我們安裝 RHEL 8 伺服器時,就會自動安裝命令列工具 nmcli
,它是由網路管理器使用的,可以讓我們在乙太網卡上設定靜態 IP 地址。
執行下面的 ip addr
命令,列出 RHEL 8 伺服器上的乙太網卡
[root@linuxtechi ~]# ip addr
正如我們在上面的命令輸出中看到的,我們有兩個網絡卡 enp0s3
和 enp0s8
。當前分配給網絡卡的 IP 地址是通過 DHCP 伺服器獲得的。
假設我們希望在第一個網絡卡 (enp0s3
) 上分配靜態 IP 地址,具體內容如下:
依次執行以下 nmcli
命令來設定靜態 IP,
使用 nmcli connection
命令列出當前活動的乙太網卡,
[root@linuxtechi ~]# nmcli connectionNAME UUID TYPE DEVICEenp0s3 7c1b8444-cb65-440d-9bf6-ea0ad5e60bae ethernet enp0s3virbr0 3020c41f-6b21-4d80-a1a6-7c1bd5867e6c bridge virbr0[root@linuxtechi ~]#
使用下面的 nmcli
給 enp0s3 分配靜態 IP。
命令語法:
# nmcli connection modify <interface_name> ipv4.address <ip/prefix>
注意: 為了簡化語句,在 nmcli
命令中,我們通常用 con
關鍵字替換 connection
,並用 mod
關鍵字替換 modify
。
將 IPv4 地址 (192.168.1.4) 分配給 enp0s3
網絡卡上,
[root@linuxtechi ~]# nmcli con mod enp0s3 ipv4.addresses 192.168.1.4/24
使用下面的 nmcli
命令設定閘道器,
[root@linuxtechi ~]# nmcli con mod enp0s3 ipv4.gateway 192.168.1.1
設定手動設定(從 dhcp 到 static),
[root@linuxtechi ~]# nmcli con mod enp0s3 ipv4.method manual
設定 DNS 值為 “8.8.8.8”,
[root@linuxtechi ~]# nmcli con mod enp0s3 ipv4.dns "8.8.8.8"[root@linuxtechi ~]#
要儲存上述更改並重新載入,請執行如下 nmcli
命令,
[root@linuxtechi ~]# nmcli con up enp0s3Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)
以上命令顯示網絡卡 enp0s3
已成功設定。我們使用 nmcli
命令做的那些更改都將永久儲存在檔案 etc/sysconfig/network-scripts/ifcfg-enp0s3
裡。
[root@linuxtechi ~]# cat /etc/sysconfig/network-scripts/ifcfg-enp0s3
要確認 IP 地址是否分配給了 enp0s3
網絡卡了,請使用以下 IP 命令檢視,
[root@linuxtechi ~]#ip addr show enp0s3
我們可以使用設定乙太網卡的網路指令碼或 ifcfg-*
檔案來設定乙太網卡的靜態 IP 地址。假設我們想在第二個乙太網卡 enp0s8
上分配靜態 IP 地址:
轉到目錄 /etc/sysconfig/network-scripts
,查詢檔案 ifcfg-enp0s8
,如果它不存在,則使用以下內容建立它,
[root@linuxtechi ~]# cd /etc/sysconfig/network-scripts/[root@linuxtechi network-scripts]# vi ifcfg-enp0s8TYPE="Ethernet"DEVICE="enp0s8"BOOTPROTO="static"ONBOOT="yes"NAME="enp0s8"IPADDR="192.168.1.91"PREFIX="24"GATEWAY="192.168.1.1"DNS1="4.2.2.2"
儲存並退出檔案,然後重新啟動網路管理器服務以使上述更改生效,
[root@linuxtechi network-scripts]# systemctl restart NetworkManager
現在使用下面的 ip
命令來驗證 IP 地址是否分配給網絡卡,
[root@linuxtechi ~]# ip add show enp0s83: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 08:00:27:7c:bb:cb brd ff:ff:ff:ff:ff:ff inet 192.168.1.91/24 brd 192.168.1.255 scope global noprefixroute enp0s8 valid_lft forever preferred_lft forever inet6 fe80::a00:27ff:fe7c:bbcb/64 scope link valid_lft forever preferred_lft forever[root@linuxtechi ~]#
以上輸出內容確認靜態 IP 地址已在網絡卡 enp0s8
上成功設定了。
nmtui
是一個基於文字使用者介面的,用於控制網路的管理器,當我們執行 nmtui
時,它將開啟一個基於文字的使用者介面,通過它我們可以新增、修改和刪除連線。除此之外,nmtui
還可以用來設定系統的主機名。
假設我們希望通過以下細節將靜態 IP 地址分配給網絡卡 enp0s3
,
執行 nmtui
並按照螢幕說明操作,範例如下所示,
[root@linuxtechi ~]# nmtui
選擇第一個選項 “Edit a connection”,然後選擇介面為 “enp0s3”,
選擇 “Edit”,然後指定 IP 地址、字首、閘道器和域名系統伺服器 IP,
選擇確定,然後點選回車。在下一個視窗中,選擇 “Activate a connection”,
選擇 “enp0s3”,選擇 “Deactivate” 並點選回車,
現在選擇 “Activate” 並點選回車,
選擇 “Back”,然後選擇 “Quit”,
使用下面的 ip
命令驗證 IP 地址是否已分配給介面 enp0s3
,
[root@linuxtechi ~]# ip add show enp0s32: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 08:00:27:53:39:4d brd ff:ff:ff:ff:ff:ff inet 10.20.0.72/24 brd 10.20.0.255 scope global noprefixroute enp0s3 valid_lft forever preferred_lft forever inet6 fe80::421d:5abf:58bd:c47e/64 scope link noprefixroute valid_lft forever preferred_lft forever[root@linuxtechi ~]#
以上輸出內容顯示我們已經使用 nmtui
實用程式成功地將靜態 IP 地址分配給介面 enp0s3
。
以上就是本教學的全部內容,我們已經介紹了在 RHEL 8 系統上為乙太網卡設定 IPv4 地址的三種不同方法。請在下面的評論部分分享反饋和評論。