Can't get EoIP to work between OpenWrt and Mikrotik routers

I have an OpenWRT router that is behind the wall. My devices are connected to it via WiFi.

Now I'd like to connect 2 PCs using ethernet cable, but can't do this directly to OpenWRT router, so I got Mikrotik router that works in station (wifi client) mode and shares internet using its integrated switch to my 2 PCs. PCs connected to my Mikrotik router will get DHCP address from OpenWRT DHCP server (in theory).

So as expected, the problem is that there is no L2 connectivity, so my PCs wouldn't get IP address from the router directly, so I want to use EoIP between these 2 routers in order to achieve a proper L2 connectivity. Even Mikrotik wiki suggests that this is one of the most popular EoIP use cases - to workaround L2 limitations when sharing internet over WiFi this way.

Here are more details:

OpenWRT router

  • Primary router that has DHCP server.
  • Bridge device has IP 192.168.100.1.
  • LAN network is 192.168.100.0/24.

Mikrotik router

  • No configuration, only bare minimum set up.
  • Has static IP on wifi interface 192.168.100.2/24.

I can ping both routers from each other, so there is connectivity and it is working fine.

  • On OpenWRT I setup a EoIP tunnel using luci-app-eoip app, used tunnel ID 100 and destination IP 192.168.100.2. Then I added EoIP interface to the LAN bridge.
  • On Mikrotik router I setup EoIP tunnel, set remote IP 192.168.100.1.

Now the EoIP tunnel on Mikrotik router never gets "running".

This is my first time setting up EoIP tunnel on OpenWRT, but I've done several EoIP tunnels on Mikrotik routers and they worked fine. What am I doing wrong here?

If it's not an error (typo) when creating the topic, you need to swap the remote/destination IP addresses.

You mean that zeoip0 (or whatever the interface name is) is listed as a port in the br-lan devices section, right?
This is important for the tunnel to go up.

I made a mistake while creating a topic. Fixed that typing mistake now...

I added it to the LAN bridge. In Network -> Interfaces -> Devices.

A similar configuration works for me.
A PC connected to the MikroTik's port ether4 receives its IP configuration directly from the OpenWrt guest interface.

image
image
image

# /etc/config/eoip

config eoip
        option enabled '1'
        option name '0'
        option idtun '101'
        option dst     '192.168.4.103'
        option dynamic '1'

# /etc/config/network

config device
        option type 'bridge'
        option name 'br-guest'
        list ports 'eth0.4'
        list ports 'zeoip0'

root@OpenWrt:~# brctl show br-guest
bridge name     bridge id               STP enabled     interfaces
br-guest        7fff.909a4a96c58a       no              eth0.4
                                                        zeoip0
                                                        wlan1
1 Like

I've tried dozen of different configurations and it doesn't work to me. It never gets "running" on Mikrotik... I will just use pseudobridge on Mikrotik.

HOLY S**T, IT STARTED TO WORK. All I had to do is to uncheck the "Drop invalid packets" in OpenWRT router -> Network -> Firewall -> General settings. Issue solved.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.