如何在Ubuntu 20.04上配置靜態IP地址

本文介紹了如何在Ubuntu 20.04上設置靜態IP地址。

通常,在大多數網絡配置中,IP地址是由路由器DHCP服務器動態分配的。 在不同情況下,例如配置端口轉發或運行媒體服務器,可能需要設置靜態IP地址。

使用DHCP配置靜態IP地址

向LAN上的設備分配靜態IP地址的最簡單且建議的方法是在路由器上配置靜態DHCP。 靜態DHCP或DHCP保留功能是大多數路由器上都可以使用的功能,每次設備向DHCP服務器請求地址時,它都會使DHCP服務器自動為特定的網絡設備分配相同的IP地址。 通過將靜態IP分配給設備的唯一MAC地址來工作。

配置DHCP保留的步驟因路由器而異。 有關更多信息,請參閱供應商的文檔。

網絡計劃

Ubuntu 17.10和更高版本使用Netplan作為默認網絡管理工具。 先前的Ubuntu版本正在使用 ifconfig 及其配置文件 /etc/network/interfaces 配置網絡。

Netplan配置文件使用YAML語法編寫,並帶有 .yaml 文件擴展名。 要使用Netplan配置網絡接口,您需要為該接口創建YAML描述,並且Netplan將為所選的渲染器工具生成所需的配置文件。

Netplan支持兩個渲染器:NetworkManager和Systemd-networked。 NetworkManager通常在台式機上使用,而Systemd網絡在沒有GUI的服務器上使用。

在Ubuntu服務器上配置靜態IP地址

在Ubuntu 20.04上,系統使用“可預測的網絡接口名稱”標識網絡接口。

設置靜態IP地址的第一步是識別要配置的以太網接口的名稱。 為此,請使用 ip link 命令,如下所示:

ip link

該命令將打印所有可用網絡接口的列表。 在此示例中,接口的名稱為 ens3

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 08:00:27:6c:13:63 brd ff:ff:ff:ff:ff:ff

Netplan配置文件存儲在 /etc/netplan 目錄。 您可能會在此目錄中找到一個或多個YAML文件。 文件的名稱可能因安裝程序而異。 通常,文件名為 01-netcfg.yaml50-cloud-init.yaml, 要麼 NN_interfaceName.yaml,但在您的系統中可能有所不同。

如果您的Ubuntu雲實例配備有cloud-init,則需要將其禁用。 為此,請創建以下文件:

sudo nano /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg

/etc/cloud/cloud.cfg.d/99-disable-network-config.cfg

network: {config: disabled}

要在網絡接口上分配靜態IP地址,請使用文本編輯器打開YAML配置文件:

sudo nano /etc/netplan/01-netcfg.yaml

/etc/netplan/01-netcfg.yaml

network:
  version: 2
  renderer: networkd
  ethernets:
    ens3:
      dhcp4: yes

在更改配置之前,讓我們簡短地解釋一下代碼。

每個Netplan Yaml文件均以 network 具有至少兩個必需元素的鍵。 第一個必需元素是網絡配置格式的版本,第二個是設備類型。 設備類型可以是 ethernetsbondsbridges, 要麼 vlans

上面的配置中還有一行顯示 renderer 類型。 開箱即用,如果您在服務器模式下安裝Ubuntu,則渲染器配置為使用 networkd 作為後端。

在設備類型下(ethernets),您可以指定一個或多個網絡接口。 在這個例子中,我們只有一個界面 ens3 配置為從DHCP服務器獲取IP尋址 dhcp4: yes

將靜態IP地址分配給 ens3 界面中,如下編輯文件:

  • 將DHCP設置為 dhcp4: no
  • 指定靜態IP地址。 下 addresses: 您可以添加一個或多個將分配給網絡接口的IPv4或IPv6 IP地址。
  • 指定網關。
  • nameservers,設置名稱服務器的IP地址。

/etc/netplan/01-netcfg.yaml

network:
  version: 2
  renderer: networkd
  ethernets:
    ens3:
      dhcp4: no
      addresses:
        - 192.168.121.221/24
      gateway4: 192.168.121.1
      nameservers:
          addresses: [8.8.8.8, 1.1.1.1]

編輯Yaml文件時,請確保遵循YAML代碼縮進標準。 如果語法不正確,則更改將不會應用。

完成後,通過運行以下命令保存文件並應用更改:

sudo netplan apply

通過鍵入以下內容來驗證更改:

ip addr show dev ens3
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 08:00:27:6c:13:63 brd ff:ff:ff:ff:ff:ff
    inet 192.168.121.221/24 brd 192.168.121.255 scope global dynamic ens3
       valid_lft 3575sec preferred_lft 3575sec
    inet6 fe80::5054:ff:feb0:f500/64 scope link 
       valid_lft forever preferred_lft forever

而已! 您已為Ubuntu服務器分配了靜態IP。

在Ubuntu桌面上配置靜態IP地址

在Ubuntu桌面計算機上設置靜態IP地址不需要任何技術知識。

在“活動”屏幕中,搜索“設置”,然後單擊圖標。 這將打開GNOME設置窗口。 根據要修改的接口,在“網絡”或“ Wi-Fi”選項卡上單擊。 要打開界面設置,請單擊界面名稱旁邊的齒輪圖標。

在“ IPV4”的“方法”選項卡中,選擇“手動”,然後輸入您的靜態IP地址,網絡掩碼和網關,完成後,單擊“應用”按鈕。

要驗證更改,請使用 Ctrl+Alt+T 鍵盤快捷鍵或單擊終端圖標並運行:

ip addr

輸出將顯示接口IP地址:

...
2: wlp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 50:5b:c2:d8:59:7d brd ff:ff:ff:ff:ff:ff
    inet 192.168.121.221/24 brd 192.168.31.255 scope global dynamic noprefixroute wlp1s0
       valid_lft 38963sec preferred_lft 38963sec
    inet6 fe80::45e3:7bc:a029:664/64 scope link noprefixroute 

結論#

我們已經向您展示了如何在Ubuntu 20.04上配置靜態IP地址。

如有任何疑問,請在下面發表評論。

網絡Ubuntu

Sidebar