possible patch for implementing split DNS

Julian Elischer julian at elischer.org
Mon Aug 28 23:17:46 UTC 2006


Doug Barton wrote:

>Julian Elischer wrote:
>  
>
>>Duane Whitty wrote:
>>    
>>
>
>  
>
>>>Hi Julian,
>>>
>>>I'm no expert so I apologize in advance if I am wasting your time.
>>>
>>>I was just wondering if you could use the multiple views facility as 
>>>provided by Bind 9?  I'm currently using the technique to provide
>>>different views of my network depending on whether access is coming
>>>from an internal address or an external address.  Perhaps I am not
>>>fully understanding the depth of the problem.
>>>      
>>>
>
>  
>
>>I'm not an expert on bind 9 views, but I want two sibling processs to get
>>different network views. can I do that on a freebsd6.1 machine using
>>stock gethostbyname() from libc?
>>    
>>
>
>I waited to suggest this based on whatever additional information you
>provided, but it sounds like this could work, with the condition that you be
>able to identify the IP addresses (or better yet, ranges) that the different
>categories of process will be assigned to in advance; or that you could
>configure named.conf (or an include file) on the fly. And of course, all
>THIS is presupposing that you can get both views (inside and outside) on the
>same nameserver, that is available to both sets of processes.
>  
>

the machine is running a proprietary name server. but I want to alter 
resolv.conf to bypass this and
go elsewhere for some processes. The processes in this machine are on 
one of two addresses but
there is no correlation between which address they are bound to and how 
I where I want them to
go for name resolution. Anyhow, I've yet to find a way to make 
gethostbyname bind to a particular
address.


It is intersting that people are suggesting tons of really complicated 
solutions involving loading essoteric
softwere or setting up complicated virtual machines when listenning to a 
simple environment variable
will do the trick.. For comparison, the nsswitch code in current ALREADY 
listens to an environment variable
for an alternate name for /etc/nsswitch.conf..

i.e. nsdispatch.c:   path = getenv("NSSWITCH_CONF");


>So, not trivial, but could possibly solve your problem.
>
>Doug
>
>  
>


More information about the freebsd-net mailing list