EoIP

Document revision:1.4 (Fri Nov 04 20:53:13 GMT 2005)
Applies to: V2.9

General Information

Summary

Ethernet over IP (EoIP) Tunneling is a MikroTik RouterOS protocol that creates an Ethernet tunnel between two routers on top of an IP connection. The EoIP interface appears as an Ethernet interface. When the bridging function of the router is enabled, all Ethernet traffic (all Ethernet protocols) will be bridged just as if there where a physical Ethernet interface and cable between the two routers (with bridging enabled). This protocol makes multiple network schemes possible.

Network setups with EoIP interfaces:

Quick Setup Guide

To make an EoIP tunnel between 2 routers which have IP addresses 10.5.8.1 and 10.1.0.1:

  1. On router with IP address 10.5.8.1, add an EoIP interface and set its MAC address:

    /interface eoip add remote-address=10.1.0.1 tunnel-id=1 mac-address=00-00-5E-80-00-01 \
    \... disabled=no
  2. On router with IP address 10.1.0.1, add an EoIP interface and set its MAC address::

    /interface eoip add remote-address=10.5.8.1 tunnel-id=1 mac-address=00-00-5E-80-00-02 \
    \... disabled=no

Now you can add IP addresses to the created EoIP interfaces from the same subnet.

Specifications

Packages required: system
License required: Level1 (limited to 1 tunnel) , Level3
Submenu level: /interface eoip
Standards and Technologies: GRE (RFC1701)
Hardware usage: Not significant

Related Documents

Description

An EoIP interface should be configured on two routers that have the possibility for an IP level connection. The EoIP tunnel may run over an IPIP tunnel, a PPTP 128bit encrypted tunnel, a PPPoE connection, or any connection that transports IP.

Specific Properties:

Notes

WDS significantly faster than EoIP (up to 10-20% on RouterBOARD 500 systems), so it is recommended to use WDS whenever possible.

EoIP Setup

Submenu level: /interface eoip

Property Description

arp (disabled | enabled | proxy-arp | reply-only; default: enabled) - Address Resolution Protocol

mac-address (MAC address) - MAC address of the EoIP interface. You can freely use MAC addresses that are in the range from 00-00-5E-80-00-00 to 00-00-5E-FF-FF-FF

mtu (integer; default: 1500) - Maximum Transmission Unit. The default value provides maximal compatibility

name (name; default: eoip-tunnelN) - interface name for reference

remote-address - the IP address of the other side of the EoIP tunnel - must be a MikroTik router

tunnel-id (integer) - a unique tunnel identifier

Notes

tunnel-id is method of identifying tunnel. There should not be tunnels with the same tunnel-id on the same router. tunnel-id on both participant routers must be equal.

mtu should be set to 1500 to eliminate packet refragmentation inside the tunnel (that allows transparent bridging of Ethernet-like networks, so that it would be possible to transport full-sized Ethernet frame over the tunnel).

When bridging EoIP tunnels, it is highly recommended to set unique MAC addresses for each tunnel for the bridge algorithms to work correctly. For EoIP interfaces you can use MAC addresses that are in the range from 00-00-5E-80-00-00 to 00-00-5E-FF-FF-FF, which IANA has reserved for such cases. Alternatively, you can set the second bit of the first byte to mark the address as locally administered address, assigned by network administrator, and use any MAC address, you just need to ensure they are unique between the hosts connected to one bridge.

Example

To add and enable an EoIP tunnel named to_mt2 to the 10.5.8.1 router, specifying tunnel-id of 1:

[admin@MikroTik] interface eoip> add name=to_mt2 remote-address=10.5.8.1 \
\... tunnel-id 1
[admin@MikroTik] interface eoip> print
Flags: X - disabled, R - running
  0 X  name="to_mt2" mtu=1500 arp=enabled remote-address=10.5.8.1 tunnel-id=1

[admin@MikroTik] interface eoip> enable 0
[admin@MikroTik] interface eoip> print
Flags: X - disabled, R - running
  0 R  name="to_mt2" mtu=1500 arp=enabled remote-address=10.5.8.1 tunnel-id=1

[admin@MikroTik] interface eoip>

EoIP Application Example

Description

Let us assume we want to bridge two networks: 'Office LAN' and 'Remote LAN'. The networks are connected to an IP network through the routers [Our_GW] and [Remote]. The IP network can be a private intranet or the Internet. Both routers can communicate with each other through the IP network.

Example

Our goal is to create a secure channel between the routers and bridge both networks through it. The network setup diagram is as follows:

To make a secure Ethernet bridge between two routers you should:

  1. Create a PPTP tunnel between them. Our_GW will be the pptp server:

    [admin@Our_GW] interface pptp-server> /ppp secret add name=joe service=pptp \
    \... password=top_s3 local-address=10.0.0.1 remote-address=10.0.0.2
    [admin@Our_GW] interface pptp-server> add name=from_remote user=joe
    [admin@Our_GW] interface pptp-server> server set enable=yes
    [admin@Our_GW] interface pptp-server> print
    Flags: X - disabled, D - dynamic, R - running
      #     NAME                 USER         MTU   CLIENT-ADDRESS  UPTIME   ENC...
      0     from_remote          joe
    [admin@Our_GW] interface pptp-server>
    
    The Remote router will be the pptp client: 
    
    [admin@Remote] interface pptp-client> add name=pptp user=joe \
    \... connect-to=192.168.1.1 password=top_s3 mtu=1500 mru=1500
    [admin@Remote] interface pptp-client> enable pptp
    [admin@Remote] interface pptp-client> print
    Flags: X - disabled, R - running
      0  R name="pptp" mtu=1500 mru=1500 connect-to=192.168.1.1 user="joe"
           password="top_s2" profile=default add-default-route=no
    
    [admin@Remote] interface pptp-client> monitor pptp
          status: "connected"
          uptime: 39m46s
        encoding: "none"
    
    [admin@Remote] interface pptp-client>
    
    

    See the PPTP Interface Manual for more details on setting up encrypted channels.

  2. Configure the EoIP tunnel by adding the eoip tunnel interfaces at both routers. Use the ip addresses of the pptp tunnel interfaces when specifying the argument values for the EoIP tunnel:

    [admin@Our_GW] interface eoip> add name="eoip-remote" tunnel-id=0 \
    \... remote-address=10.0.0.2
    [admin@Our_GW] interface eoip> enable eoip-remote
    [admin@Our_GW] interface eoip> print
    Flags: X - disabled, R - running
      0    name=eoip-remote mtu=1500 arp=enabled remote-address=10.0.0.2 tunnel-id=0
    [admin@Our_GW] interface eoip>
    
    [admin@Remote] interface eoip> add name="eoip" tunnel-id=0 \
    \... remote-address=10.0.0.1
    [admin@Remote] interface eoip> enable eoip-main
    [admin@Remote] interface eoip> print
    Flags: X - disabled, R - running
      0   name=eoip mtu=1500 arp=enabled remote-address=10.0.0.1 tunnel-id=0
    
    [Remote] interface eoip>
  3. Enable bridging between the EoIP and Ethernet interfaces on both routers.

    On the Our_GW:

    [admin@Our_GW] interface bridge> add 
    [admin@Our_GW] interface bridge> print
    Flags: X - disabled, R - running
      0  R name="bridge1" mtu=1500 arp=enabled mac-address=00:00:00:00:00:00 stp=no
          priority=32768 ageing-time=5m forward-delay=15s
          garbage-collection-interval=4s hello-time=2s max-message-age=20s
    
    [admin@Our_GW] interface bridge> port add bridge=bridge1 interface=eoip-remote
    [admin@Our_GW] interface bridge> port add bridge=bridge1 interface=office-eth
    [admin@Our_GW] interface bridge> port print
    Flags: X - disabled, I - inactive, D - dynamic
     #    INTERFACE      BRIDGE  PRIORITY PATH-COST
     0    eoip-remote    bridge1 128      10
     1    office-eth     bridge1 128      10
    [admin@Our_GW] interface bridge>

    And the same for the Remote:

    [admin@Remote] interface bridge> add 
    [admin@Remote] interface bridge> print
    Flags: X - disabled, R - running
      0  R name="bridge1" mtu=1500 arp=enabled mac-address=00:00:00:00:00:00 stp=no
          priority=32768 ageing-time=5m forward-delay=15s
          garbage-collection-interval=4s hello-time=2s max-message-age=20s
          
    [admin@Remote] interface bridge> port add bridge=bridge1 interface=ether
    [admin@Remote] interface bridge> port add bridge=bridge1 interface=eoip-main
    [admin@Remote] interface bridge> port print
    Flags: X - disabled, I - inactive, D - dynamic
     #    INTERFACE      BRIDGE  PRIORITY PATH-COST
     0    ether          bridge1 128      10
     1    eoip-main      bridge1 128      10     
    [admin@Remote] interface bridge> port print
  4. Addresses from the same network can be used both in the Office LAN and in the Remote LAN.

Troubleshooting

Description