deepwzh的技术笔记
  • Golang
  • Python
  • Cpp
杂项
前端开发
  • 计算机网络
  • 操作系统
  • 数据库
云原生
Devops
AIGC
关于作者
  • Golang
  • Python
  • Cpp
杂项
前端开发
  • 计算机网络
  • 操作系统
  • 数据库
云原生
Devops
AIGC
关于作者
  • 操作系统
  • Linux 源码阅读笔记
  • 内存管理
  • 文件系统
  • Windows

    • Windows
    • 端口转发
    • WSL

      • WSL
      • 与 windows 的互通
      • 安装
      • wsl 常见问题
      • 在 wsl 下进行开发
      • 配置
  • Linux

    • Linux
    • 动态追踪技术
    • DNS 配置
    • 问题排查
    • 杂项
    • Linux 免密登录
    • ebpf
    • 性能调优
    • init 进程
    • Ipvs
    • 基准测试
    • Linux
    • Keepalived
    • Linux 与 Unix
    • 系统调用
    • 命令行补全
    • 文件系统

      • 文件系统
      • Mount
    • systemd

      • systemd
      • Systemd
    • 命令工具

      • 命令工具
      • 时区配置
      • 进程管理工具
      • 路由表维护
      • 文件系统工具
      • 网络工具

        • 网络工具
        • curl
        • 端口转发 rinetd
    • 包管理

      • 包管理
      • APT 与 DEB
    • Shell

      • Shell
      • Zsh
      • Bash

        • Bash
        • 配置文件

DNS 配置

概述

Linux dns 配置主要由 /etc/resolve.conf 负责

/etc/resolve.conf

在 Linux 系统中,/etc/resolv.conf 文件用于配置 DNS 解析器的行为,其中的 options 字段允许你调整 DNS 查询的一些参数。

以下是一些常用的 options 选项及其作用:

  1. debug:启用调试模式,会将调试信息输出到系统日志中。这通常用于排查 DNS 解析问题。

• 示例:options debug

  1. ndots:n:设置域名中必须包含的点号数量阈值,以决定是否优先进行绝对查询。默认值为 1,意味着如果域名中包含至少一个点号,解析器会先尝试将其作为绝对域名查询,然后再尝试与 search 列表中的域名拼接。

• 示例:options ndots:2

  1. timeout:n:设置 DNS 查询的超时时间(以秒为单位)。如果在指定时间内未收到响应,解析器会尝试下一个 DNS 服务器。

• 示例:options timeout:2

  1. attempts:n:设置每个 DNS 服务器发送查询的最大尝试次数。如果所有尝试都失败,解析器会尝试下一个 DNS 服务器。

• 示例:options attempts:3

  1. rotate:启用 DNS 服务器的轮询机制。默认情况下,解析器会按顺序查询 DNS 服务器。启用此选项后,解析器会随机选择一个 DNS 服务器进行查询,以实现负载均衡。

• 示例:options rotate

  1. no-check-names:禁用对主机名的检查。默认情况下,解析器会检查主机名是否符合 RFC 标准,启用此选项后会跳过此检查。

• 示例:options no-check-names

  1. inet6:启用 IPv6 支持。如果系统需要解析 IPv6 地址,可以启用此选项。

• 示例:options inet6

这些选项可以根据实际需求进行组合使用,以优化 DNS 解析的性能和行为。例如,你可以同时设置超时时间和尝试次数:

options timeout:2 attempts:3

需要注意的是,某些 Linux 发行版可能会通过其他工具(如 systemd-resolved 或 NetworkManager)动态管理 /etc/resolv.conf 文件,直接修改可能会被覆盖。因此,建议通过系统网络配置文件进行持久化配置。

Prev
动态追踪技术
Next
问题排查