在 IT 環境中,您可能需要配置靜態 IP,而不是依賴 DHCP 協議。一個完美的例子是當您將 Ubuntu 服務器設置為組織的文件或 Web 服務器時。顧名思義,靜態 IP 可確保系統的 IP 地址保持不變。 使用 DHCP,當 IP 地址租約到期時,IP 地址會更改,這對於服務器來說是不可取的。
本指南介紹了在 Ubuntu 20.04 中手動分配靜態 IP 的兩種方法。 演示如何在 Ubuntu 服務器和 Ubuntu 桌面實例上配置靜態 IP。
為 Ubuntu Server 20.04 分配靜態 IP
在 Ubuntu 17.10 及更高版本中,網絡由 網絡規劃 特徵。 Netplan 配置文件位於: /etc/netplan
寫在目錄和 YAML 中。該目錄包含 YAML 配置文件,標記如下: 50-cloud-init.yaml
, 還 00-installer-config.yaml
..
但是,如果您正在運行 Ubuntu 的雲實例, 云初始化 它使用 DHCP 協議自動分配 IP 地址。您需要先禁用 cloud-init,然後才能繼續。去做這個 subiquity-disable-cloudinit-networking.cfg
cloud-init 配置文件是 /etc/cloud/cloud.cfg.d/
目錄
$ sudo vim /etc/cloud/cloud.cfg.d/subiquity-disable-cloudinit-networking.cfg
環境’通訊網絡‘命令’無效的‘。
network: {config: disabled}
保存更改並退出。然後轉到 Netplan 配置文件。就我而言,我 00-installer-config.yaml
文檔。

$ sudo vim /etc/netplan/00-installer-config.yaml
從配置文件中可以看到:通訊網絡’ 具有兩個元素的指令。最初”以太網‘它指定了網絡接口,第二個是渲染器版本,’系統聯網‘用於非 GUI 實例和帶 GUI 的 Ubuntu 桌面的 NetworkManager

放’dhcp4‘值得’不要做‘禁用DHCP協議並指定接口的靜態IP,如下圖所示。
分配靜態 IP 地址給 ens3
在界面上,修改文件如下:
- 指定服務器的靜態 IP 地址。裡面
addresses
在:部分中,指定要分配給網絡接口的 IPv4 地址。 - 然後指定網關。
- 在下面
nameservers
, 指定名稱服務器的 DNS 或 IP 地址。此處,Google 的 DNS 為 8.8.8.8,並指定了路由器的 IP。
network:
ethernets:
enp0s3:
dhcp4: no
addresses: [192.168.2.150/24]
gateway4: 192.168.2.1
nameservers:
addresses: [8.8.8.8, 192.168.2.1]

保存 YAML 文件並退出。要應用更改,請運行以下命令:
$ sudo netplan apply
您可以使用 ifconfig 或 ip 命令來驗證網絡接口是否配置為使用您配置的靜態 IP。

此外,您可以使用 IP route show 命令顯示系統上的新路由。
$ ip route show

完美的! 您已在 Ubuntu 服務器上成功配置靜態 IP。現在讓我們換個方向,看看如何在 Ubuntu Desktop 20.04 中復制它。
在 Ubuntu 20.04 桌面上配置靜態 IP
如果您正在運行桌面 GUI,則配置靜態 IP 很容易。點擊 ”網絡圖標在屏幕右上角選擇’ ‘有線設置‘可選的。

這將打開 ‘通訊網絡‘配置頁面。裡面 ‘有線‘在該部分中,單擊齒輪圖標。

這將為您提供當前 IP 配置的概覽。默認情況下,系統通過 DHCP 協議獲取 IP 配置。 從使用 DHCP 更改為手動。

這就是為什麼,”IPv4‘標籤。轉到本節。正如預期的那樣,DHCP 已打開。

‘從自動 (DHCP)‘到達’手動的‘。然後指定靜態 IPv4 地址,例如網絡掩碼、網關和 DNS 服務器。要保存更改,請單擊[[應用‘ 按鈕。

返回 ‘通訊網絡’ 創建一個部分,關閉並打開它以重新啟動網絡服務。

再次單擊齒輪圖標以驗證是否反映了靜態 IP 設置。

這很容易。 您已在 Ubuntu 桌面上成功配置了靜態 IP。
結論是
與大多數其他系統一樣,Ubuntu 配置了 DHCP 以從 DHCP 服務器或路由器獲取 IP。本指南介紹瞭如何從命令行和 GUI 應用靜態 IP 設置。在配置靜態 IP 之前,始終建議保留 IP 以分配給路由器上的服務器。 確保其他客戶端系統不使用 IP 地址以避免 IP 衝突也很重要。