resolvectl和resolvconf的区别及用法(dns问题排查及解决)

resolvectl和resolvconf的区别及用法(dns问题排查及解决)

文章目录

前言

resolvectlresolvconf 都是用于管理和配置 DNS 解析设置的工具,但它们的设计理念和使用场景有所不同,目前博主使用debian11 ubuntu22.04以上更多采用resolvectl下文也会主要从resolvectl入手,讲解如何配置DNS解决DNS冲突问题。

之前博主有遇到Tailscale域名、ip解析问题也是通过该软件解决的。

正文

resolvectl说明介绍

resolvectlsystemd-resolved 服务的一部分,它是 systemd 框架下的一个组件,用于处理 DNS 解析任务。resolvectl 提供了更高级的功能,如支持 DNS-over-TLS、多播 DNS(mDNS)、以及更精细的 DNS 控制。

特点:

  1. 集成性:resolvectlsystemd 紧密集成,依赖于 systemd-resolved 服务;
  2. 多功能性:除了基本的 DNS 配置外,还支持 DNS-over-TLS 加密、多播 DNS(mDNS)等高级特性;
  3. 现代化设计:旨在为现代 Linux 系统提供更稳定、安全的 DNS 解决方案;

resolvconf说明介绍

resolvconf 是一个较早的工具,用于动态地管理 /etc/resolv.conf 文件。它的主要功能是在不同的网络接口之间切换时自动更新 DNS 设置。resolvconf 通常在没有 systemd 或其他现代化系统和服务管理器的老版本 Linux 发行版中使用。

特点:

  1. 独立性:resolvconf 是一个独立的程序,不依赖于任何特定的服务管理框架;
  2. 动态更新:它可以监听网络接口的变化,并根据这些变化更新 /etc/resolv.conf 文件;
  3. 简单直接:resolvconf 的配置相对简单,主要通过简单的命令行工具进行管理;

resolvectl使用例子

bash 复制代码
       resolvectl [OPTIONS...] {COMMAND} [NAME...]

resolvectl[1](#1)可用于通过systemd-resolved.service(8) 解析器服务解析域名、IPv4和IPv6地址、DNS资源记录和服务。默认情况下,指定的参数列表将解析为主机名,检索其IPv4和IPv6地址。如果指定的参数被格式化为IPv4或IPv6地址,则执行反向操作,并检索指定地址的主机名。

程序的输出包含有关用于查找的协议以及在哪个网络接口上发现数据的信息。它还包含关于该信息是否可以被认证的信息。本地DNSSEC验证成功的所有数据都被视为经过身份验证。此外,还报告验证了源自本地可信来源的所有数据,包括本地主机名的解析、 "本地主机" 主机名或来自/etc/hosts的所有数据。

查询主机名:

bash 复制代码
$ resolvectl query baidu.com
baidu.com: 110.242.68.66                       -- link: eno1
           39.156.66.10                        -- link: eno1

-- Information acquired via protocol DNS in 8.0ms.
-- Data is authenticated: no

$ resolvectl query 85.214.157.71
85.214.157.71: gardel.0pointer.net             -- link: eno1

-- Information acquired via protocol DNS in 1.3549s.
-- Data is authenticated: no

查询DNS解析状态:

bash 复制代码
$ resolvectl status
Global
         Protocols: +LLMNR +mDNS -DNSOverTLS DNSSEC=no/unsupported
  resolv.conf mode: foreign
Current DNS Server: 192.168.1.1
       DNS Servers: 192.168.1.1

Link 2 (eno1)
    Current Scopes: DNS LLMNR/IPv4 LLMNR/IPv6
         Protocols: +DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Current DNS Server: 192.168.1.1
       DNS Servers: 192.168.1.1

设置DNS服务器:

bash 复制代码
# 设置dns为114
$ resolvectl dns eno1 114.114.114.114
# 查看反馈
$ resolvectl status
Global
         Protocols: +LLMNR +mDNS -DNSOverTLS DNSSEC=no/unsupported
  resolv.conf mode: foreign
Current DNS Server: 192.168.1.1
       DNS Servers: 192.168.1.1

Link 2 (eno1)
Current Scopes: DNS LLMNR/IPv4 LLMNR/IPv6
     Protocols: +DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
   DNS Servers: 114.114.114.114

参考


  1. resolvectl(1) - Linux manual page (man7.org) ↩︎
相关推荐
l1x1n03 小时前
Vim 编辑器常用操作详解(新手快速上手指南)
linux·编辑器·vim
ajassi20004 小时前
开源 python 应用 开发(三)python语法介绍
linux·python·开源·自动化
o不ok!4 小时前
Linux面试问题-软件测试
linux·运维·服务器
DaxiaLeeSuper5 小时前
Prometheus+Grafana+node_exporter监控linux服务器资源的方案
linux·grafana·prometheus
尽兴-6 小时前
如何将多个.sql文件合并成一个:Windows和Linux/Mac详细指南
linux·数据库·windows·sql·macos
kfepiza6 小时前
Netplan 中 bridges、bonds、ethernets、vlans 之间的关系 笔记250711
linux·tcp/ip·shell
小小不董6 小时前
深入理解oracle ADG和RAC
linux·服务器·数据库·oracle·dba
杰夫贾维斯7 小时前
CentOS Linux 8 的系统部署 Qwen2.5-7B -Instruct-AWQ
linux·运维·人工智能·机器学习·centos
kfepiza8 小时前
Netplan 配置网桥(Bridge)的模板笔记250711
linux·tcp/ip·ubuntu
kfepiza8 小时前
用Netplan配置网桥bridge笔记250711
linux·ubuntu·debian