如何在Ubuntu Linux上分配静态IP地址

时间:2020-01-09 10:45:28  来源:igfitidea点击:

如何在基于Ubuntu的Linux发行版上设置静态IP地址。

方法1:使用命令行在Ubuntu中分配静态IP

步骤1:获取网络接口的名称和默认网关

我们需要知道的第一件事是必须为其设置静态IP的网络接口的名称。

我们可以使用ip命令或者网络管理器CLI,如下所示:

nmcli d

就我而言,它表明我的以太网(有线)网络称为enp0s25:

Ubuntu> nmcli d
DEVICE   TYPE      STATE      CONNECTION
enp0s25  ethernet  unmanaged  -
lo       loopback  unmanaged  -

接下来,我们应该使用Linux命令ip route记录默认网关IP:

ip route
default via 192.168.31.1 dev enp0s25 proto dhcp metric 600 
169.254.0.0/16 dev enp0s25 scope link metric 1000 
192.168.31.0/24 dev enp0s25 proto kernel scope link src 192.168.31.36 metric 600

我们可以猜到,默认网关对我来说是192.168.31.1.

步骤2:找到Netplan配置

Ubuntu 18.04 LTS和更高版本使用Netplan来管理网络配置。 Netplan配置由/ etc / netplan目录中的.yaml文件驱动。

默认情况下,我们应该看到一个名为.yaml的文件,名称类似于01-network-manager-all.yaml,50-cloud-init.yaml,01-netcfg.yaml。

无论名称如何,其内容应如下所示:

# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager

我们需要编辑此文件以使用静态IP。

步骤3:编辑用于分配静态IP的Netplan配置

仅出于此目的,请备份yaml文件。

从此开始,请确保在命令中使用正确的yaml文件名。

使用带有sudo的nano编辑器打开yaml文件,如下所示:

sudo nano /etc/netplan/01-netcfg.yaml

请注意,yaml文件使用空格进行缩进。如果我们使用制表符或者缩进不正确,更改将不会保存。

我们应该编辑文件并通过提供IP地址,网关,接口名称等的实际详细信息使其看起来像这样。

network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s25:
      dhcp4: no
      addresses:
        - 192.168.31.16/24
      gateway4: 192.168.31.1
      nameservers:
          addresses: [8.8.8.8, 1.1.1.1]

在上面的文件中,我将静态IP设置为192.168.31.16.

保存文件并使用以下命令应用更改:

sudo netplan apply

我们可以使用" ip a"命令在终端中显示IP地址来进行验证。

还原更改并返回到动态IP

如果我们不想再使用静态IP地址,则可以轻松还原。

如果我们已经备份了原始的yaml文件,则可以删除新的yaml文件并使用备份的文件。

否则,我们可以再次更改yaml文件并使它看起来像这样:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s25:
      dhcp4: yes