Configure Ubuntu Server 18.04 to use a static IP address

Configure Ubuntu Server 18.04 to use a static IP address

Netplan 是 Ubuntu 17.10 中引入的一种新的命令行网络配置实用程序,用于在 Ubuntu 系统中轻松管理和配置网络设置。 它允许您使用 YAML 格式的描述文件来抽像化定义网络接口的相关信息。

Netplan 可以使用 NetworkManager 或 Systemd-networkd 的网络守护程序来做为内核的接口。Netplan 的默认描述文件在 /etc/netplan/*.yaml 里,Netplan 描述文件采用了 YAML 语法。

在 Ubuntu 18.04 中如果再通过原来的 ifupdown 工具包继续在 /etc/network/interfaces 文件里配置管理网络接口是无效的。

本文我们就来讲讲如何使用 Netplan 在 Ubuntu 18.04 中为网络接口配置静态 IP 地址、动态 IP 地址以及 DNS。

Netplan 工作原理

Netplan 官方网址:https://netplan.io/

Netplan 根据描述文件中定义的内容自动生成其对应的后端网络守护程序所需要的配置信息,后端网络守护程序再根据其配置信息通过 Linux 内核管理对应的网络设备。

使用 Networkd 配置网络

Systemd-networkd 是一个管理网络设备的系统守护程序, 它能检测并配置网络设备的状态和创建虚拟网络设备。

在进行配置前,我们先来看几个常见配置项的含义。

  • enp0s3 指定需配置网络接口的名称。
  • dhcp4 是否打开 IPv4 的 dhcp。
  • dhcp6 是否打开 IPv6 的 dhcp。
  • addresses 定义网络接口的静态 IP 地址。
  • gateway4 指定默认网关的 IPv4 地址。
  • nameservers 指定域名服务器的 IP 地址。

介绍

将在/etc/netplan用于配置网络文件夹中放置一个文件您可能会遇到两种不同的文件名,具体取决于您使用的安装媒体。这些是:

Ubuntu Server 18.04服务器ISO

/etc/netplan/01-netcfg.yaml

Ubuntu Server 18.04云映像

/etc/netplan/50-cloud-init.yaml

如您在上面的名称中所见,云映像用于cloud-init配置网络,因此我们不能仅编辑此文件,因为更改可能会被覆盖。我们必须通过禁用网络配置cloud-init

如何通过cloud-init禁用网络配置

创建一个新文件,名为:

sudo vim /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg

将以下内容添加到文件中:

network: {config: disabled}

将netplan配置文件重命名为与服务器ISO中的文件相同的名称。

sudo mv /etc/netplan/50-cloud-init.yaml /etc/netplan/01-netcfg.yaml

如何在Ubuntu Server 18.04上将IP地址从DHCP更改为静态

打开netplan配置文件:

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

您应该看到一个类似于以下内容的文件:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      dhcp4: true

这是ethernets我们要更改的文件部分,位于您的以太网适配器的名称下方。在我的系统上是enp0s3首先,我们要更改dhcp4为false,然后在此下面添加静态IP配置。下面是一个示例:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      dhcp4: false
      addresses: [192.168.1.11/24]
      gateway4: 192.168.1.1
      nameservers: 
        addresses: [1.1.1.1,8.8.8.8]

现在,使用以下命令应用配置:

sudo netplan apply

 

============= End

 

posted @ 2021-01-10 17:30  lsgxeva  阅读(262)  评论(0编辑  收藏  举报