I need a very small, leightweight and fast DNS Proxy for authorative DNS failover/backup. Should be in Python. The server should listen on tcp and udp port 53 and simply forward requests to an internal main DNS server (listening on a different port and address, this should be configurable). If that server responds successfully (status = NOERROR) the proxy sends that response back. If it cannot find a record/is not authorative (status = REFUSED) or is down, the proxy checks a backup DNS server (again listening on a different port and address, this should be configurable).
It then returns the response from the backup DNS server or doesn't do anything if that one too is down (thus creating a normal timeout).
So no request or response creation or manipulation required. So just simply forwarding responses and requests and only need to understand the response from the main DNS server (NOERROR/REFUSED or failure).