如何在Ubuntu 20.04中设置静态IP地址

本文介绍了如何在Ubuntu 20.04中设置静态IP地址。

通常,在大多数网络配置中,IP地址是由路由器的DHCP服务器动态分配的。 在各种情况下,例如设置端口转发或启动媒体服务器时,可能需要设置静态IP地址。

使用DHCP配置静态IP地址

向本地网络上的设备分配静态IP地址的最简单,最推荐的方法是在路由器上设置静态DHCP。 静态DHCP或DHCP保留是大多数路由器的功能,每当设备向DHCP服务器请求地址时,该功能都会导致DHCP服务器自动将相同的IP地址分配给特定的网络设备。 它通过为设备的唯一MAC地址分配静态IP地址来工作。

设置DHCP保留的步骤因路由器而异。 有关更多信息,请参考供应商文档。

网络计划

Ubuntu 17.10及更高版本使用Netplan作为默认网络管理工具。 Ubuntu的早期版本使用ifconfig及其/ etc / network / interfaces配置文件来配置网络。

Netplan配置文件以YAML语法编写,扩展名为.yaml。 要使用Netplan配置网络接口,您需要为该接口创建YAML描述,并且Netplan将为所选渲染器生成必要的配置文件。

Netplan支持两个渲染器:NetworkManager和Systemd-networked。 NetworkManager主要用于台式机,而Systemd-networkd用于不带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.yaml,50-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文件均以网络密钥开头,该网络密钥至少包含两个必需的元素。 第一个必需元素是网络配置格式的版本,第二个是设备类型。 设备类型可以是以太网,绑定,网桥或VLAN。

上面的配置中还有一行显示渲染器类型。 默认情况下,如果以服务器模式安装Ubuntu,则渲染器配置为使用networkd作为后端。

在设备类型(以太网)下,您可以指定一个或多个网络接口。 在此示例中,我们仅配置了一个ens3接口以从DHCP服务器dhcp4接收IP地址:是。

要将静态IP地址分配给ens3接口,请按如下所示编辑文件:

  • 将DHCP设置为dhcp4:否。
  • 输入一个静态IP地址。 在地址:部分中,您可以添加一个或多个要分配给网络接口的IPv4或IPv6 IP地址。
  • 指定网关。
  • 在“名称服务器”部分中,设置名称服务器的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地址。

如有任何疑问,请在下面发表评论。

Sidebar