本文介绍如何在 Ubuntu 20.04 上设置静态 IP 地址。
通常,在大多数网络配置中,IP 地址由路由器 DHCP 服务器动态分配。在不同情况下可能需要设置静态 IP 地址,例如配置端口转发或运行媒体服务器
.
使用 DHCP 配置静态 IP 地址#
为 LAN 上的设备分配静态 IP 地址的最简单且推荐的方法是在路由器上配置静态 DHCP。静态 DHCP 或 DHCP 保留是大多数路由器上的一项功能,每次设备向 DHCP 服务器请求地址时,该功能使 DHCP 服务器自动将相同的 IP 地址分配给特定网络设备。这是通过将静态 IP 分配给设备的唯一 MAC 地址来实现的。
配置 DHCP 保留的步骤因路由器而异。有关更多信息,请参阅供应商的文档。
Netplan #
Ubuntu 17.10及更高版本使用Netplan 作为默认的网络管理工具。以前的Ubuntu 版本 正在使用ifconfig 及其配置文件/etc/network/interfaces
配置网络。
Netplan 配置文件是用 YAML 语法编写的.yaml
文件扩展名。要使用 Netplan 配置网络接口,您需要创建一个YAML 界面的描述,Netplan 将为所选渲染器工具生成所需的配置文件。
Netplan 支持两种渲染器:NetworkManager 和 Systemd-networkd。 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
, or 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
至少具有两个必需元素的键。第一个必需元素是网络配置格式的版本,第二个元素是设备类型。设备类型可以是ethernets
, bonds
, bridges
, or vlans
.
上面的配置还有一行显示renderer
类型。开箱即用,如果您在服务器模式下安装了 Ubuntu,渲染器将配置为使用networkd
作为后端。
在设备类型下(ethernets
),您可以指定一个或多个网络接口。在这个例子中,我们只有一个接口ens3
配置为从 DHCP 服务器获取 IP 寻址dhcp4: yes
.
分配静态 IP 地址ens3
界面,编辑文件如下:
将 DHCP 设置为dhcp4: no
.
指定静态 IP 地址。在下面addresses:
您可以添加一个或多个将分配给网络接口的 IPv4 或 IPv6 IP 地址。
指定网关。
Under 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 地址。
如果您有任何疑问,请在下面留言。