如何在Ubuntu 20.04上配置静态IP地址

如何在Ubuntu 20.04上配置静态IP地址

通常,在大多数网络配置中,IP地址是由路由器DHCP服务器动态分配的。在不同情况下,例如配置端口转发或运行媒体服务器,可能需要设置静态IP地址。本文介绍了如何在Ubuntu 20.04上设置静态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,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

network:

version: 2

renderer: networkd

ethernets:

ens3:

dhcp4: yes

在更改配置之前,让我们简要解释一下代码。

每个Netplan Yaml文件都以具有network至少两个必需元素的密钥开头。第一个必需元素是网络配置格式的版本,第二个是设备类型。该装置类型可以是ethernets,bonds,bridges,或vlans。

上面的配置还有一行显示renderer类型。开箱即用,如果您在服务器模式下安装Ubuntu,则渲染器配置为networkd用作后端。

在设备的类型(ethernets)下,您可以指定一个或多个网络接口。在此示例中,我们只有一个接口ens3配置为从DHCP服务器获取IP寻址dhcp4: yes。

要为ens3接口分配静态IP地址,请按以下步骤编辑文件:

将DHCP设置为dhcp4: no。

指定静态IP地址。在下面addresses:可以添加一个或多个将分配给网络接口的IPv4或IPv6 IP地址。

指定网关。

在下nameservers,设置名称服务器的IP地址。

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,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。

相关文章

在Docker中,挂载目录的权限问题通常可以通过以下方法解决:...
在Ubuntu命令行中设置中文可以通过以下几种方式实现: 安装...
要查看CentOS中的重启记录,可以使用以下命令: 使用last命...
要判断哪个串口在工作,可以通过以下方法: 使用命令行工具...
要查看Linux系统中数据盘的挂载点,可以按照以下步骤进行: ...
要更改Ubuntu系统的启动项顺序,可以按照以下步骤操作: 打...