<div dir="ltr">Hi,<div><br></div><div>I'm new to unbound but fairly well versed with bind. I'm currently building a ha caching recursive dns solution for a client. I am using a pair centos machines and ucarp for HA. The problem I am having is the the public interface which users query has multiple ips (from the ucarp config) The users will query the 2nd or 3rd ips on the box not the 1st as that isnt a HA vip. This is fine, however unbound replies to the client using 1st ip on the nic as the source address not the destination address the client requested on.  eg</div>
<div><br></div><div><div>pub       Link encap:Ethernet  HWaddr 00:0C:29:7E:1D:89  </div><div>          inet addr:x.x.x.x.58  Bcast:x.x.x.x  Mask:255.255.255.240</div><div>--</div><div>pub:1     Link encap:Ethernet  HWaddr 00:0C:29:7E:1D:89  </div>
<div>          inet addr:x.x.x.60  Bcast:x.x.x.x  Mask:255.255.255.255</div></div><div><br></div><div>on the server</div><div><br></div><div><div># tcpdump -i pub -l -nn port 53 and host x.x.x .59</div><div>tcpdump: verbose output suppressed, use -v or -vv for full protocol decode</div>
<div>listening on pub, link-type EN10MB (Ethernet), capture size 65535 bytes</div><div>10:16:36.054351 IP x.x.x.59.53539 > x.x.x.60.53: 23690+ A? <a href="http://www.yahoo.com">www.yahoo.com</a>. (31)</div><div>10:16:36.410917 IP x.x.x.58.53 > x.x.x.59.53539: 23690 6/0/0 CNAME <a href="http://fd-fp3.wg1.b.yahoo.com">fd-fp3.wg1.b.yahoo.com</a>., CNAME <a href="http://ds-fp3.wg1.b.yahoo.com">ds-fp3.wg1.b.yahoo.com</a>., CNAME <a href="http://ds-eu-fp3-lfb.wa1.b.yahoo.com">ds-eu-fp3-lfb.wa1.b.yahoo.com</a>., CNAME <a href="http://ds-eu-fp3.wa1.b.yahoo.com">ds-eu-fp3.wa1.b.yahoo.com</a>., A 87.248.122.122, A 87.248.112.181 (167)</div>
</div><div><br></div><div><br></div><div>from the client</div><div><br></div><div><div># dig <a href="http://www.yahoo.com">www.yahoo.com</a> @x.x.x.60 +short</div><div>;; reply from unexpected source: x.x.x.58#53, expected x.x.x.60#53</div>
<div>;; reply from unexpected source: x.x.x.58#53, expected x.x.x.60#53</div><div>;; reply from unexpected source: x.x.x.58#53, expected x.x.x.60#53</div></div><div><br></div><div><br></div><div>this is obviously going to cause a lot of issues and break dns passing through firewalls etc. I know bind doesnt suffer this issues how can I fix it with unbound?</div>
<div><br></div><div><br></div><div>I could run two instances of unbound each only listening on each ha vip and then get ucarp to control the startup and shutdown. This however seems very wasteful of resources.</div></div>