在 Linux 系统中,端口 53 往往是与域名解析服务(DNS)相关的。本文将详细介绍一个与端口 53 相关的情景,以及如何使用命令行工具来解析和理解这一现象。

现象

用户可能会遇到类似以下的信息:
systemd-r 20245 systemd-resolve 13u IPv4 216305 0t0 UDP localhost:domain

systemd-r 20245 systemd-resolve 14u IPv4 216306 0t0 TCP localhost:domain (LISTEN)

这两行输出显示了一个名为 systemd-resolve 的进程监听本地的 DNS 端口,其中一个是通过 UDP 协议,另一个是通过 TCP 协议。

分析

UDP 连接

第一行的 UDP 连接解释如下:
  • 进程 systemd-resolve 的文件描述符(File Descriptor)为 13。
  • 这是一个 UDP 协议的连接。
  • 该连接是 IPv4 地址(IPv4 216305)。
  • 该连接位于 localhost 上的 DNS 端口。

TCP 监听

第二行的 TCP 监听解释如下:
  • 进程 systemd-resolve 的文件描述符为 14。
  • 这是一个 TCP 协议的监听(LISTEN)。
  • 该监听也是在 IPv4 地址上(IPv4 216306)。
  • 该监听位于 localhost 上的 DNS 端口。

服务解释

这些信息表明了系统中正在运行 DNS 解析服务。具体来说,systemd-resolve 进程通过 UDP 和 TCP 协议监听 localhost 的 DNS 端口。UDP 通常用于较简单的 DNS 查询,而 TCP 则用于处理较大的数据传输或复杂的查询。

解决方案

查看端口占用情况,看看 53 端口是不是被 systemd-resolved 占用了。
sudo netstat -nultp
如果 53 端口确定被 systemd-resolved 占用了,则可以根据下面给出的方法解决。
1、先停用 systemd-resolved 服务。
sudo systemctl stop systemd-resolved
2、编辑 /etc/systemd/resolved.conf 文件,按 “i” 键进入编辑模式。
sudo vi /etc/systemd/resolved.conf
3、换下面说明更改,然后按一下 “esc” 键,再输入 “:wq”(不要输入引号),回车保存即可。
[Resolve]
DNS
=
223.5
.
5.5#取消注释,增加dns
#FallbackDNS=
#Domains=
#LLMNR=no
#MulticastDNS=no
#DNSSEC=no
#DNSOverTLS=no
#Cache=no-negative
DNSStubListener
=
no#取消注释,把yes改为no
#ReadEtcHosts=yes
4、最后运行下面命令即可。
sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf

结论

端口 53 的占用通常是 DNS 服务的正常表现,负责解析域名为相应的 IP 地址。在 Linux 系统中,systemd-resolve 进程负责管理 DNS 解析任务。如果系统中有其他 DNS 服务(如 BIND 或 dnsmasq),它们也可能占用端口 53。
通过理解这些信息,用户可以更好地监控系统上的 DNS 活动,并在需要时进行适当的配置或调整。
好了,今天的小知识你学会了吗?
链接:https://www.cnblogs.com/lyxlucky/p/17988206
(版权归原作者所有,侵删)
继续阅读
阅读原文