我正在从事一个涉及 IOT 设备(现已弃用的 Intel Galileo)的项目。我正在考虑强化这些设备,我注意到该systemd-resolved服务正在侦听所有接口 ( 0.0.0.0)。
root@hostname:~# netstat -altnp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:5355 0.0.0.0:* LISTEN 240/systemd-resolve
Run Code Online (Sandbox Code Playgroud)
在阅读了 freedesktop.org 对这里服务的描述后,它指出,
systemd-resolved 是一个系统服务,它为本地应用程序提供网络名称解析。
我跑了一个测试,我跑了ping到google.com了哪里systemd-resolved正在运行。然后我禁用了该服务并发送了一个ping到
yahoo.com. 两个请求都没有丢包。
我的问题如下:
这项服务是做什么的?
如果它为本地应用程序提供名称解析,它为什么要监听0.0.0.0接口?
这是安全问题吗?
禁用此服务有哪些潜在影响?
提前感谢您提供任何信息/帮助。如果我没有遵守问题格式,第一次发帖,请见谅。请根据需要进行编辑。
小智 20
systemd-resolvedsystemd 需要。除非您要安装替代的 DNS 解析器,否则您应该保留它。
需要注意的是,它实际上是在侦听 UDP 数据包,127.0.0.53:53以便为您进行 DNS 解析:
# netstat -npa | grep systemd-resolve
tcp 0 0 0.0.0.0:5355 0.0.0.0:* LISTEN 205/systemd-resolve
tcp6 0 0 :::5355 :::* LISTEN 205/systemd-resolve
udp 0 0 127.0.0.53:53 0.0.0.0:* 205/systemd-resolve
udp 0 0 0.0.0.0:5355 0.0.0.0:* 205/systemd-resolve
udp6 0 0 :::5355 :::* 205/systemd-resolve
Run Code Online (Sandbox Code Playgroud)
端口5355套接字将实现链路本地多播名称解析 (LLMNR),这是一项仅在 LAN 中有用的功能。
要禁用它,请编辑/etc/systemd/resolved.conf并更改该行
#LLMNR=yes
Run Code Online (Sandbox Code Playgroud)
到
LLMNR=no
Run Code Online (Sandbox Code Playgroud)
然后重新启动服务service systemd-resolved restart并再次检查:
# netstat -npa | grep systemd-resolve
udp 0 0 127.0.0.53:53 0.0.0.0:* 404/systemd-resolve
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9552 次 |
| 最近记录: |