Ethernet over IP (EoIP) Tunnel Interface

Document revision 1.2 (30-May-2003)
This document applies to the MikroTik RouterOS V2.7

Table of Contents

Overview

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 level 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:

Specifications

Packages required : None
License required : Basic (DEMO license is limited to 4 tunnels)
Home menu level : /interface eoip
Standards and Technologies : GRE (RFC1701)
Hardware usage: not significant

Related Documents

Software Package Installation and Upgrading
IP Addresses and Address Resolution Protocol (ARP)
Bridge Interfaces
PPTP (Point to Point Tunnel Protocol) Interface

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:

EoIP Setup

Submenu leve : /interface eoip

Property Description

name (name; default: eoip-tunnelN)- interface name for reference
mtu (integer; default: 1500) - Maximum Transmission Unit. The default value provides maximal compatibility
arp (disabled | enabled | proxy-arp | reply-only; default: enabled) - Address Resolution Protocol
tunnel-id (integer; default: 0) - a unique tunnel identifier
remote-address - the IP address of the other side of the EoIP tunnel must be a MikroTik router

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 participient 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 tunnrl).

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

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.

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 forward-protocols=ip,arp,other \
    \... disabled=no
    [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
           forward-protocols=ip,arp,other priority=1
    
    [admin@Our_GW] interface bridge> port print
    Flags: X - disabled
      #   INTERFACE                            BRIDGE
      0   eoip-remote                          none
      1   office-eth                           none
      2   isp                                  none
    
    [admin@Our_GW] interface bridge> port set "0,1" bridge=bridge1
    

    And the same for the Remote:

    [admin@Remote] interface bridge> add forward-protocols=ip,arp,other \
    \... disabled=no
    [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
           forward-protocols=ip,arp,other priority=1
    
    [admin@Remote] interface bridge> port print
    Flags: X - disabled
      #   INTERFACE                            BRIDGE
      0   ether                                none
      1   adsl                                 none
      2   eoip-main                            none
    
    [admin@Remote] interface bridge> port set "0,2" bridge=bridge1
    
  4. Addresses from the same network can be used both in the Office LAN and in the Remote LAN


© Copyright 1999-2003, MikroTik