skoltogyan » 22 окт 2022, 14:06
Нашел.
В моем случае нужнобыло что-бы нашел какой IP для а запроса, например: "testareq" , в котором не указн домен поиска. без внесения изменения на стороне клиента, который так запрос шлет. ( да так клиенту делать не следует.. и все-же. он так делает и там изменить нельзя)
Сделаk так:
на linux, на котором bind9-ый установлен(192.168.143.1) сделал так:
vi /etc/named.conf
и добавил:
// ------------------------------------------
acl mytestacl {
// это acl - список IP, запросы от которых так хитро обрабатывать
// в dnc сервере
192.168.143.111/32; 192.168.143.116/32; 10.0.17.13/32;
};
// использую вьювер
view "mytestview" {
// условие применениия вьювера
// вьювер именно этот применятся для поиска ответов
// если запросы к DNS серверу идут от IP адресов
// входящих в acl "mytestacl"
match-clients { mytestacl; };
// делаю свю частную PRZ (PriverRootZone)
// файл root8765.zone распологаю там-же, где и остальные файлы зон этого сервера dns
zone "." in {
type master;
file "root8765.zone";
};
};
//------------------------------------
вот пример содержимого
/var/named/root8765.zone
//------------------------------------
@ 1D IN SOA localhost. root.localhost. (
20221022130500 ; serial (yyyymmdd##)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum ttl
1D IN NS localhost.
localhost. 1D IN A 127.0.0.1
tratata432 1D IN A 192.168.143.110
//------------------------------------
что получилось: когда от клиента-хоста 192.168.143.111 прийдет на 192.168.143.1 А-запрос, в котором будет только
tratata432
то named увидит, что это от 192.168/143.111 и для обработки запустит вьювер, что выше привел.
в этом вьювере, уrазано, что рут зона - это в моем локальном файле. из него будет прочитано нужное разрешение и возвращено клиенту.
+
вьювер с моейPrivet Root zone расположить выше вьювера, в котором все остальное в отдельном вьювере. Внутри вьювера - как обычно.
Когда используешь вьюверы, то все зоны должны находитится во вьверах !
Таким образом, выше по файлу делаю:
acl mytestacl {
192.168.143.111/32; 192.168.143.116/32; 10.0.17.13/32;
};
view "mytestview" {
match-clients { mytestacl; };
zone "." in {
type master;
file "root8765.zone";
};
};
и после него в файле ( тут уже не создаю своего acl, а использую "any" )
view "dall" {
match-clients { any; };
zone "." IN {
type hint;
file "named.ca";
};
zone "myoffice.org" IN {
allow-transfer { 172.8.21.4; 192.168.121.8;};
also-notify { 172.8.21.4; 192.168.121.8; };
file "forward.myoffice.org";
}
....... прямые, обратные, все как обычно...
}; <--- Закрывающая скобка вьювера "dall"
Фуф. То, что мне было нужно(этот узкий кусочек) - решил так для себя.