![如何在 Netplan 中禁用 LLMNR?](https://linux22.com/image/1157891/%E5%A6%82%E4%BD%95%E5%9C%A8%20Netplan%20%E4%B8%AD%E7%A6%81%E7%94%A8%20LLMNR%EF%BC%9F.png)
我发现如何在 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