我在 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 世界