如何在 Netplan 中禁用 LLMNR?

如何在 Netplan 中禁用 LLMNR?

我发现如何在 systemd-resolved 中禁用 LLMNR?有助于演示如何在 systemd-networkd 中禁用 LLMNR。但是,ubuntu 18.04 使用 netplan 来配置网络,而不是 systemd-networkd(由其管理网络)。因此此解决方案不起作用。

netplan 的工作原理是直接/run/systemd/network/*.network使用文件中的键来操作文件/etc/netplan/*.yaml(请参阅 netplan.io 网站上的文档)。根据 netplan,您可以在 netplan 中的 yaml 文件中设置相关键,以像使用 systemd-networkd 一样的方式配置主机(通过/etc/systemd/network/)。但我没有看到用于控制每个接口的 LLMNR 设置的键。

我如何继续使用 netplan 配置我的网络(ala systemd-networkd),并在 netplan 生成的运行文件中使用该值来正确控制此设置?

无效的方法:

  • 设置LLMNR=no/etc/systemd/resolved.conf(这个是全局设置,运行systemd-resolve --status仍然显示LLMNR setting: yes
  • 在 netplan 之后管理/var/run/systemd/network/*.network文件(它们是动态创建的,因此我的更改会在重启、服务重启等时被消除)

答案1

Ryan Harper 在这里提出了一个解决方案:

https://bugs.launchpad.net/netplan/+bug/1777523

您可以创建一个 .network 文件,它将在任何接口上禁用 LLMNR,如下所示。

/etc/systemd/network/10-disable-llmnr.network

[Match]
Name=*

[Network]
LLMNR=no

这将适用于任何网络接口,您可以修改该[Match]部分以选择您选择的接口。systemd-resolve --status输出将显示 LLMNR 设置也应用于接口。

然而,在我自己的测试中,这对于已经使用该部分的静态地址不起作用[Match]

答案2

要禁用 LLMNR,请将以下内容添加到/etc/systemd/resolved.conf

[Resolve]
LLMNR=false

相关内容