Details
-
New Feature
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
4.3.0
-
Security Level: Public (Anyone can view this level - this is the default.)
Description
When deploying Advanced Networks, Virtual Routers are used to isolate networks and provide DNS service for all machines inside each network. While this approach is better for keeping networks more secure and self-contained, it imposes a challenge when machines need to translate names that belong to machines from another network, i.e. machine in network A needs to find the IP address of a machine in network B.
A common solution for this problem is to make sure the Virtual Router from network B has its name translated from network A, but this does not scale to a corporate network, where you need to translate domain names of every machine from every network.
We tackled this problem by using a centralized DNS server, which is external to all networks in Cloudstack. That way, every machine is registered in that server and every other machine can translate its name by accessing that server as well. This server can run any known enterprise DNS server, such as Bind or PowerDNS, and provide its services through an external API.
This proposal includes both a DNS API to be run in a DNS server and a plugin designed for integrating virtual machines and virtual networks in Cloudstack with DNS API.
I put design document in wiki https://cwiki.apache.org/confluence/display/CLOUDSTACK/Bind+and+PowerDNS+integration+by+Globo+DNSAPI.