У меня есть кластер привязки с частными / общедоступными записями, хранящимися в (2) представлениях и настроенными с помощью TSIG. Стандартная ведомая операция работает, но я бы хотел использовать dig для передачи зон для устранения неполадок / тестирования.
Обычно я использую dig example.com @ns1.example.com -y tsig-key:SECRETCODE
однако это запрещено, поскольку ключ назначается только общедоступному представлению.
Воспроизведение: попытка dig axfr от клиента во внутреннем представлении.
Ошибка передачи:
dig AXFR example.com -y external:xxxxxxxx
Перевод успешен
dig AXFR example.com -y internal:xxxxxxxx
Просто настройте дополнительный ключ для внутреннего представления и настройте привязку, чтобы позволить ключу действовать как селектор для определенного представления:
key "external" {
algorithm hmac-md5;
secret "xxxxxxxx";
};
key "internal" {
algorithm hmac-md5;
secret "yyyyyyyy";
};
view "internal" {
match-clients { key internal; 10.0.1/24; };
server 10.0.1.1 {
/* Deliver notify messages to external view. */
keys { external; };
};
zone "example.com" {
type master;
file "internal/example.db";
...
};
};
view "external" {
match-clients { key external; any; };
zone "example.com" {
type master;
file "external/example.db";
...
};
};