Итак, я пытаюсь настроить BIND для изменения IP-адреса ответа на основе настроенного IP-адреса запрашиваемого домена. Таким образом, запрос попадает в привязку для domain.local и его IP-адрес 10.0.0.10. Что я пытаюсь сделать, так это если bind видит любой домен с IP-адресом 10.0.0.10, он ответит с IP-адресом, скажем, 10.0.0.20, без необходимости создавать запись в bind для domain.local.
Это становится очень беспорядочным, если у вас есть много разных ответов / сетей, которые вам нужно обработать, но предоставляет несколько ответы на основе источников могут быть сделаны с помощью представлений. Я использовал это раньше, чтобы дать LAN-клиентам локальный адрес в ответе, а всем остальным - публичный адрес.
acl "someclients" {
1.2.3.4/24;
5.6.7.8/24;
};
view "view1" {
// directly specifying address(es) or ranges
match-clients { 10.0.0.0/8; };
zone "domain.com" {
type master;
file "view1/domain.com.zone";
};
};
view "view2" {
// example using a predefined group of addresses/ranges
match-clients { someclients; };
zone "domain.com" {
type master;
file "view2/domain.com.zone";
};
};
view "view3" {
match-clients { any; };
zone "domain.com" {
type master;
file "view3/domain.com.zone";
};
};
Также есть acl localnets
по умолчанию, который соответствует любым сетям, локальным для сервера Bind.
Обратите внимание, что при использовании видов все зоны должны находиться внутри вида. Если у вас есть несколько определений зон, которые должны присутствовать во всех представлениях, мне будет проще переместить их все в отдельный файл, а затем добавить include «myzones.conf»;
в каждое представление.