Docker 容器中的 dnsmasq 经常收不到回复

Docker 容器中的 dnsmasq 经常收不到回复

我在 docker 容器(Mac 上的 Docker Desktop)中运行 dnsmasq

docker-compose.yaml

version: '3'
services:
  dns:
    restart: unless-stopped
    image: strm/dnsmasq
    container_name: dnsmasq
    volumes:
      - $PWD/etc/dnsmasq.conf:/etc/dnsmasq.conf
      - $PWD/etc/myHosts:/etc/myHosts
      - $PWD/logs/dnsmasq:/logs/dnsmasq
    ports:
     - "53:53/udp"
    cap_add:
      - NET_ADMIN
    entrypoint:
      tail
    command:
      -F anything

对于此测试设置,我在容器中启动一个终端并运行类似

dnsmasq -d -q --log-queries=extra 2>> /logs/dnsmasq/2023-07-05_log2.txt

/etc/dnsmasq.conf

#Define Port
port=53
domain-needed
bogus-priv

#dont use hosts nameservers
no-resolv

# Use the default nameservers
server=1.1.1.1

# domain to keep local
local=/rubik/

addn-hosts=/etc/myHosts

/etc/myHosts定义一些本地 IP 地址

它总体上是有效的,但请求一直得不到答复,而且超时,我看不出有什么规律。对于“现实生活”的网络浏览流量以及dig对知名网站的查询,情况都是如此。找到一个域名并不需要很长时间,但这个域名并没有立即得到答复,最终会超时

我面前有一天的日志,我们来举d.dropbox.com个例子

402 个query[A]条目、9 个query[type=65]条目、411 个forwarded条目(目前已检查)

74reply条目, 0cached条目

由于回复不断,我有时不知道从哪里开始调查。问题可能出在哪里?或者我看到的是正常现象?这是我第一次涉足 DNS 世界

相关内容