BIND9 版本 9.11.33 碘隧道的 DNS 委派

BIND9 版本 9.11.33 碘隧道的 DNS 委派

我正在尝试使用 Bind9 的生产版本 (BIND9.11.33) 设置 DNS 委派。当前区域是“example.localnet”。我尝试为 Iodine DNS 隧道设置的子域是“dnstun.example.localnet”。

“example.localnet”域指向名称服务器“ns1.example.localnet”,其 IP 地址为“192.168.0.13”。这是 DNS 服务器的 IP。委派子域“dnstun.example.localnet”指向名称服务器“ns2.example.localnet”,其 IP 地址为“192.168.0.14”。这是 Iodine 服务器所在的位置。

这是有趣的部分:当我使用 NSLookup 在 set type=ns 下查询 Bind9 DNS 服务器中的“example.localnet”时,它会给出名称服务器的 IP 地址。对于委托的子域,它会给出 NXDOAMIN、超时或服务器故障。

我注意到,当我在 Wireshark 中查询 NS 中的“dnstun.example.localnet”时,它会访问互联网以查找谁是 NS“dnstun.example.localnet”。这将返回 NXDOMAIN。

禁用转发和递归后,NS 查询“dnstun.example.localnet”可以正常工作。我不确定我到底错过了什么。我还向“example.localnet”区域(在 named.conf 中)添加了一个空转发器,但它不起作用。它要么超时,要么服务器故障。

这是我的“named.conf”文件:

options {
    directory "C:\Program Files\ISC BIND 9\etc";
    allow-transfer { none; };
    recursion yes;
    forward only;
    forwarders { 192.168.0.254; };
};

zone "example.localnet" IN {
    type master;
    file "db.example.localnet.txt";
    allow-transfer { none; };
    //  forwarders {};
};

zone "0.168.192.in-addr.arpa" {
    type master;
    notify no;
    file "db.192.168.0.txt";
};

这是我的“example.localnet”区域文件:

$TTL 6h
@   IN SOA  ns1.example.localnet.   admin.example.localnet. (
        2005022201
        10800
        3600
        604800
        86400 )

@       NS  ns1.example.localnet.

ns1     IN A    192.168.0.13
dnstun  IN NS   ns2.example.localnet.
ns2     IN A    192.168.0.14

反向区域工作正常。我不确定的是为什么子域委派会以应有的方式解决。我在网上搜索了无数的例子,但找不到太多。我尝试在 Microsoft Server 2019 数据中心进行完全相同的设置,并且成功了。没有问题。Iodine DNS 隧道通过它没有任何问题。

请让我知道我遗漏了什么或做错了什么,以便我可以从中吸取教训。任何指点/帮助都将不胜感激。

干杯,

亚历山大

答案1

问题已解决。即使 NSLookup 失败,Iodine Server 和 Iodine Client 仍设法通过 Bind DNS 服务器建立隧道。通过在 named.conf 中的区域“example.localnet”中添加此代码“forwarders {};”,即可解决问题。链接:https://support.citrix.com/article/CTX124727

这是我的“named.conf”文件:

options {
directory "C:\Program Files\ISC BIND 9\etc";
allow-transfer { none; };
allow-query { any; };
recursion yes;
//  edns yes;
edns-udp-size 4096;
max-udp-size 4096;
forward only;
forwarders { 192.168.0.254; };
};

zone "example.localnet" IN {
type master;
file "db.example.localnet.txt";
allow-transfer { none; };
notify no;
forwarders {};
};

zone "0.168.192.in-addr.arpa" {
    type master;
    notify no;
    file "db.192.168.0.txt";
};

这是我的“example.localnet”区域文件:

$TTL 6h
$ORIGIN example.localnet.
@   IN SOA  ns1.example.localnet.   admin.example.localnet. (
        2005022201
        10800
        3600
        604800
        86400 )

@       NS  ns1.example.localnet.


ns1 IN A    192.168.0.13
dnstun  IN NS   ns2.example.localnet.
ns2 IN A    192.168.0.14

希望这能帮助遇到类似问题的人。

相关内容