本文介绍在Ubuntu 20.04系统上设置静态IP地址,可用在Ubuntu Desktop 20.04和Ubuntu Server 20.04版本上。通常,在大多数网络配置中,IP地址是由路由器DHCP服务器动态分配的。在不同情况下,例如配置端口转发或运行媒体服务器,可能需要设置静态IP地址。
使用DHCP配置静态IP地址
向LAN上的设备分配静态IP地址的最简单且建议的方法是在路由器上配置静态DHCP。静态DHCP或DHCP保留功能是大多数路由器上都可以使用的功能,每当设备向DHCP服务器请求地址时,它就会使DHCP服务器自动为特定的网络设备分配相同的IP地址,通过将静态IP分配给设备的唯一MAC地址来起作用。
配置DHCP保留的步骤因路由器而异。有关更多信息,请查阅供应商的文档。
Netplan的说明
Ubuntu 17.10和更高Ubuntu版本使用Netplan作为默认网络管理工具,以前的Ubuntu版本使用ifconfig及其配置文件/etc/network/interfaces来配置网络。
Netplan配置文件以YAML语法编写,扩展名为.yaml。要使用Netplan配置网络接口,您需要为该接口创建YAML描述,然后Netplan将为所选的渲染器工具生成所需的配置文件。
Netplan支持两个渲染器:NetworkManager和Systemd-networked。NetworkManager通常在台式机上使用,而Systemd网络在没有GUI的服务器上使用。
在Ubuntu 20.04桌面上配置静态IP地址
在Ubuntu 20.04桌面计算机上设置静态IP地址不需要任何技术知识。
在活动屏幕中,搜索“设置(settings)”,然后单击图标,这将打开GNOME设置窗口。根据要修改的接口,在网络或Wi-Fi选项卡上单击。要打开界面设置,请单击界面名称旁边的齿轮图标。
在“IPV4”选项卡中,选择“手动(Manual)”,然后输入您的静态IP地址、网络掩码和网关。完成后,单击“应用(Apply)”按钮:
要验证更改,请使用Ctrl+Alt+T键盘快捷键或单击终端图标打开终端,然后运行:
ip addr
输出将显示接口IP地址:
2: wlp1s0: 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 20.04服务器上配置静态IP地址
在Ubuntu 20.04上,系统使用“可预测的网络接口名称(predictable network interface names)”标识网络接口。
设置静态IP地址的第一步是识别要配置的以太网接口的名称。为此,请使用ip link命令,如下所示:
ip link
该命令将打印所有可用网络接口的列表。在此示例中,接口的名称为ens3:
1: lo: 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: 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 20.04系统中可能有所不同。
如果您的Ubuntu云实例配置有cloud-init,则需要将其禁用。为此,请创建以下文件:
sudo nano /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文件均以具有至少两个必需元素的网络密钥开头。第一个必需元素是网络配置格式的版本,第二个是设备类型。设备类型可以是ethernets、bonds、bridges或vlans。
上面的配置还有一行显示渲染器类型的行。开箱即用,如果您在服务器模式下安装Ubuntu 20.04,则渲染器配置为使用networkd作为后端。
在设备的类型(ethernets)下,您可以指定一个或多个网络接口。在此示例中,我们只有一个接口ens3,该接口被配置为从DHCP服务器dhcp4: yes获取IP寻址。
要将静态IP地址分配给ens3接口,请按如下所示编辑文件:
1]、将DHCP设置为dhcp4: no。
2]、指定静态IP地址。在addresses:您可以添加一个或多个将分配给网络接口的IPv4或IPv6 IP地址。
3]、指定网关。
4]、在名称服务器下,设置名称服务器的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: 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 20.04服务器分配了静态IP。
相关主题