Why send it to a secondary program? Just have named look the name up in the database directly and then use a route socket to inject the route. Named already uses a route socket to track interfaces coming and going.
Note: CDN’s use the same machine for multiple names so you may not always get the result you are after. Mark > On 26 Jun 2018, at 3:08 pm, Dale Mahalko <dmaha...@gmail.com> wrote: > > (Hello, I am new to the list. And this may possibly be my only post here..) > > I am looking for a way on Linux to do domain name based multihome routing. > > Essentially every time a domain name lookup request occurs: > > * Rather than immediately returning the results to the requesting program, > instead Named/BIND should pause the process and send the results out to a > secondary program. > > * The secondary program looks up the domain in a database, which also > includes the multihome destination for each domain. If a match is found, a > route is created to that multihome destination. Aliased acceleration domains > such as Akamai will be matched using the primary domain name. > > * Control is now returned to Named/BIND which returns the results as usual to > the original requester. When the secondary program uses the numeric > address(es) returned by Named/BIND, it is routed according to the multhome > destination list. > > , > > Is there any way to do this with Named/BIND the way it is currently > programmed, or would it be necessary to hack the source to insert this > redirection step? > > The specific reason why I need this is that I am one of the many thousands of > rural people in the United States who are stuck on a horribly slow DSL > Internet connection, with a maximum speed of 1.5 megabit down, 0.25 megabit > up, and no way to upgrade. The one redeeming quality of it, is that the > monthly bandwidth is essentially uncapped. > > I am looking into buying a second, expensive cellular data plan which allows > 4G speeds of up to about 15 megabit, but which has a monthly data cap of > about 25 gigabytes. > > I want to conserve the limited high-speed cellular bandwidth as much as > possible, and put all the downloads that I don't care about on the slow DSL. > > * I want to put all the huge background bandwidth eating maintenance > downloads such as Microsoft Windows updates, Microsoft Store updates, > Microsoft P2P updates, Steam game downloads and updates, Adobe updates, > iTunes updates, iPhone iOS and App updates, and so forth on the slow DSL. > > * I want to put all the other things that are important to me like > multiplayer gaming UDP streams, remote desktop / SSH, video streaming, and > general web browsing on the cellular modem. > > , > > Due to there being thousands and thousands of cloud servers, plus bandwidth > optimization services, it is virtually impossible for me to know in advance > and manually/statically route all possible servers that Microsoft, Steam, > Adobe, Apple or any other cloud hosted and Akamai/AWS accelerated business > may use. > > In most cases it is not possible to know what newly created cloud servers > these companies will use until the moment they actually request a domain > lookup for that new server within their parent domain. > > Hence the multihome routing for these domains must be done dynamically on the > fly, as they are being requested from the name lookup service, but before the > lookup results are returned to the originating program requesting the lookup. > > > Dale Mahalko, Gilman, WI, USA > _______________________________________________ > Please visit https://lists.isc.org/mailman/listinfo/bind-users to unsubscribe > from this list > > bind-users mailing list > bind-users@lists.isc.org > https://lists.isc.org/mailman/listinfo/bind-users -- Mark Andrews, ISC 1 Seymour St., Dundas Valley, NSW 2117, Australia PHONE: +61 2 9871 4742 INTERNET: ma...@isc.org _______________________________________________ Please visit https://lists.isc.org/mailman/listinfo/bind-users to unsubscribe from this list bind-users mailing list bind-users@lists.isc.org https://lists.isc.org/mailman/listinfo/bind-users