BIND9 按视图转发

BIND9 按视图转发

你好,我认为这是一个简单的问题,我只想转发到 LAN 网络中的某些 IP,例如我有 2 个 acl 列表:

acl "office1" {
    192.168.1.15; // With internet access
};

acl "production" {
    192.168.1.101; // No internet access
};

我知道应该有更有效的方法来限制互联网访问,但目前我想尝试一下。以下是我尝试过的named.conf.local

// Inlcude my acl definitions
include "/etc/bind/acls.conf";

view "no-internet" {
    match-clients { production; };
    include "/etc/bind/named.conf.default-zones";
    zone "localdomain.com" {
       type master;
       file "/etc/bind/db.localdomain.com";
    };
    zone "1.168.192.in-addr.arpa" {
       type master;
       file "/etc/bind/db.192.168.1";
    };
}

view "internet" {
    match-clients { office1; };
    include "/etc/bind/named.conf.default-zones";

    forwarders {
            201.56.59.14; // Made Up
            201.56.59.15; // Made Up
    };

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

    zone "1.168.192.in-addr.arpa" {
       type master;
       file "/etc/bind/db.192.168.1";
    };
};

正如您所看到的,我希望localdomain.com为网络中的每台计算机定义一个定义,并将互联网访问转发到办公室的计算机,但不转发到生产车间的计算机。


我已经修改了我的 conf 文件,但是 acl 中的 IP"no-internet"能够解析域,即使我重新启动了计算机,刷新了 DNS 并将ipconfig /flushdns我的 DNS 服务器设置为唯一的 DNS 服务器,为什么这种情况仍然会发生?提前致谢。

答案1

视图中不能有选项,但你可以直接使用转发器

view "internet" {
    match-clients { office1; };
    recursion no;
    forwarders {
            201.56.59.14; // Made Up
            201.56.59.15; // Made Up
    };
};

相关内容