首页主机资讯Debian Overlay如何配置DNS解析

Debian Overlay如何配置DNS解析

时间2025-12-09 02:25:04发布访客分类主机资讯浏览1139
导读:Debian Overlay 场景下的 DNS 解析配置 先明确 Overlay 类型 若指的是容器网络的 Overlay 网络(如 Docker Swarm 的覆盖网络),DNS 通常由容器运行时/编排系统提供,需要在容器或服务的网络配...

Debian Overlay 场景下的 DNS 解析配置

先明确 Overlay 类型

  • 若指的是容器网络的 Overlay 网络(如 Docker Swarm 的覆盖网络),DNS 通常由容器运行时/编排系统提供,需要在容器或服务的网络配置中指定上游 DNS,并确保容器能访问该 DNS。
  • 若指的是 OverlayFS(文件系统层叠),它与网络无关,DNS 仍按宿主机的网络栈配置即可。下文分别给出做法。

容器 Overlay 网络的 DNS 配置

  • Docker Swarm 服务侧配置
    • 在创建或更新服务时通过 --dns 指定上游 DNS,例如:
      • docker service create --name web --network my_overlay --dns 8.8.8.8 --dns 1.1.1.1 nginx:alpine
    • 如需全局默认 DNS,可在 Docker 守护进程配置 /etc/docker/daemon.json 中设置 “dns”: [“8.8.8.8”,“1.1.1.1”],然后重启 Docker。
  • Docker Compose 示例
    • 在 compose 文件的服务下添加 dns 项:
      • services:
        • web:
          • image: nginx:alpine
          • dns:
            • 8.8.8.8
            • 1.1.1.1
  • 验证
    • 进入容器执行:cat /etc/resolv.conf 应能看到配置的 nameserver;使用 dig example.com 或 nslookup example.com 验证解析是否正常。
  • 网络连通性要点
    • 确保 Overlay 网络中的容器能路由到上游 DNS(如 UDP/TCP 53 端口未被拦截);如使用自定义网段,确认路由与安全组策略允许 DNS 流量。

宿主机或容器基于 Debian 的 DNS 配置

  • 直接写入 resolv.conf(简单但不持久)
    • echo “nameserver 8.8.8.8” | sudo tee /etc/resolv.conf
    • echo “nameserver 1.1.1.1” | sudo tee -a /etc/resolv.conf
    • 注意:使用 DHCP 或某些网络管理工具时,/etc/resolv.conf 可能被覆盖。
  • 使用 systemd-resolved(推荐)
    • 编辑 /etc/systemd/resolved.conf:
      • [Resolve]
      • DNS=8.8.8.8 1.1.1.1
      • DNSOverTLS=yes(可选,启用 DoT)
    • 重启服务:sudo systemctl restart systemd-resolved
    • 验证:resolvectl status 应显示配置的 DNS 与 DoT 状态。
  • 使用 resolvconf 管理(适合 DHCP 场景)
    • 安装:sudo apt-get install resolvconf
    • 写入:sudo tee /etc/resolvconf/resolv.conf.d/base < < EOF
      • nameserver 8.8.8.8
      • nameserver 1.1.1.1
      • EOF
    • 更新:sudo resolvconf -u
  • 使用 NetworkManager(nmcli)
    • 查看连接:nmcli con show
    • 设置 DNS:nmcli con mod < 连接名或UUID> ipv4.dns “8.8.8.8 1.1.1.1”
    • 使生效:nmcli con up < 连接名或UUID> (或 nmcli con reload)
  • 使用 ifupdown 静态配置
    • 在 /etc/network/interfaces 对应接口下添加:
      • dns-nameservers 8.8.8.8 1.1.1.1
    • 重启网络或接口后生效。

验证与排障

  • 查看当前解析配置
    • 宿主机:cat /etc/resolv.conf;若为 systemd-resolved:resolvectl status
    • 容器:docker exec -it < 容器名> cat /etc/resolv.conf
  • 功能测试
    • dig example.com +short 或 nslookup example.com
    • 若启用 DoT:resolvectl query example.com 并检查是否走 TLS
  • 常见原因
    • /etc/resolv.conf 被 DHCP/NetworkManager/resolvconf 覆盖:改用对应的管理方式或在相应配置中写入 DNS。
    • 防火墙/安全组阻断 UDP/TCP 53:放通 DNS 端口,或改用 DoT/DoH 并在防火墙放行 853/443
    • 容器侧未正确继承 DNS:在 Swarm 服务或 Compose 中显式设置 dns,或检查守护进程默认 DNS。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Debian Overlay如何配置DNS解析
本文地址: https://pptw.com/jishu/766655.html
Debian Overlay如何实现多用户环境 HDFS在Linux上的应用场景有哪些

游客 回复需填写必要信息