# dnsmasq on two servers with same settings in same network

## DawgG

i'm just wondering: is it possible to run dnsmasq in parallel on two servers in the same network?

i basically need a cheap redundant configuration (isc-dhspc and bind are too big) where both servers serve the same clients with the same settings. no external dns necessary at all.

the resolv.conf-file for the clients would contain both servers as dns-servers and both servers would be configured to use each other as upstream dns-servers. if one server cannot answer the request for a local name from its own leasefile, it just forwards it to the other.

if one server becomes unavailable (crashes or sth) it takes its leasefile with it, so they would have to synchronized somehow (with the dhcp-scripts in dnsmasq?) for local dns to work; in the case of dhcp the client would request a new lease when its leasetime is up which would then be answered by the server that is up: w/out leasefile-synchronization it would re-assigne the requested adress as free (?); with leasefile-synchronisation it would "know" the same mac is trying to renew its lease.

do you see any problems/flaws here? i really haven't found much on the web about this.

right now "redundancy" consists in two identically configured boxes - if one goes down (permanently) the other one is switched on with the same settings - which

1. requires human interaction

2. disrupts network services and availability

3. is completely stupid, braindead and sub-standard

the one servers that's running productively is starting to have intermittent failures, so i'm looking for a solution that is free of points 1. thru 3.

how should i go about it?

the problem is that i cannot do too much testing since this is a productive environment.

THX for your thoughts & input!   :wink:

----------

## gerdesj

You have a lot of questions there!  To which there are many possible answers.  Also I think you may be getting DNS and DHCP  functions a bit mixed up.

(I hope I do not seem too condescending)

DNS - Resolve names to IP addresses

DHCP - Give out IP addresses and possibly update DNS

DHCP - You can run multiple ones anyway - the first one to reply to the broadcast will do the job.  It may be a broadcast but the address allocation bit is still done via two way conversation between client and server.  If the original DHCP server that gave out the address is down then the client will fail over from unicast to broadcast pretty quickly.

You can muck about with clustering them if you want but I shouldn't bother - life's too short.

DNS - Client machines support multiple DNS servers BUT not in perhaps the way that you want.  Windows for example will try the first configured and if it responds in any way will not even look at a second one. (note to self - must check Linux's behaviour!)

So I would say that clustering a DNS server is a good idea if you are really that worried about it.

What is the broken DNS/DHCP system you want to replace?

Your choice of what software to use is your own.  Functionality should guide your choice.  ISC BIND and DHCPD are not for the faint of heart but both are bloody reliable.  dnsmasq is also very good but in different ways.

Unless you are using a mobile phone to run these things, then I would not worry about system utilization.  Use the system(s) that offer the functionality/GUI or whatever that you want.

Heck: use MS or Novell's offerings if that's what's available.  I've used all of them - they all work!

Cheers

Jon

----------

## DawgG

thx for your reply!

right now now i'm running dnsmasq for dhcp and dynamic local nameresolution and the machine it's running on is starting to worry me because of intermittent lockups for no obvious reasons (probably hardware, but that's a different issue). when it is not accessible, clients cannot use some important central services (printing, webproxy, ntp, ...) until the second (spare) box is up. there are all kinds of user issues involved.

since i have already got the second machine i want to run them at the same time as a cheap redundancy/failover solution. for local name resoulution to work there must be some way of synchronizing the dhcp-leasefiles (so that the server that cannot resolve the request for a local name "asks" the other local server (or the client does this).

may be thaa is al little clearer  :wink: 

THX!

----------

