I wanted to document a new knowledge I discovered recently. It shows how I used a D-Link router to extend the wireless coverage while keeping only one networking subnet.
Background
I live in a Victorian terrace house which is narrow and long. The main router from the ISP (VM Hub 3) is located at the front of the house. As a result, the study room which is located at the back of the house does not get strong WiFi signals. To address this, I set up a router (D-Link DIR 882) in the study room and run an ethernet cable from the VM router.
Up until recently, I set it up like I would if I only had one router:
- The ethernet cable coming from the VM router goes into the WAN port. <– Mistake!
- Additional devices can be connected to the other LAN ports of the D-Link router.
- Devices can connect to the access point of the D-Link router.
All this works well but there are some subtleties with this setup.
The Problem of Multiple Subnets
The D-Link and VM routers are both DHCP server by default.
Devices connected to the D-Link router gets allocated IP addresses in the 192.168.100.0/24
subnet.
Whereas devices connected to the VM router gets allocated address in the 192.268.0.0/24
subnet.
In both cases, devices can connect to the internet fine. It can also reach devices in the same subnet.
However, they cannot reach devices in the other subnet.
I want devices connected to the VM router to be able to reach servers connected directly to the D-Link router.
I wanted to do this to set up a backup server. More on this in another post.
Conceptually, I want to be able to edit the route table of the VM router to route traffic to the other subnet to the D-Link router.
However, given that it’s a proprietary router, that’s not possible.
As an aside, the 192.168.1.0/24
subnet is also reserved for guest network by the VM Hub 3 router.
So that could potentially cause clashes too had the D-Link router decide to allocate IP addresses in that block.
After much searching on the internet, I found this post which described a very similar issue I was facing. The solution was to set the D-Link router to “bridge” mode. That effectively causes it to act like a switch with a wireless access point. I didn’t know that was possible and thought it is blog worthy!
Setting Router to Bridge Mode
So what needs to happen is the following:
- Instead of connecting the ethernet cable to the WAN port, I need to connect it to one of the 4 LAN ports.
- Log on to the admin page (
dlinkrouter.local
is the default address) on a device that is connected to it. - The internet settings will show up as disconnected, which is intended.
- Configure the Settings > Network mode.
- Set the LAN IP address to an IP in the VM router subnet range. e.g. 192.168.0.100
- Very important Disable the DHCP server!
I initially hadn’t done step 6 which broke internet connectivity Apple devices. (This resulted in an irritated wife.) The Apple devices were setting the gateway address to the D-Link router. I reckon this is due to a race condition for the DHCP response packet.
PS: This forum post goes into more detail about what is needed in case it is useful for someone reading this in the future.
Conclusion and Afterthoughts
It is possible to use the router as a switch and still benefit from the WiFi access point. The D-Link router is also able to set up a guest network. I have not tried whether the guest networks of both devices can be in the same subnet (my hunch is no).
Apparently other routers like Asus (see this video) have a setting to turn it into access point mode which is simpler.
It is also a valid set up to connect ethernet cables to the LAN ports. I always imagined the LAN ports as downstream, and the WAN port as upstream.