Linux systemd-resolved 服务简介

2025-01-20  本文已影响0人  极简架构

1.systemd-resolved简介

systemd-resolved 是一个系统服务,属于 systemd 架构的一部分,主要用于提供域名解析服务。它为应用程序提供了一个简单的接口,可以通过 DNS(Domain Name System)解析主机名,同时支持 DNSSEC(Domain Name System Security Extensions)和 mDNS(Multicast DNS)等功能。

2.systemd-resolved主要功能特性

1.DNS 解析

systemd-resolved 可以管理多个 DNS 服务器,并根据优先级进行查询。
支持 DNS-over-TLS (DoT) 和 DNS-over-HTTPS (DoH),提高安全性。
支持 DNSSEC 验证,确保 DNS 响应的完整性和真实性。

2.LLMNR 和 mDNS

支持 LLMNR(Link-Local Multicast Name Resolution),在没有 DNS 服务器的情况下,可以通过局域网内的广播来解析主机名。
支持 mDNS(Multicast DNS),用于零配置网络中主机名和服务发现。

3.集中式配置

systemd-resolved 的配置文件位于 /etc/systemd/resolved.conf,用户可以在此文件中进行一些全局设置,比如 DNS 服务器的地址、 DNS 解析策略等。

[Resolve]
DNS=8.8.8.8 8.8.4.4
FallbackDNS=1.1.1.1 1.0.0.1

4.缓存

缓存 DNS 查询结果,提高解析速度并减少对外部 DNS 服务器的依赖。

3.fix方案

3.systemd-resolved使用

      # 查看 systemd-resolved 服务状态
      systemctl status systemd-resolved 
      # 启动服务后,会在宿主机创建 /run/systemc/resolve/resolv.conf 文件
      systemctl start systemd-resolved 
      # 设置 systemd-resolved 开机自启动
      systemctl enable systemd-resolved 
      systemctl is-enabled systemd-resolved 
      # 查看服务日志
      journalctl -u systemd-resolved.service      
      # 查看当前DNS 配置和解析状态
      resolvectl status
      # 使用 systemd-resolve 进行 DNS 查询:
     systemd-resolve example.com
      # 修改 DNS 配置后重启服务
      vi /etc/systemd/resolved.conf
      systemctl restart systemd-resolved
      resolvectl query example.com # 测试 DNS 解析

上一篇 下一篇

猜你喜欢

热点阅读