有一个通用的 LLMNR 设置和一个每个链接的 LLMNR 设置

有一个通用的 LLMNR 设置和一个每个链接的 LLMNR 设置

我怎样才能禁用 LLMNR systemd-resolved

我尝试添加LLMNR=no/etc/systemd/resolved.conf

但当我输入时systemd-resolve --status它仍然显示

LLMNR 设置:是

我尝试过重启电脑并重新启动systemd-resolved.service

答案1

有一个通用的 LLMNR 设置和一个每个链接的 LLMNR 设置

中有 LLMNR 设置systemd-resolved,并且还有每个链接的 LLMNR 设置systemd-networkd

您在输出中看到的设置systemd-resolve --status实际上是来自的设置systemd-networkd。不过,如果您没有运行systemd-networkd,它仍会显示LLMNR setting: yes

默认设置将显示如下内容:

Link 2 (ens3)
      Current Scopes: DNS LLMNR/IPv4 LLMNR/IPv6
       LLMNR setting: yes

这也意味着systemd-resolved将在这些接口上的 UDP 端口 5355(LLMNR 端口)接受请求。

更改 solved.conf 文件将更改“当前范围:”行

如果您通过设置并重新启动来禁用它LLMNR=noresolved.conf那么systemd-resolved您将获得:

Link 2 (ens3)
      Current Scopes: DNS
       LLMNR setting: yes

您可以看到范围从 变为DNS LLMNR/IPv4 LLMNR/IPv6DNS因此它将仅使用 DNS,并且不再接受 UDP 端口 5355 上的请求。

更改 *.network 文件将更改“LLMNR 设置:”行

如果您还使用,您可以通过在该接口的文件部分systemd-networkd进行设置,进一步禁用该接口上的 LLMNR 。LLMNR=no[Network]*.network

例如:

# /etc/systemd/network/90-ens3-nollmnr.network
[Match]
Name=ens3

[Network]
LLMNR=no

设置并重新启动后systemd-networkd,的输出systemd-resolve --status将包括:

Link 2 (ens3)
      Current Scopes: DNS
       LLMNR setting: no

概括

简而言之,LLMNR setting: yes这意味着它不是在该接口上明确禁用。并且它只能在由 管理的接口上禁用systemd-networkd。如果您通过 solved 本身禁用它,它基本上会有相同的效果,但它只会显示在当前范围列表中,而不是在 下LLMNR setting

笔记:一些指向代码的指针表明这LLMNR=yes是默认设置这里这里

相关内容