如何使用附加环回地址设置 netplan 但主要使用 NetworkManager?

如何使用附加环回地址设置 netplan 但主要使用 NetworkManager?

我最近安装了 Kubuntu 18.04,它使用 netplan 而不是旧的网络子系统。过去,我出于各种原因使用 设置了一些额外的环回地址/etc/network/interfaces,但这在 18.04 中不再起作用。对于我的工作开发环境,我还需要将 172.16.123.1 添加到环回接口。

我注意到当前的 netplan 配置文件只是将所有网络管理转移到 NetworkManager,但是据我所知,NetworkManager 没有能力管理环回设备或添加环回地址。

那么,使用 netplan 配置一些额外的环回地址但仍然主要使用 NetworkManager 进行接口配置的正确方法是什么?

更新 2021-12-10 在较新版本的 netplan 中,此答案中的文件格式已与接受的答案不同,Ubuntu 20.04 的后续修订版以及较新的 Ubuntu 版本中的默认文件位置也已不同。

该文件现在的/etc/netplan/01-netcfg.yml格式需要看起来像

network:
version: 2
renderer: networkd
ethernets:
  lo:
    match:
      name: lo
    addresses: [ 172.16.123.1/32 ]

Netplan 似乎对此文件的布局和格式非常挑剔,我已经关闭了一些虚拟机并尝试按照旧的方式进行设置。

答案1

我不确定这是否是“正确的方法”,但它确实如你所愿地发挥作用。

您可以像下面这样设置用于环回接口的渲染器,编辑文件/etc/netplan/01-network-manager-all.yaml(或您的 *.yaml 文件):

# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager
  ethernets:
    lo:
      renderer: networkd
      match:
        name: lo
      addresses:
        - 172.16.123.1/32

经过测试并在 Ubuntu 18.04 桌面上按预期运行。

希望这可以帮助。

答案2

您可以使用以下方式添加 IP 地址

lo:
   addresses: [192.168.1.1/24]

或者

lo:
    addresses:
    - 192.168.1.1/24

要查看分配给环回的所有 IP,请使用以下命令ip address

答案3

我发现在最新更新到 ubuntu 18.4.1 之后我必须使用以下语法:

lo:
  addresses: [IPADDRESS]

YAML 文件对空格和缩进非常挑剔。请注意,方括号是必需的。

相关内容