Как пересылать запросы с одного DNS на другой в зависимости от IP-адреса?

Как пересылать запросы с одного DNS на другой в зависимости от IP-адреса?

Я установил два DNS-сервера с помощью bind9, которые принимают запросы от других ПК в локальной сети. У обоих ПК есть свой домен, и пока мне удалось заставить основной сервер перенаправлять запросы на резервный, если они запрашивают домен, которого в нем нет. Теперь последнее, что мне нужно сделать, это отвечать на запросы от разных серверов в зависимости от IP-адреса клиента.

У меня есть два списка IP-адресов в моей локальной сети: Linux и VPCS.

Мне нужно, чтобы основной DNS-сервер отвечал на запросы от Linux, а резервный сервер — на запросы от VPCS. Всякий раз, когда я тестирую, я запрашиваю домен, который находится на основном DNS-сервере, независимо от списка, в котором находится ПК. Поэтому мне, по сути, приходится перенаправлять запрос на другой домен, если IP-адрес клиента находится в списке VPCS. Я использовал представления и успешно отфильтровал запросы, но я все еще не могу перенаправить их на другой сервер. Я также пытался создать другую зону, но это не сработало.

IP-адрес основного DNS-сервера — 192.168.1.14. IP-адрес резервного DNS-сервера — 192.168.2.3. Я имитирую всю локальную сеть на gns3 с помощью 2 маршрутизаторов cisco, я проверил их, и настройки в порядке, поэтому я сомневаюсь, что они виноваты.

Это моеnamed.conf.local

//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";
include "/etc/bind/named.conf.options";

view "vpcs"{
    match-clients{vpcs;};
    forwarders {
        192.168.1.14;
        192.168.2.3;
    };
#   forward only;
#   recursion yes;
    zone"zonaP.gg" in {
        type master;
        file "/etc/bind/for.zonaP.gg";
        masterfile-format text;
    };

    zone "168.192.in-addr.arpa" in {
        type master;
        file "/etc/bind/rev.zonaP.gg";
        masterfile-format text;

    };  

};

view "linuxes"{
    match-clients{any;};
    zone "zonaP.gg" in {
        type master;
        file "/etc/bind/for.zonaP.gg";
        masterfile-format text;
    };

    zone "168.192.in-addr.arpa" in {
        type master;
        file "/etc/bind/rev.zonaP.gg";
        masterfile-format text;
    };
};

И это мойnamed.conf.options

acl linuxes {
    192.168.1.11;
    192.168.1.3;
    192.168.1.14;
    192.168.2.4;
    192.168.2.3;
    192.168.1.19;
    192.168.1.20;
};

acl vpcs {
    192.168.1.10;
    192.168.1.11;
    192.168.1.12;
    192.168.1.2;
    192.168.1.4;
    192.168.1.13;
    192.168.1.15;
    192.168.2.2;
    192.168.3.2;
};

options {
    directory "/var/cache/bind";
    recursion yes;
    allow-query {any;};
    allow-query-cache {any;};
    forwarders{192.168.2.3;};
    dnssec-validation auto;
    auth-nxdomain no;
    listen-on-v6 { any; };
};

Связанный контент