如何在Ubuntu20.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,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
network:
version: 2
renderer: networkd
ethernets:
ens3:
dhcp4: yes
在更改配置之前,让我们简要解释⼀下代码。
每个Netplan Yaml⽂件都以具有network⾄少两个必需元素的密钥开头。第⼀个必需元素是⽹络配置格式的版本,第⼆个是设备类型。该装置类型可以是ethernets,bonds,bridges,或vlans。
上⾯的配置还有⼀⾏显⽰renderer类型。开箱即⽤,如果您在服务器模式下安装Ubuntu,则渲染器配置为networkd⽤作后端。
在设备的类型(ethernets)下,您可以指定⼀个或多个⽹络接⼝。在此⽰例中,我们只有⼀个接⼝ens3
ubuntu网络配置配置为从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,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地址。