<div dir="ltr">On Thu, Apr 16, 2015 at 2:03 PM, Bob Harold <span dir="ltr"><<a href="mailto:rharolde@umich.edu" target="_blank">rharolde@umich.edu</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">We use ExaBGP to query the DNS process locally and advertise/withdraw routes.<div><br></div>We use BFD between the server and the router to detect link failure (or server crash):<br>The BFD (Bidirectional Forwarding Detection) protocol is designed to provide <br>rapid detection of communication failures between two devices.  Routing <br>protocols can use BFD state to rapidly (< 1 second) withdraw routes in the <br>event of a failure, without having to wait for a routing protocol timeout <br>(3 minutes by default for BGP).<div><br></div><div>Seems to work well.</div><span class=""><font color="#888888"><div><br></div><div class="gmail_extra"><div><div>-- <br>Bob Harold</div></div></div></font></span></div></blockquote><div><br></div><div>But that only protects from the system going down, not the DNS server failing in some manner. We used a monitor that actually made test queries to the server and then used bgpd to pull the anycast address down after N consecutive failures or more than M of the last K queries. I no longer have access to the trivial script since I retired.<br><br></div><div>It's really harder than it looks to do right and I don't think my code was adequately rigorous, but was capable of responding to most issues. I'm sure more heuristics really needed to be added.<br></div><div>--<br clear="all">Kevin Oberman, Network Engineer, Retired<br>E-mail: <a href="mailto:rkoberman@gmail.com" target="_blank">rkoberman@gmail.com</a> <br></div></div></div></div>