[Dnsmasq-discuss] [FEAT.REQ] Further localisation of --localise-queries
Alex Hermann
alex-lists@waxy.kabel.utwente.nl
Tue, 03 May 2005 13:54:54 +0200
Luca Landi wrote:
> Alex Hermann ha scritto:
>
>>On Sunday 01 May 2005 14:19, Luca Landi wrote:
>>
>>>Alex Hermann ha scritto:
>>>
>>>>>>server: eth0 192.168.1.1 <---> client1 : 192.168.1.101
>>>>>> eth1 192.168.1.2 <---> client2 : 192.168.1.102
>>>>>> eth2 192.168.1.3 <---> client3 : 192.168.1.103
>>>>>> eth3 public ip <---> inet
>>>
>>>[...]
>>>if you want your server to play the role of the switch then all you have
>>>to do is to bring up a bridge interface, [...]
>>
>>Sadly enough, some things aren't possible with the (linux) bridging code.
>>My connections are a horrible mix of Gbit, 100Mbit, 10Mbit and wifi. To
>>get the max out of the Gbit connection I need a high MTU on that iface.
>>The bridging code doesn't support a MTU other than 1500 at all (or just
>>not across different bandwidth devices). Also, there seem to be some more
>>problems with my nics and bridging that need some further investigation.
>
>
> Ok, I see.
>
> So, to go back to your original question, did you try to run three different
> instances of dnsmasq, each serving only one IP address, where two of them
> serve only DNS requests and the third one serves both DNS and DHCP? this
> way you can configure each dnsmasq instance to read a different "hosts"
> file while at the same time keep DHCP centralised. Having different "hosts"
> files let you fine tune which static IP addresses get sent to your clients.
> Basically the whole thing shoud look like this:
>
> dnsmasq -a 192.168.1.1 -H /etc/hosts1 -h -F <your-DHCP-range-of-addresses>
> dnsmasq -a 192.168.1.2 -H /etc/hosts2 -h
> dnsmasq -a 192.168.1.3 -H /etc/hosts3 -h
That would need a separate instance for the DHCP service, otherwise it will
only listen on one interface.
> I only thought it and didn't try it but to me looks like it may work fine.
> The only remaining issue might be the '-h' option, which is needed to
> prevent dnsmasq from reading the main /etc/hosts file. If you have no
> common static hostnames to serve then I think you should be fine, else I'm
> afraid you'd have to duplicate the common static hostnames into the other
> three "hosts" files.
For the common static names, the --addn-hosts option can be used.
This scheme might actually work acceptable, and I will try it. One issue might
be memory consumption when I need multiple instances of dnsmasq, each having a
hosts file of over 500kB in memory (ad-server redirects).
The fallback option will be using separate subnets.
Thanks for the hints,
Alex.