Netplan 配置错误:“无效的 YAML...未找到预期的密钥。”

Netplan 配置错误:“无效的 YAML...未找到预期的密钥。”

我正在尝试使用静态 IP 连接到互联网,但是当我输入sudo netplan apply命令时,控制台返回以下错误:

Invalid YAML at //etc/netplan/01-netcfg.yaml line 8 column 5: did not find expected key.

如何修复这个问题?我的内容01-netcfg.yaml如下:

network:
version: 2
renderer: networkd
ethernets:
enp0s3:
            dhcp4: no
            dhcp6: no
            addresses: [10.0.2.15/64]
            gateway4: 10.0.2.0
            nameservers:
            addresses: [8.8.8.8,8.8.4.4]

答案1

因此,关于您收到的具体错误,您没有掌握基本的 YAML 语法和缩进,这是netplan出现投诉的原因之一。YAML 是极其缩进导向,用于解释命令、配置参数等。您需要有适当的缩进才能解析 YAML 配置。令人惊讶的是,您根本没有这样做,而且破坏了 YAML 语法。这就是为什么netplan抱怨,因为您没有提供正确的 YAML。

但即使更重要的是比使 Netplan 工作的 YAML 语法更重要,你的网络配置出现了一些严重故障,无论如何你都需要修复这些问题。这些故障具体包括:

  • 10.0.2.15/64不是有效的 IPv4 CIDR 范围。对于 IPv4,可接受的 CIDR 范围介于/0(对于所有 IPv4) 和/32(对于单个地址) 之间。大多数网络都/24适用于 CIDR 范围(对于此 IP 范围,它将包含10.0.2.1 - 10.0.2.255可用的地址空间,尽管我假设.1是网关,是.255广播,但这可能在您的网络中有所不同,因此请仔细检查所有值!)。需要正确的 CIDR 范围,以便系统知道其网络掩码和可访问的 IP 空间是什么。
  • 10.0.2.0不是合适的网关地址。该.0地址不是 IP 子网划分中可用的地址,因为它通常仅由网络前缀持有。由于您的网络配置尝试执行/24但失败了,因此该网关可能应该是10.0.2.1- 但再次,请先与您的网络管理员仔细检查这些值。

因此,修复你的缩进修复网络以假设它是/24基于您指定的尝试 IP 和网关,您的 YAML 应该如下所示,并带有正确的缩进。与现有的 YAML 相比,您真的需要了解缩进的工作原理。

network:
  version: 2
  ethernets:
    enp0s3:
      dhcp4: no
      dhcp6: no
      addresses: [10.0.2.15/24]
      gateway4: 10.0.2.1
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]

答案2

这个对我有用:

网络:
    以太网:
        enp2s0:
            地址:
            - 192.168.0.2/24
            dhcp4: 假
            网关4:192.168.0.1
            名称服务器:
                地址:
                - 192.168.0.1
                - 8.8.8.8
                搜索:
                - 工作组
    版本:2

然后按照以下命令:

sudo netplan generate

sudo netplan apply

希望对你也同样适用。

答案3

我尝试使用类似上述和以下的指南来配置 netplan:

答案4

当我编辑该.yaml文件并执行时: $ netplan try 它失败了。

就我而言,我可以解决这个问题,留下原始文件的空间:这是在 Ubuntu Server 18.04.1 LST 上。编辑之前请备份原始文件。祝你好运。

在此处输入图片描述

相关内容