0

Trying to implement primary/secondary (master/slave) replication on Bind 9.11.4, Amazon Linux 2. Also fails with Bind 9.8. Have 4 views. For zones that cross multiple views and use different zone files in different views, replication puts the contents of the first zone file it sees into the files for all the views. I see vague clues about using keys to solve this, but no examples, no syntax. Experiments with keys and syntax so far just yield no replication and no obviously helpful error messages.

Primary:

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.

Secondary:

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...
cranhike
  • 21
  • 4

1 Answers1

0

After perusing https://kb.isc.org/docs/aa-00851 and https://downloads.isc.org/isc/bind9/9.11.4rc1/doc/arm/Bv9ARM.ch06.html a couple dozen more times, this seems to work so far:

Primary:

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; };  
   };  
};  

Secondary:

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";  
   };  
};  

Please understand some vital stuff was left out for (hopefully) clarity.

cranhike
  • 21
  • 4