You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker部署Bind9 DNS服务器无法解析自定义域名test-name.test.home的问题求助

Docker部署Bind9 DNS服务器无法解析自定义域名test-name.test.home的问题求助

我正在跟着教程尝试用Docker部署Bind9 DNS服务器,但遇到了自定义域名无法解析的问题,想请大家帮忙看看哪里出问题了。

我的配置情况

1. named.conf配置文件

我设置了named.conf,里面的ACL和选项部分用了本地机器和网关的IP,具体内容如下:

acl internal {
192.168.1.0/24;
192.168.0.0/24;
127.0.0.1;
localhost;
192.168.0.144;
};

options {
forwarders {
8.8.8.8;
8.8.4.4;
};
allow-query { internal; };
};

zone "test.home." IN {
type master;
file "/etc/bind/test-home.zone";
};

2. test-home.zone区域文件

对应的区域文件内容是:

$TTL 2d
$ORIGIN test.home.

@           IN  SOA test.home. root.test.home. (
202306151534    ; serial
12h
15m
3w
2h
)

IN  NS ns.test.home.
@           IN  NS  ns.test.home.

ns          IN  A   172.19.0.1
test-name   IN  A   192.168.0.144

测试结果

  • 解析公网域名正常:用nslookup google.com 172.19.0.1能成功返回Google的IP,输出如下:

Server: UnKnown
Address: 172.19.0.1

Non-authoritative answer:
Name: google.com
Addresses: 2a00:1450:401b:814::200e
142.250.203.142

  • 自定义域名无法解析:执行nslookup test-name.test.home 172.19.0.1时,返回“Non-existent domain”,输出:

Server: UnKnown
Address: 172.19.0.1

*** UnKnown can't find test-name.test.home: Non-existent domain

Docker容器网络信息

我用的是Ubuntu系统,Docker容器的网络配置(来自docker inspect)如下:

"NetworkSettings": {
"Bridge": "",
"SandboxID": "4b80c61e0f521afd51926708b1bfcc0fdb71a755566114af9cbe93cd0a44a462",
"HairpinMode": false,
"LinkLocalIPv6Address": "",
"LinkLocalIPv6PrefixLen": 0,
"Ports": {
"53/tcp": [
{
"HostIp": "0.0.0.0",
"HostPort": "53"
}
],
"53/udp": [
{
"HostIp": "0.0.0.0",
"HostPort": "53"
}
],
"953/tcp": null
},
"SandboxKey": "/var/run/docker/netns/4b80c61e0f52",
"SecondaryIPAddresses": null,
"SecondaryIPv6Addresses": null,
"EndpointID": "",
"Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"IPAddress": "",
"IPPrefixLen": 0,
"IPv6Gateway": "",
"MacAddress": "",
"Networks": {
"dns-experiments_default": {
"IPAMConfig": null,
"Links": null,
"Aliases": [
"bind9",
"ab0859f8c64b"
],
"NetworkID": "9d5d03264503be5fee52e99bc04407da0d41f87eff3b07393805bc7aa019c734",
"EndpointID": "e8612947adc69d959dbac41abf78f8f14b7394efb5bb11a4d453e8bea745c298",
"Gateway": "172.19.0.1",
"IPAddress": "172.19.0.2",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "02:42:ac:13:00:02",
"DriverOpts": null
}
}
}

更新情况

根据建议,我尝试用Docker容器自身的IP(172.19.0.2)进行nslookup,但直接超时了,输出如下:

DNS request timed out.
timeout was 2 seconds.
DNS request timed out.
timeout was 2 seconds.
DNS request timed out.
timeout was 2 seconds.
DNS request timed out.
timeout was 2 seconds.
*** Request to UnKnown timed-out

现在想请教大家,为什么我的自定义域名test-name.test.home无法被正确解析?应该怎么修复这个问题?

备注:内容来源于stack exchange,提问作者Michał Turczyn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 11:08:11