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.

Reply via email to