0

我正在尝试在 Linux 中配置 IPv6 地址,但我想如何将值添加到 netplan 的 YAML 文件中,这是文件:

network:
  version: 2
  renderer: networkd
  ethernets:
    ens3:
      dhcp4: no
      addresses: [155.128.134.198/23,'2002:18f0:b009:f84:5200:03ff:fdf7:d0c2/64']
      gateway4: 155.128.134.198
      nameservers:
        addresses: [108.61.10.10]
      routes:
      - to: 169.254.0.0/16
        via: 155.138.148.1
        metric: 100

我想在 key 处添加 IPv6 地址addresses,但保留那些存在的地址。是否有可能以yq任何其他方式完成或有点简单,所以我可以从中执行 bash 脚本?我还没有找到任何工具,它是 netplan 能够轻松添加范围内地址的特定工具。任何帮助将不胜感激。

4

1 回答 1

0

要从 shell 脚本追加,最新版本的yq似乎是可能的。

我可以按如下方式附加到它:

$ yq e '.network.ethernets.ens3.addresses += "127.0.0.1/32"' myyaml.yml 
network:
  version: 2
  renderer: networkd
  ethernets:
    ens3:
      dhcp4: no
      addresses: [155.128.134.198/23, '2002:18f0:b009:f84:5200:03ff:fdf7:d0c2/64', 127.0.0.1/32]
      gateway4: 155.128.134.198
      nameservers:
        addresses: [108.61.10.10]
      routes:
        - to: 169.254.0.0/16
          via: 155.138.148.1
          metric: 100

请注意,这不会更新实际文件,您可以将该输出通过管道传输到新文件或使用-i标志来更新它。

于 2021-01-09T13:52:53.397 回答