在Ubuntu服务器上配置静态IP地址

较新版本的 Ubuntu 使用以en[letter][number]开头的“可预测的网络接口名称”。
第一步,是确定要配置的以太网接口的名称。您可以使用 ip link 命令或者 ip a,如下所示:
ip a
该命令将打印所有可用网络接口的列表。在这种情况下,接口的名称为 eno1:
1: lo:mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eno1:mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 48:0f:cf:67:27:f0 brd ff:ff:ff:ff:ff:ff inet 192.168.173.1/24 brd 192.168.173.255 scope global dynamic eno1 valid_lft 72545sec preferred_lft 72545sec inet 192.168.173.2/24 brd 192.168.173.255 scope global secondary eno1 valid_lft forever preferred_lft forever inet6 fe80::4a0f:cfff:fe67:27f0/64 scope link valid_lft forever preferred_lft forever
Netplan配置文件存储在/etc/netplan目录中,并具有扩展名.yaml。您可能会在此目录中找到一个或两个YAML文件。该文件可能因安装程序而异。通常,文件名为01-netcfg.yaml,50-cloud-init.yaml或NN_interfaceName.yaml,但在您的系统中可能有所不同。但是,如果没有的话,你就需要自己新建一个 yaml 文件,取任何你喜欢的名字都行,在此目录下的所有 .yaml 文件都会生效。
在对默认的 yaml 文件进行更新配置之前,建议先对其进行备份:
sudo cp 01-netcfg.yaml 01-netcfg.yaml.bak
然后,我们再打开该 yaml 文件进行配置,首先看一下原始的 yaml 文件内容:
network: version: 2 renderer: networkd ethernets: eno1: dhcp4: yes
在更改配置之前,我们先简要说明一下代码。
每个Netplan Yaml文件均以network键开头,该键至少具有两个必需的元素。第一个必需的元素是网络配置格式的版本,第二个是设备类型。设备类型的值可以是ethernets,bonds,bridges和vlans。
上面的配置还包括renderer类型。开箱即用,如果您在服务器模式下安装Ubuntu,则渲染器配置为使用networkd作为后端。
根据设备的类型(在本例中为ethernets),我们可以指定一个或多个网络接口。在此示例中,我们只有一个接口eno1,该接口配置为从DHCP服务器dhcp4: yes获取IP寻址。
要为eno1界面分配静态IP地址,请按以下步骤编辑文件:
将DHCP设置为否dhcp4: no指定静态IP地址192.168.173.1/24。在addresses:下,您可以添加一个或多个将分配给网络接口的IPv4或IPv6 IP地址。指定网关gateway4: 192.168.173.1在nameservers下,指定名称服务器addresses: [8.8.8.8, 1.1.1.1]
最终的修改内容为:
network: version: 2 renderer: networkd ethernets: eno1: dhcp4: no addresses: [192.168.173.1/24] gateway4: 192.168.173.1 nameservers: addresses: [8.8.8.8, 1.1.1.1]
在编辑Yaml文件时,请确保遵循YAML代码缩进标准,因为如果配置中存在语法错误,它可能无法正常工作。
特别是要注意,使用 ubuntu 系统自带的 vim 对其进行编辑,默认的 tab 表示 4 个空格,而yaml 文件要求的 2 个空格。同时要注意每一个冒号和其后面的内容之间需要留一个空格出来。
在这里,我比较建议,在本地使用 vscode 对其进行编辑后重新上传到服务器对需要修改的文件进行覆盖,而不是使用 vim 直接进行修改,除非你 vim 用的很习惯。
完成后,保存并关闭文件,然后通过以下方法应用更改:
sudo netplan apply
通过键入以下内容验证更改:
ip addr show dev eno1
就是这样!您已为Ubuntu服务器分配了静态IP。