Mikrotik vs Linux Router

Dear All.

I have two router with different OS, here the scheme:

Linux Router:
eth0 : 203.191.40.6/29
eth1 : 192.168.1.1/24
static IP for LAN, using SNAT

MT Router / for serve hotspot user:
ether1 : 203.191.40.5/29
ether2 : 10.10.10.1/24
hotspot enable, dhcp server, masquerade.

Hotspot system working OK, with or without radius. But if client using static IP under Linux router (192.168.1.x/24), there ask for hotspot authentication too. Same as hotspot client.

How to solve this problem?, because I can’t migrate all of the router to Mikrotik :slight_smile:

Thx before.

hello

Your problem probably lies with proxy arp. I do not know the settings you would need to change, you could use a layer2-3 switch B to solve this as well.

What is your AP, is it a bridge, router etc? If a bridge, what is it doing with Mac Addresses, passing them or overwriting them.

Here is a quick fix that may work:

how many clients on the static route for the linux router?
If you enter credentials for hotspot, does traffic route properly?

I ask because if you have not many and it routes proper, you can enter mac address credentials for hotspot.

I know this is a bad hack but may let your customers online while you figure out your arp problem.

Dear Miahac, thanks for reply.

I just wanna customers under linux router working fine like before I add MT router for hotspot service because there have 70 old clients. Hotspot is our new services, and not yet implement it till solve this problem. Now, I disable hotspot and using pptp from MT for clients where need authentication system.

I use AP Bridge to clients, and passing Mac Address.

Any other idea please? whithout change switch or other hardware :slight_smile:
Maybe have some rules, scripts or anything for MT or linux router.

many thanks.

It has to do with the Proxy Arp as mentioned before and was called universal client in the 2.8.x versions.

Try editing your hotspot server settings and set the address pool to none with:

ip hotspot set hotspot1 address-pool=none