web-dev-qa-db-ja.com

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
user9507446

そのため、発生している特定のエラーに関して、基本的なYAML構文とインデントに失敗しました。これが、netplanが不満を述べている理由の1つです。 YAMLは非常にインデント指向であり、コマンドや構成引数などを解釈する方法が異なります。YAML構成を解析するには、適切なインデントが必要です。驚いたことに、あなたはそれをまったく行っておらず、YAML構文を壊しています。適切なYAMLを提供していないため、netplanが文句を言うのはそのためです。

しかし、Netplanを機能させるYAML構文よりももっと重要なことでも重大なエラーが発生しますあなたのネットワーク構成で、そしてあなたは本当に関係なくこれらを修正する必要があります。これらの障害は、具体的には次のとおりです。

  • 10.0.2.15/64は有効なIPv4 CIDR範囲ではありません。受け入れ可能なCIDR範囲は、IPv4の/0(すべてのIPv4の場合)と/32(単一のアドレスの場合)の間です。ほとんどのネットワークはCIDR範囲の/24です(このIP範囲では、10.0.2.1 - 10.0.2.255は使用可能なアドレス空間として含まれますが、.1はゲートウェイであり、.255はブロードキャストですが、ネットワークによって異なる場合があるため、すべての値を再確認してください!)。システムがネットマスクと到達可能なIPスペースが何であるかをシステムが認識できるように、適切なCIDR範囲が必要です。
  • 10.0.2.0は適切なゲートウェイアドレスではありません。 .0アドレスは、通常はネットワークプレフィックスだけで保持されるため、IPサブネット化では使用できません。また、netowrk設定は/24を実行しようとしますが、恐ろしく失敗するため、このゲートウェイはおそらく10.0.2.1であるはずです。

したがって、インデントを修正およびネットワークを修正して、指定したIPとゲートウェイに基づいて/24であると想定すると、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]
3
Thomas Ward

これは私のために働きました:

ネットワーク:
イーサネット:
 enp2s0:
アドレス:
-192.168.0.2/24
 dhcp4:false 
 gateway4:192.168.0.1 
ネームサーバー:
アドレス:
-192.168.0.1 
-8.8.8.8 
検索:
-ワークグループ
バージョン:2 

次に、次のコマンドを実行しました:

Sudo netplan generate

Sudo netplan apply

それもあなたのためになることを願っています。

1
Mithra

上記と次のようなガイドを使用して、ネットプランを構成しようとしました。

0
IT Gremlin