不到断气不罢休 发表于 2024-4-17 01:53:30

linux 53端口占用的原因

解析 Linux 下 53 端口占用的现象

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

用户可能会遇到类似以下的信息:
systemd-r 20245 systemd-resolve   13uIPv4 216305      0t0UDP localhost:domain
systemd-r 20245 systemd-resolve   14uIPv4 216306      0t0TCP 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”(不要输入引号),回车保存即可。

DNS=223.5.5.5         #取消注释,增加dns
#FallbackDNS=
#Domains=
#LLMNR=no
#MulticastDNS=no
#DNSSEC=no
#DNSOverTLS=no
#Cache=no-negative
DNSStubListener=no    #取消注释,把yes改为no
#ReadEtcHosts=yes4、最后运行下面命令即可。
sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
结论

端口 53 的占用通常是 DNS 服务的正常表现,负责解析域名为相应的 IP 地址。在 Linux 系统中,systemd-resolve 进程负责管理 DNS 解析任务。如果系统中有其他 DNS 服务(如 BIND 或 dnsmasq),它们也可能占用端口 53。
通过理解这些信息,用户可以更好地监控系统上的 DNS 活动,并在需要时进行适当的配置或调整。
希望这篇博文帮助你更深入地了解 Linux 下端口 53 的占用情况。如果有其他相关问题,欢迎提出。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: linux 53端口占用的原因