<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Hi,<div><br></div><div>I use DNSmasq to provide DNSH/DHCP to multiple subnets and have many with hosts which are multihomed in several of these subnets. The dnsmasq servers themselves have an interface in all subnets.  If a client looks up a hostname for a host not in its primary subnet, it gets a list of all addresses for that host in a random order. Is it possible instead to specify an address/subnet as the "best" one for a multihomed host? So that instead of getting all addresses when the host is not in the client subnet it could be limited to a single address/subnet? In my case this would be the external facing one for which I know there is an allowed network path to reach. </div><div><br></div><div>As an example, I have two clusters managed this way, they are not allowed to speak to each other over the private internal trusted cluster network but can by traversing the external facing firewalls for each. If I look up my login nodes on cluster A from a node in cluster A I correctly get the internal private cluster addresses:</div><div><br></div><div><div><font size="1" face="monospace, monospace">[griznog@smsx10srw-srcf-d15-36 ~]$ host login </font></div><div><font size="1" face="monospace, monospace">login.clusterA has address 10.1.1.6</font></div><div><font size="1" face="monospace, monospace"><span style="font-size:x-small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">login.clusterA has address 10.1.1.8</span></font></div><div><font size="1" face="monospace, monospace">login.clusterA has address 10.1.1.7</font></div><div><font size="1" face="monospace, monospace">login.clusterA has address 10.1.1.9</font></div><div><br></div><div>But if I look up login nodes for A from cluster B which has no access to Cluster A private subnet I get</div><div><br></div><div><font face="monospace, monospace" size="1">[griznog@smsx11qph-srcf-f5-09 ~]$ host login.clusterA  </font></div><div><span style="font-family:monospace,monospace;font-size:x-small">login.clusterA has address 10.1.1.7</span><br></div><div><font face="monospace, monospace" size="1"><div style="font-family:Arial,Helvetica,sans-serif;font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial"><font face="monospace, monospace" size="1">login.clusterA has address 14.14.14.56</font></div><div style="font-family:Arial,Helvetica,sans-serif;font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial"><font face="monospace, monospace" size="1">login.clusterA has address 14.14.14.59</font></div>login.clusterA has address 10.1.1.8</font></div><div><font face="monospace, monospace" size="1">login.clusterA has address 10.1.1.9</font></div><div><span style="font-family:monospace,monospace;font-size:x-small">login.clusterA has address 14.14.14.57</span><br></div><div><font face="monospace, monospace" size="1"><div style="font-family:Arial,Helvetica,sans-serif;font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial"><font face="monospace, monospace" size="1">login.clusterA has address 10.1.1.6</font></div>login.clusterA has address 14.14.14.58</font></div><div><br></div><div><br></div><div>What I'd like to be able to do is make that return only the external facing addresses, e.g.,</div><div><br></div><div><font size="1" face="monospace, monospace">login.clusterA has address 14.14.14.56</font></div><div><font size="1" face="monospace, monospace">login.clusterA has address 14.14.14.57</font></div><div><font size="1" face="monospace, monospace">login.clusterA has address 14.14.14.58</font></div><div><font size="1" face="monospace, monospace">login.clusterA has address 14.14.14.59</font></div></div><div><br></div><div>All hosts use the dnsmasq interface in their respective private subnets to do name lookups. I think what I want to be able to do is somehow "rank" a subnet so that if a request comes in for an address and there isn't an answer in the available subnet only the first and highest ranked subnet will get returned. Is this (or another method of handling this) possible?</div><div><br></div><div>Best,</div><div><br></div><div>griznog</div><div><br></div><div><br></div><div><br></div><div><br></div></div></div></div></div></div></div>