12-05-2017 02:15 PM - edited 12-05-2017 03:18 PM
I have one particular zone that is in two different DNS views. Inside this zone I have a host record that has multiple aliases defined for that host record. Some of the aliases are not in the same domain as the "parent" host record. In the external DNS view all of the aliases look correct. When I look at the internal DNS view, NIOS has automatically changed any aliases that are not in te same domain as the host record by adding the domain name of that zone to the alias. For example:
DNS view: external (this works properly)
Host record: hosted.example.com
Alias: site1.example.com, site2.example.com, site3.newdomain.com
DNS view: internal (NIOS keeps changing the alias)
Host record: hosted.example.com
Alias: site1.example.com, site2.example.com, site3.newdomain.com.example.com
When I copied the host record from the external DNS view to the internal DNS view (or recreated it in the internal DNS view) I noticed that NIOS does not like it when the alias has a different domain name from the original host record name and will append the domain name to it. Only the internal DNS view does this. What is going on here?
Solved! Go to Solution.
12-05-2017 03:09 PM
I've discovered that if I create the zone newdomain.com inside the internal DNS view I can now add that one alias correctly. Problem is I don't want to have to add that zone to the internal view. My internal view forwards to the external view so I shouldn't have to have every zone in both DNS views. Am I going to have to remove all the aliases and create distinct CNAME records instead? This isn't good.
12-05-2017 03:56 PM
The behavior that you are seeing is working as per design.
What you are trying to achieve is like creating a CNAME record "abc.microsoft.com" in your grid without any zone called microsoft.com. You cannot create it because you are not serving the zone at all. If you want to serve the record abc.microsoft.com, you MUST have the zone or the server will do it recursively.
Let me explain with a scenario.
2 zones in the same view configured as Primary: test.com and foo.com
1 zone in the same view configured as secondary with external primary: example.com
Host Record FQDN : abc.test.com
Host Record IP: 18.104.22.168
Host Record Aliases: sample.example.com, abc.google.com, ns1.foo.com
After adding the host aliases, you would find that the Aliases where the domain name that does not match any zones which are configured as primary, the name of the zone gets appended.
This is what it will look like: abc.google.com.test.com, ns1.foo.com
Moreover, you would get a message: Cannot add the host alias google.com.in to a zone that is secondary" since the zone example.com is secondary(with external primary) and you cannot add records in an external primary zone.
Alias cannot be added into an non-auth zone
Working of an Alias record:
If a query comes for an Alias record, it will try to resolve the A record and thereby its IP.
In the above scenario, if a query comes for ns1.foo.com, the server will see that ns1.foo.com is a CNAME for abc.test.com and it will resolve to the IP 22.214.171.124.
If the query is for abc.google.com, since we are not at all serving the domain google.com, then it MUST do a recursive query.
Alias --> Host/A record --> IP
Host/A record does not resolve to a CNAME, it will resolve only to an IP.
Users gets confused with the terminology when it comes to a CNAME and ALIAS.
In CNAME Record, the field ALIAS is the FQDN of the ALIAS record and it has to be created in a Primary Zone.
The field "Canonical Name" is the field where you can put the name to which it should resolve. It can be either a record inside the Grid served by Infoblox or it can be a completely external record.
Similarly, in a Host Record, the ALIAS field is same as the CNAME record. The record should be inside a zone served by Infoblox.
Hope this clarifies!
12-06-2017 01:25 PM
That makes sense. In order to get around this I will remove any aliases that do not live in the same zone as the host record. I will edit the zone where the alias is from and add an A record there. This works in the lab.