Назад | Перейти на главную страницу

Репликация BIND9 помещает неправильный контент в некоторые файлы подчиненных зон

Попытка реализовать первичную / вторичную (главный / подчиненный) репликацию в Bind 9.11.4, Amazon Linux 2. Также не удается выполнить Bind 9.8. Есть 4 просмотра. Для зон, которые пересекают несколько представлений и используют разные файлы зон в разных представлениях, репликация помещает содержимое первого просматриваемого файла зоны в файлы для всех представлений. Я вижу расплывчатые подсказки об использовании ключей для решения этой проблемы, но без примеров, без синтаксиса. Эксперименты с ключами и синтаксисом пока просто не дают ни репликации, ни явно полезных сообщений об ошибках.

Первичный:

view officeview {
  zone example.com {
     file "named.example_office";  //<-- unique content
  };
};
view cloudview {
  zone example.com {
     file "named.example_cloud";  //<-- unique content
  };
};
// and 2 more views, each with unique content.

Вторичный:

view officeview {
      zone example.com {
         file "named.example_office";  //<-- primary officeview example.com content
      };
   };
view cloudview {
    zone example.com {
       file "named.example_cloud";  //<-- primary officeview example.com content
    };
   };
   // and 2 more views slammed with primary officeview example.com content...

После просмотра https://kb.isc.org/docs/aa-00851 и https://downloads.isc.org/isc/bind9/9.11.4rc1/doc/arm/Bv9ARM.ch06.html еще пару десятков раз, похоже, пока это работает:

Первичный:

view officeview {  
   match-clients { key officeviewkey; officeiprange; };  
   zone example.com {  
      file "named.example_office";  
      allow-transfer { key officeviewkey; slaveip };  
      also-notify { slaveip key officeviewkey; };  
   };  
};  
view cloudview {  
   match-clients { key cloudviewkey; cloudiprange; };
   zone example.com {  
      file "named.example_datacenter";  
      allow-transfer { key cloudviewkey; slaveip };  
      also-notify { slaveip key cloudviewkey; };  
   };  
};  

Вторичный:

view officeview {  
   match-clients { key officeviewkey; officeiprange; };  
   zone example.com {  
      file "named.example_office";  
   };  
};  
view cloudview {  
   match-clients { key cloudviewkey; cloudiprange; }; 
   zone example.com {  
      file "named.example_datacenter";  
   };  
};  

Пожалуйста, поймите, что некоторые важные вещи были упущены (надеюсь) для ясности.