我怎样才能禁用 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=no
,resolved.conf
那么systemd-resolved
您将获得:
Link 2 (ens3)
Current Scopes: DNS
LLMNR setting: yes
您可以看到范围从 变为DNS LLMNR/IPv4 LLMNR/IPv6
。DNS
因此它将仅使用 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
。