我最近安装了 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 文件对空格和缩进非常挑剔。请注意,方括号是必需的。