我已经部署了一个Adguard Home docker容器,我想使用它作为我的DNS服务器/代理。当我在本地网络上从机器(以及对接主机)进行nslookup时,DNS解析工作得很好。(成功解析本地和外部dns名称)
但是,当在容器中进行nslookup时,将返回以下消息:
;; connection timed out; no servers could be reached
如果我查看docker守护进程日志(处于调试模式),就会看到以下消息
Aug 13 22:56:27 host dockerd[641]: time="2020-08-13T22:56:27.646666208+02:00" level=debug msg="Name To resolve: host.local."
Aug 13 22:56:27 host dockerd[641]: time="2020-08-13T22:56:27.647142480+02:00" level=debug msg="[resolver] query host.local. (A) from 172.22.0.4:32939, forwarding to udp:192.168.178.39"
Aug 13 22:56:27 host dockerd[641]: time="2020-08-13T22:56:27.756187183+02:00" level=debug msg="[resolver] read from DNS server failed, read udp 172.24.0.2:56565->192.168.178.39:53: i/o timeout"
在阿德卫斯特家的日志中没有明显的问题。所有请求(也是与容器中的请求时间戳相匹配的请求)都会得到答复,并返回正确的地址。
为了进行nslookup,我使用了一个busybox容器(我可以打开adguard容器):
docker run --network=adguardhome_default busybox nslookup -debug -type=A host.local
我在里海10号运行码头。码头版本是19.03.12。Docker-compose版本为1.21.0。
到目前为止,我尝试了一些事情,包括:
似乎嵌入的坞DNS不理解adguard服务的响应,或者没有按照我的预期行事。我感谢你的帮助,希望我能提供足够的细节。
我试图使用参数--dns-opt=use-vc
强制dns在tcp上进行,就像建议的这里一样。所使用的选项反映在容器的resolv.conf中,但似乎没有任何效果/没有得到遵守。请求仍然使用UDP。
宿主的resolv.conf:
# Generated by resolvconf
domain fritz.box
nameserver 192.168.178.39
集装箱resolv.conf:
nameserver 127.0.0.11
options ndots:0
docker-为adguard编写文件:
version: '3.2'
services:
adguardhome:
image: adguard/adguardhome:latest
container_name: adguardhome
restart: unless-stopped
ports:
- 53:53/tcp
- 53:53/udp
#- 67:67/udp
#- 68:68/tcp
#- 68:68/udp
- 853:853/tcp
- 3000:3000/tcp
volumes:
- type: volume
source: data
target: /opt/adguardhome/work
- type: volume
source: config
target: /opt/adguardhome/conf
volumes:
data:
config:
adguard服务器:
192.168.178.1
tcp://192.168.178.1
发布于 2020-09-11 10:39:58
我也有同样的问题。一个对接的护卫,它完美地工作在所有的东西上,除了在同一个树莓上托管的其他对接者。
从另一个码头,我可以击打护卫,我可以进入53端口。从调试中的adguard中,我看到请求进来了,我没有看到错误,但是没有返回到码头的响应。
奇怪的是,在Adguard的日志中,我看到它正确地处理了我的DNS请求,但是客户端IP adress不是来自原始的码头,而是adguard本身的IP。
最后,如果它尝试使用google进行nslookup,那么它的工作原理是完美的。
据我所知,看起来adguard服务器是在它自己的IP上响应DNS请求,而不是在原始源ip上。
编辑:我已经能够解决我的问题,使用macvlan网络在我的所有码头。
https://serverfault.com/questions/1030064
复制相似问题