0

I have two internet connections and three separate wireless routers on the same network. The two dlink routers are serving one internet connection and the speedport the other internet connection.

My problem is that when I connect to my first dlink router via wifi, it gets the speedport router's DHCP server. I would expect the connected router's DHCP server to win the DHCP request broadcasting race. Is there anything I could do for this to happen?

Connecting to the second dlink router that is a newer router it gets its DHCP server correctly. Maybe changing the first dlink router to the model of the other dlink could solve the problem, in the firmware update changelog for this model there is nothing related to DHCP...

It is important that there is a local server on the network that has to be accessible no matter to which wifi one is connected - this is why I don't want to give separate subnets for the routers.

Note: I know that this subject in the form of multiple DHCP servers on the same network already exists here, but here I have a specific question to wifi router's DHCP race conditions. If there is an option in router settings that could make the router's DHCP server to win the race for DHCP response or the validation that newer routers handles this as expected.

Pierre.Vriens
  • 1,159
  • 34
  • 15
  • 19
obeliksz
  • 183
  • 2
  • 12
  • to the down voter who didn't comment: I know that this subject in the form of multiple DHCP servers on the same network already exists here, but here I have a specific question to wifi router's DHCP race conditions.. If there is an option in router settings that could make the router's DHCP server to win the race for DHCP response or the validation that newer routers handles this as expected. – obeliksz Apr 11 '16 at 11:36
  • 1
    Don't worry too much about downvotes ... because downvoting questions is cheap (the downvoter does not loose like -1 rep as is the case for downvoting an answer). Moreover, the reputation gain for 1 upvote counts for 2,5 downvotes, right? And guess what: you just earned the privilege to start upvoting! PS: wanna "accept" my suggested edit (your comment belongs "in" your question, it's easier to digest your question ... – Pierre.Vriens Apr 11 '16 at 12:00

1 Answers1

2

It seems like you are asking for something completely different from what you really need. What I read from your question is that you have some number of independent routers connected to different ISPs and as long as those are not interconnected with each other, the network works as intended.

Now you want one server to be reachable from each network, so you try to join the LAN side of all your routers in order for this server to be on all of the LANs. That can work if you are very careful with your configuration, but it is overly complicated for what you are trying to accomplish.

Instead don't join the LANs together. Instead connect the server to all of them either by installing enough network interfaces in the server itself, or by installing a VLAN capable switch between this server and the routers.

In order for this to work reliably, the LAN side of each router must use different IP addresses, otherwise the server won't know which LAN each client belongs to. If you are using IPv6 this part is guaranteed to be satisfied by any standards compliant router. If you are using IPv4 you most likely have to manually configure the IP prefix on the LAN side of each router to not be overlapping. If you are using dual stack on all the routers, you can save yourself some trouble by configuring the server with IPv6.

If you for some reason need the server to be on the same IP address seen from all clients, that can be achieved as well. Choose one of the IP addresses assigned to this server to be canonical. On all the other routers configure one entry in the routing table specifying an IP address of the server as gateway to the canonical IP address of the server.

For example if the server is connected to three LANs with IP addresses 172.16.0.7, 172.17.0.7, and 172.18.0.7. You might choose to use 172.16.0.7 as the canonical IP address which clients are supposed to use. The router connected directly to 172.16.0.7 does not need any additional route. But the router connected to 172.17.0.7 would think that 172.16.0.7 is on the WAN. To fix that create a routing table entry indicating that there is a route to 172.16.0.7 using 172.17.0.7 as gateway. On the last router create a route to 172.16.0.7 using 172.18.0.7 as gateway.

kasperd
  • 30,455
  • 17
  • 76
  • 124
  • By cannonical IP address you mean to assign for the server's mac a specific IP address in all the router's configuration, even if that is not member of that router's subnet? – obeliksz Apr 12 '16 at 05:47
  • @obeliksz I have extended my answer with an example, does that help? – kasperd Apr 12 '16 at 07:32
  • Ok, thanks now I see how it would work out. And I should assign cannonical ip addresses also for the printers as well to be seen, to be available on all the wifis..I'll try it. – obeliksz Apr 12 '16 at 08:18
  • The server has a single network interface, so when it is connected to another ISP, not to the canonical network with 172.16.0.7 but with 172.17.0.7 and a computer from the network 172.18.0.0 tries to locate it, it will fail, right? So it seems like that I can't use this method, right? – obeliksz Apr 13 '16 at 07:41
  • To make just minimal changes to the current state of the configuration I turned off the wifi on the first router. I have 2 ISP on the 3 routers (one is AP), the one that remains with wifi enabled has a signal that covers pretty well the office. Otherwise I would have to configure separate networks and follow your answer, so your answer is the good and general answer to my question – obeliksz Apr 13 '16 at 10:34