您的 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
云初始化配置文件是 /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 實例和 Ubuntu 桌面(帶 GUI)的 NetworkManager

放 ‘DHCP4‘值得’不‘ 禁用 DHCP 協議並為接口分配一個靜態 IP,如下所示。
分配一個靜態IP地址給 ens3
在界面中修改文件如下:
- 為您的服務器指定靜態 IP 地址。裡面
addresses
在 : 部分,指定要分配給網絡接口的 IPv4 地址。 - 然後指定網關。
- 在下面
nameservers
, 指定名稱服務器的 DNS 或 IP 地址。這裡我指定谷歌的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 衝突也很重要。