Docker嵌入式DNS反向DNS查询返回截断域名的问题咨询
Docker嵌入式DNS反向DNS查询返回截断域名的问题咨询
大家好,我最近在测试容器内的域名配置,想看看Docker的嵌入式DNS是怎么处理这些设置的,结果遇到了一个让我困惑的问题——反向DNS查询返回的域名被截断了,想请教下有没有朋友知道原因。
我给容器设置的完整域名(FQDN)格式是ldec<i>.n18.org,在容器里执行hostname --fqdn能正常返回预期的结果,比如ldec1.n18.org;用ping ldec1.n18.org测试也没问题,FQDN能正确解析到容器IP。
但当我执行反向DNS查询,比如dig -x <container_ip>时,得到的总是截断后的域名,比如下面的例子里,返回的是ldec3.n18,而不是完整的ldec3.n18.org:
root@ldec3:/# dig -x 172.18.0.4 ; <<>> DiG 9.16.37-Debian <<>> -x 172.18.0.4 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21081 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;4.0.18.172.in-addr.arpa. IN PTR ;; ANSWER SECTION: 4.0.18.172.in-addr.arpa. 600 IN PTR ldec3.n18. ;; Query time: 0 msec ;; SERVER: 127.0.0.11#53(127.0.0.11) ;; WHEN: Mon Apr 17 18:59:38 UTC 2023 ;; MSG SIZE rcvd: 87
下面是我用来复现问题的环境配置:
构建测试镜像的命令
docker build --tag=debian:11-lde - <<EOF FROM debian:11 ARG DEBIAN_FRONTEND=noninteractive ENV APT_CMD="apt-get install -y --no-install-recommends" RUN echo "===> Add tools..." \ && apt-get update \ && apt-get install -y --no-install-recommends \ iputils-ping bind9-dnsutils lsof \ openssh-* \ wget curl \ iptables whois iproute2 net-tools \ vim less sudo bash-completion patch \ ca-certificates \ && apt-get autoremove -y \ && echo OK EOF
创建网络并启动3个容器的脚本
docker network create --driver=bridge n18 --subnet=172.18.0.0/24 || true for i in $(seq 1 1 3) do docker rm -f "ldec${i}" || true declare domain="n18.org" docker run --interactive --tty --detach --rm --name "ldec${i}" \ --network=n18 --hostname="ldec${i}.${domain}" \ --dns="8.8.8.8" \ debian:11-lde done
有没有大佬能帮忙解释下为什么dig会返回截断的域名呢?
备注:内容来源于stack exchange,提问作者creatldd1 creatldd1
相关产品推荐
相关产品推荐

