我正在开发一个涉及IOT设备的项目(现已弃用的英特尔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
阅读freedesktop.org对服务here的描述后,
它说,
systemd-resolved is a system service that provides network name resolution to local applications.
我运行了一个测试,在那里我运行ping到google.com,其中systemd-resolved正在运行.然后我禁用了该服务并发送了ping
yahoo.com.两个请求都没有数据包丢失.
我的问题如下:
这项服务在做什么?
如果它为本地应用程序提供名称解析,为什么它会监听0.0.0.0接口?
这是安全问题吗?
禁用此服务会产生哪些潜在影响?
提前感谢您提供任何信息/帮助.
如果我没有遵守问题格式,请第一时间发帖道歉.
请根据需要进行编辑.
解决方法
systemd需要systemd-resolved.除非您正在安装备用DNS解析器,否则应该保留它.
重要的是要注意它实际上是在127.0.0.53:53上监听UDP数据包来为你做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
端口5355套接字用于实现链路本地多播名称解析(LLMNR),这是一种仅在LAN中有用的功能.
要禁用它,请编辑/etc/systemd/resolved.conf并更改该行
#LLMNR=yes
至
LLMNR=no
然后使用service systemd-resolved restart重新启动服务并再次检查:
# netstat -npa | grep systemd-resolve udp 0 0 127.0.0.53:53 0.0.0.0:* 404/systemd-resolve
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。