[SOLVED] DHCP Server loses IP address when switching Wireless AP's

Hello!

This is my first post here so please be kind :slight_smile:.

My Setup
Here you can see a diagram of my setup:

I have three routers. Router A is provided by my ISP (EE) and is the gateway to my network. It is connected to the internet via VDSL and has the IP address 192.168.1.1. It runs the stock EE firmware. WiFi is set up with the same SSID and security as Router C which is also a wireless AP. Wireless clients are able to roam between these AP's freely. DHCP is turned off.

Router B is set up as a dedicated DHCP server. It is a Sky SR102 runnning openwrt. I have the DHCP server enabled on the lan interface giving out IP addresses from 192.168.1.100 to 192.168.1.250. Its IP address is 192.168.1.2. In LuCi I have configured the netmask the same as the gateway (255.255.255.0), the gateway address as 192.168.1.1, and the DNS server also as 192.168.1.1 (so it uses the DNS servers set on Router A - 8.8.8.8 & 8.8.4.4).

Router C is set up as a Wireless AP to cover upstairs. It has the IP address 192.168.1.3. DHCP is turned off on the lan interface so that clients obtain their IP address from Router B. Clients are able to associate to this AP and access the network/internet as intended. It is set up with the same DNS, netmask and gateway address as router 2.

All routers are able to access the internet succesfully as opkg update has succeeded on many occasions.

The Problem
The problem exists between router A and router B. Wireless clients that associate with router C are able to obtain an IP address from router B without any issues. However if a client intitally associates with router A's Wireless AP, or a device choses to roam accross to it from router C in favour of the stronger signal, the client is not able to obtain an IP address from the dedicated DHCP server (router B) or the IP address it obtained when it was connected to router C is not carried accross to the new AP with the device. In essence, router A is not able to supply IP addresses to clients from the DHCP server wheras router C can supply clients with IP addresses from the DHCP server. This means that clients associated to router A eventually self-assign an IP address to themselves and cannot access the internet. Clients can only access the internet via router C.

What I've Tried
From what i understand from my research i need to set a "broadcast address" on the DHCP server in order to advertise its presence to clients (however I could be wrong) though I am not sure what this would need to be set to. I have also enabled the "authoritive" setting since router B is the only DHCP server on the network and also the "force" setting. However neither of these worked. I am limited to the settings I can change on router A as it is the original ISP firmware and does not support openwrt. It is also required as my broadband username and password are hidden deep inside so a third party router cannot be used. However, routers B & C both run openwrt and have LuCi set up for easy configuration.

I really hope some of you are able to help me out and I look forward to hearing from you!! :smile:

I know this doesn't exactly answer your question, but may I ask why do you need 4 routers/devices to do the job of 2?

If your images are real, then it appears that your Router A is similar to BT Smart Hub (that should be good CPU, good WiFi but not supported for OpenWrt), and Router C looks similar to BT Home Hub 5. If it's Type A (Lantiq/QC/Ath) then there is a good chance it's supported for OpenWrt. In which case I would flash it, make it the gateway and the DHCP server, and move Router A to upstairs. The switch (if it's 4 port) can be removed and you connect wired clients directly to the gateway (Router C).

This would help you save power and also would make your network simpler.

Edit: I have just noticed your last sentence about the hidden password thing. Though I wonder if EE would refuse to give you YOUR user name and Password if you asked.

Edit 2: Still, if Router A is a must, I think you should remove Router B and use the DHCP on Router A.

Hi,

The reason for all the routers is simple - features. I have contacted EE in the past and they refused to tell me the Username and Password (in their terms of service they do mention only using their own equipment) therefore Router A is essential to provide internet access. It is not supported by openwrt and must stay on the stock firmware anyway since the DSL credentials are baked into it (presumambly pre-programmed before being sent out).

Router B is required as I wish to implement a captive portal with nodogsplash. Since this package must reside on the DHCP server itself in order to present itself when a user connects, it makes sense to use the router that is supported by openwrt but cannot do WiFi hence cannnot be used as a WAP. I must note that Router B also acts as a switch as it is remote from router A in a cupboard which also houses a file server / NAS and a DVR for CCTV. Therefore it serves a multiple functions of allowing 3 devices to connect to router A with one network cable, responding to DHCP requests and issuing the captive portal when new users connect.

Router C is required to cover the area of the house that the WAP from router A cannot reach. It also acts as a network switch by having a laptop (therefore providing a speedy gigabit connection straight down to the file server) and smart home hub connected. Router C is used quite intensively as it covers the main area of the house and so to distribute the load evenly I chose not to use it as the DHCP server (also beacuse of memory limitations it won't fit nodogsplash).

I hope that makes sense and clears up why I have so many seperate routers. :smile:

I see.

Well, wait for a reply from someone who is more familiar with dnsmasq. As you say, clients of Router C gets IPs from Router B, but those of Router A don't. So the DHCP server is working. But maybe there is more that can be done.

Did you try, for the sake of testing, enabling DHCP server on Router C (along with B or alone) and seei f it will make any difference with Router A.

nodogsplash uses a dhcp of its own and not of the mainstream DHCP server. Also, as a router at B, it should not conflict with the Same subnet at router A.

You may try the following:

Your router B WAN should have a DHCP assgined or static at 192.168.1.x The Router B LAN should have anything to avoid in collusion with A, like 192.168.2.X.

The configuration in nodogslapsh should have like 192.168.3.x or preferably 172.10.10.x.

Note that anything that passes through nodogsplash, it will tough to accessing a NAS or SMB, connected on Router A or C.

Sorry, my bad. nodogsplash dont serve DHCP. I mistaken that for Coovachilli.

Main point, device B stays off the same subnet as device A, if acting as a router.

If I understand the OP right, even though they are "routers", they are all on the same subnet and in fact only Router A is doing routing.

But, yeah, it's a good point to make sure that none of Router B or Router C has it's WAN side (even though it's not used) on 192.168.1.0/24 as that would probably mess things up (or the white nameless device at right lower corner if it's a router).

How can it, possibly, be off the same subset if it's main purpose is to be the DHCP? Anyway, that device has no WAN port, so in this setup it's just a switch as far as topology is concerned.

My bad again. Now, I would presume that when Router B assign the IP addresses against the MAC address, however this is not logged in the Router A’s ARP table. Essentially, Router A does not know the which IP address (though valid) is bond to the respective MAC address in the network.

Is router A isolating clients, perhaps?

3 Likes

Ok so I tried disabling the DHCP on router B and enabling it on router C but it is the same problem - clients that connect to router C get an IP address successfully but clients that connnect via router A fail to obtain an IP address from router C.

The WAN side on all routers is disabled as it isnt required. Also you have understood correct - they are all on the same subnet and Router A is purely acting as a WAP and the route to the internet.

The devices at the bottom of the drawing are an unmanaged network switch with each port going to ethernet wall plates (the 3 squares on the drawing) where wired clients can connect to the network.

IPV6 is turned of completely on every device.

Router C is acting as a Wireless Access Point. Tho acheive this I have:

  • Set a static IP address of 192.168.1.3
  • Connected a LAN port on router C to a LAN port on router A
  • Turned off DHCP

This is the LAN configuration page in LuCi of router C:

Router A does not have DHCP - the only DHCP server in the network is on router B. All routers (192.168.1.1, 192.168.1.2 & 192.168.1.3) have an IP address outside of the DHCP range of router B (192.168.1.100 to 192.168.1.250) so it is impossible for the DHCP server to allocate an IP address to a client that is already used by the routers themselves.

This is the wireless configuration page for router C (both 2.4 and 5 Ghz radios are set the same):

Here is the LAN configuration page of router B if it is of any use:

Could you try to see if you connect a deice by cable to Router A, do they get IPs or not? Or if you have, by chance, any more APs to connect to router A and see if its clients will get IPs or not.

And also have you looked at Router A settings to see if it could be isolating its AP clients, as @eduperez mentioned?

It's funny you mention that, I just thought of trying to connect direct to router A via cable right as you posted :sweat_smile:. I have tried it and it works. The device obtains an IP address from router B as you can see below:

It seems that clients only fail to obtain an IP address when they connnect wirelessly to A. How would I be able to tell by looking at router A if it is isolating clients? Thanks for the help.

Well, I think it's best to ask that question in EE (or BT) forums.

Ok, I will head over there and ask. I'll let you know if I get anywhere. After doing a bit of research on AP isolation it would seem to be the cause of the problem. It explains why wired devices connected to router A can abtain an IP address (as they are not isolated) but wireless clients are being isolated from the wired network - where the DHCP server is located. Thanks for the help.

1 Like