I've come across an issue, and after spending days investigating I've realised I need some advice. My networking skill level is still quite low.

I've got two routers, with two LANs. I've connected one of the routers to the other via a LAN <-> WAN connection, creating a separate network to contain controller and devices. The main reason for two routers is so that I can have a separate DCHP server for Router B's connections. See below for the image:


I have access to the controller via Router A's network, I can get to the web based GUI to see all my devices on the network via setting the ports/virtual servers on Router B. However, I have code on the controller that needs to monitor devices on Router As LAN. The code needs access to the subnet so that it can resolve IPs to MAC addresses (ARP requests). Currently I can ping from Router B's devices to Router A's devices, but can't resolve IP to MAC addresses (I'm using NMAP). I believe this is because ARP requests only work in the same subnet.

Is it possible to add a second static IP in the same subnet as Router A's LAN (outside of DHCP range of A) to the controller on Router B's network, and somehow route this through Router B so that the requests are resolved and sent back?

If not, is there an alternative?

Additional Information:

Controller : Linux - Raspbian

Router A: Belkin Modem-Router

Router B: Edimax Router

  • For proper consideration of this problem, without the complaint that 'home' networks are off-topic here, you should edit the question to read 'lab' instead of home. This really falls in the overlap between SuperUser stack and ServerFault.. – Xalorous Nov 10 '16 at 0:56

Network A is using one 24 bit subnet of the reserved, private (non-routeable) Class C network (192.168.x.x). Network B is using a different network, but not within the reserved, private Class C. If you rework it with Network B on 192.168.3.x, you may find a bit better luck.

The external connection for Network B should have an address on 192.168.2.x. Router B (and all Network B hosts) should have that address as external gateway. The addresses of all Network B hosts should be 192.168.3.x. If Router B is not doing NAT, you need to set up IPTables on it to do NAT.

I think you'll also need to build static routes for A->B (on Router A) and B->A (on Router B), since you're using non-routable IPs.

Another option would be to remove Router B and replace it with a switch, and use DHCP reservations on Network A for each of the Network B systems. Then they're all on the same IP network.


I've come to the conclusion that I cannot resolve MAC addresses if the controller is not directly connected to Router As network. Not sure if it is possible to use static routes to allow the controller ARP requests to get passed straight though to Router A's network, but it seems like a lot of manual configuration when I can configure the below and it works as desired.


The only downside is that devices on Router B's network do not have access to the internet, but that can be solved by connecting Router B's WAN connection to Router A's Lan connection and should not cause any headaches.

With the current setup I cannot access Router B's web interface directly from Router As network, but it might be possible to configure a static route in the controller to allow access to Router B's gateway. Or connect Router B to Router A and just access it via a DHCP assigned IP from Router A.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.