30
10月
2023
11:11

配置系统解析的缓存 DNS 服务器

30 10月 2023 11:11

为了加速 DNS 名称解析,使用本地缓存服务器。 差异(加速)为每个缓存数据请求 50-150 毫秒。如何启用该服务 systemd-resolved 在 Linix Mint 或 Ubuntu 中?

  1. 在 Ubuntu/Linux Mint 中安装 SystemD 的 DNS 解析器:
sudo apt install libnss-resolve
  1. 设置 ResolveD 服务
sudo nano /etc/systemd/resolved.conf

删除行旁边的注释
<前><代码>[解决]
DNS=192.168.1.1
FallbackDNS=77.88.8.1

其中 192.168.1.1 - 替换为本地网络上主路由器的 IP 地址,
您可以指定任何而不是 77.88.8.1 公共 DNS 服务器

  1. 启动并启用 ResolvedD 服务进行 DNS 解析
sudo systemctl 启动 systemd-resolved
sudo systemctl 启用 systemd-resolved
  1. 检查状态
解析状态
  1. 显示缓存统计信息(命中/未命中)
resolvectl 统计信息
  1. 我们按照/run/systemd/resolve/resolv.conf同步更改Resolv.conf参数

一些实用程序 - ping、dig、host、whois - 绕过缓存代理,因为使用resolveconf服务,该服务访问/etc/resolv.conf文件,该文件与SystemD无关。 对于此类程序,您需要从 SystemD 文件创建永久符号链接 /run/systemd/resolve/resolv.conf на целевое имя ссылки /etc/resolv.conf。 (这个“技巧”在 jtprog.ru 上的文章 )。

sudo cp /etc/resolv.conf /etc/resolv.conf.bak
sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
ls -l /etc/resolv.conf

在文件 /etc/resolv.conf 的符号链接之后,这些行现在写入文件 /run/systemd/resolve/resolv.conf 中
名称服务器 DNS_服务器 IP_地址
搜索。

其中 DNS_server_IP_address 使用符号链接自动传输 /etc/resolv.conf на файл /run/systemd/resolve/resolv.conf, соответствующей файлу /etc/systemd/resolved.conf,在说明第 2 段中编辑。

检查:

  • 更正了文件 nano /etc/systemd/resolved.conf => указал IP-адрес DNS=8.8.8.8
  • 重新启动服务 sudo systemctl restart systemd-resolved

    结果:

  • 上级DNS服务器(上行)已从路由器之前的IP地址更改为8.8.8.8:
    命令输出表明 DNS 服务器发生变化:
    解析状态

!!! 更新 /etc/systemd/resolved.conf 时,此项目还可用于在 /etc/resolv.conf 中设置同步更改

  1. 使用控制台实用程序resolvctl

Ути丽塔 resolvectl 可用于服务管理 systemd-resolved.service 和域名解析。 该实用程序最常用的命令是 查询HOST_NAME 对于名称解析,包括 IPv4 和 IPv6。 与 -t TYPE 开关一起使用时,其中 TYPE 是 DNS 记录类型的指定,例如 TXT 记录(证书)与常规 A、AAAA 记录。 有关resolvctl 命令开关的详细说明,请参阅 man resolvectl 帮助页面。

使用示例:

resolvectl query ya.ru
resolvectl query google.com -t AAAA

7.1 Displaying the service status resolved

systemctl is-active systemd-resolved

Answer: "active" - the service is running.

7.2。 显示对本地 DNS 缓存的调用统计信息

resolvectl 统计信息

答:

DNSSEC supported by current servers: no

交易
当前交易:0
总交易数:7606

缓存
当前缓存大小:136
          Cache Hits: 2139
        Cache Misses: 5493

DNSSEC 判决
              Secure: 0
            Insecure: 0
               Bogus: 0
       Indeterminate: 0

7.3。 在Linux中使用resolvctl命令清除DNS缓存:

resolvectl 刷新缓存

文章最后编辑:01/23/2025


资料来源:
https://zevilz.dev/posts/496/
系统解析命令未找到
*systemd-resolved 位于 wiki.ubuntuusers.de



相关出版物