如何设置 bind9 DNS 服务器以将 DNS 请求转发给 iodine?

如何设置 bind9 DNS 服务器以将 DNS 请求转发给 iodine?

我正在尝试在我的局域网中演示碘。我有一台碘客户端机器、一台具有主机名的碘服务器机器t1.haxor.com和一台本地运行的 DNS 服务器。

我想模拟一个企业环境,其中只允许向企业 DNS 服务器发送 DNS 请求。因此,客户端计算机只允许通过端口 53 向本地 DNS 服务器发送数据包。我不想为公共域名付费,所以我想设置本地 DNS 服务器以将 DNS 请求查询转发*.haxor.com到 iodine 服务器。

简单地说,我希望碘服务器成为*.haxor.com我的局域网中的名称服务器。

我尝试haxor.com根据碘 github 自述文件.然而我失败了。

$TTL 10
@       IN      SOA     ns.haxor.com. admin.haxor.com. (
        1       ;serial number
        10      ;time to refresh
        10      ;time to retry
        604800  ;time to expire
        10 )    ;minimum TTL

        IN      NS      ns.haxor.com.

;address to name mapping
t1.haxor.com.   IN      NS      ns.haxor.com.
ns.haxor.com.   IN      A       IP-ADDRESS-OF-IODINE-SERVER

配置named.conf.local

zone "haxor.com" {
   type master;
   file "/etc/bind/zones/db.haxor.com";
};

如何配置 bind9 以向*.haxor.comiodine 服务器发送 DNS 请求?

答案1

问题

我确信问题在于named.conf.local,在 中,我将区域的类型设置haxor.commaster。我假设 master 应该是该区域的权威机构,这就是它没有转发请求的原因。如果我错了,请纠正我。

我的解决方案:

我在DNS服务器上安装了bind9:

apt install bind9

我还根据以下设置了日志记录和转发本教程。不过,我认为这一步是没有必要的。

然后,我去/etc/bind/named.conf.local添加了以下内容:

zone "haxor.com." {
        type forward;
        forward only;
        forwarders { YOUR-IODINE-SERVER-IP-ADDRESS-HERE port 53; };
};

确保更改YOUR-IODINE-SERVER-IP-ADDRESS-HERE为正确的 IP 地址。此配置会将该区域的所有 DNS 请求转发haxor.com到您的 iodine 服务器。

然后,在服务器上启动碘:

iodined -f 10.0.0.1 t1.haxor.com -P password

此命令假定您的机器不在 10.0.0.0 网络中。如果在,您必须指定其他 IP 范围中的 IP 地址。请注意,这10.0.0.1不是碘服务器的当前 IP 地址,而是 DNS 隧道的任意所需 IP 地址。

并在客户端上启动碘:

iodine -f -r IP-ADDRESS-OF-YOUR-LOCAL-DNS-SERVER t1.haxor.com -P password

确保更改IP-ADDRESS-OF-YOUR-LOCAL-DNS-SERVER为您配置转发的 DNS 服务器的 IP 地址。

就这样!然后你应该有一个正常工作的 DNS 隧道。你可以在客户端机器上运行以下命令来验证它:

ping 10.0.0.1

ping 应该会成功。

相关内容