ubuntu#004#Ubuntu设置网卡静态IP

在做分布式系统实验时,一般会有多个master和node节点,在实验期间,我们希望这些机器的IP可以保持固定。那么就需要我们将Ubuntu的IP地址分配方式由DHCP改为静态IP。本文记录设置网卡静态IP的方法。

原始网卡IP

我们先看下使用DHCP分配IP以及网关情况。如下图所示:

我们知道Ubuntu采用netplan和systemd-networkd来管理网卡,我们也看下它们的配置信息:

设置网卡静态IP

当前机器ens33的IP地址为192.168.0.43,它是由DHCP动态分配的。为了演示,本文我们将ens33的IP地址设置为192.168.0.200。

首先,编辑 /etc/netplan/00-installer-config.yaml ,修改其内容:

1
2
3
4
5
6
7
8
9
10
11
network:
ethernets:
ens33:
addresses: [192.168.0.200/24]
dhcp4: false
nameservers:
addresses: [192.168.0.1]
routes:
- to: default
via: 192.168.0.1
version: 2

保存之后,内容如下图所示:

然后,我们使用netplan生成命令,根据netplan的配置文件生成sysmted-networkd的配置文件。使用如下命令:

1
$ sudo netplan generate

执行该命令之后,我们看下systemd-networkd的配置文件。如下图所示:

由上图可见,我们执行配置文件生成命令之后,重新生成了systemd-networkd的配置文件,但网卡ens33当前的IP地址认为192.168.0.43,新配置文件还没有生效。接下来我们就使之生效。

最后,我们使用如下命令,使我们的设置生效。

1
$ sudo netplan apply

执行命令之后,我们再看下ens33的IP,发现网卡的IP已修改为静态地址192.168.0.200。随后,我们重启服务器,发现ens33一直为该静态IP。