如何让bind9只监听这个动态ip接口

Joh*_*ene 2 bind dynamic-ip bind9

bind9 配置语句listen-on似乎只采用接口的 IP 地址。“ man named.conf”显示收听详情

对于内部named守护程序,正在侦听的接口可以声明为:

listen-on {
    127.0.0.1;
    192.168.1.1;
 };
Run Code Online (Sandbox Code Playgroud)

现在转向外部bind9/named 守护进程... ISP 为该设备提供动态IP 地址(即4.3.2.1)。如果我只想监听 ISP 分配的 IP 地址,我尝试了以下方法:

listen-on {
    !127.0.0.1;
    !192.168.1.1;
 };
Run Code Online (Sandbox Code Playgroud)

唉,这并不能阻止绑定named获取任何未使用的网络接口。

如何使bind9named守护进程只监听动态IP接口而不监听任何未使用的接口(IP地址)?请记住,您事先并不知道绑定配置文件所需的面向公众的网络接口的 IP 地址。

Las*_*lko 5

这对我有用:

listen-on {
        !127.0.0.1;
        !172.17.0.0/24;
        0.0.0.0/0;
};
Run Code Online (Sandbox Code Playgroud)

或者,如果您知道服务提供商使用的潜在 IP 地址范围列表(您可以询问他们,或者您可以在 WHOIS 数据库中查找其 AS 路由对象),您可以仅列出这些前缀:

listen-on {
        194.38.96.0/19;
        200.201.202.0/24;
};
Run Code Online (Sandbox Code Playgroud)