GRE RFC 1701
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 tunnel may run over IPIP tunnel, PPTP tunnel or any other connection capable of transporting IP.
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:
- Possibility to bridge LANs over the Internet
- Possibility to bridge LANs over encrypted tunnels
- Possibility to bridge LANs over 802.11b 'ad-hoc' wireless networks
The EoIP protocol encapsulates Ethernet frames in GRE (IP protocol number 47) packets (just like PPTP) and sends them to the remote side of the EoIP tunnel.
|arp (disabled | enabled | proxy-arp | reply-only; Default: enabled)||Address Resolution Protocol mode.|
|clamp-tcp-mss (yes | no; Default: yes)|
|dont-fragment (inherit | no; Default: no)|
|dscp (integer: 0-63; Default: inherited)||DSCP value of packet. Inherited option means that dscp value will be inherited from packet which is going to be encapsulated.|
|ipsec-secret (string; Default: )||When secret is specified, router adds dynamic ipsec peer to remote-address with pre-shared key and policy with default values (by default phase2 uses sha1/aes128cbc).|
|keepalive (integer[/time],integer 0..4294967295; Default: 10s,10)||Tunnel keepalive parameter sets the time interval in which the tunnel running flag will remain even if the remote end of tunnel goes down. If configured time,retries fail, interface running flag is removed. Parameters are written in following format: |
|l2mtu (integer; read-only)||Layer2 Maximum transmission unit. Not configurable for EoIP. |
|local-address (IP; Default: )||Source address of the tunnel packets, local on the router.|
|mac-address (MAC; Default: )||Media Access Control number of an interface. The address numeration authority IANA allows the use of MAC addresses in the range from 00:00:5E:80:00:00 - 00:00:5E:FF:FF:FF freely|
|mtu (integer; Default: auto)||Layer3 Maximum transmission unit|
|name (string; Default: )||Interface name|
|remote-address (IP; Default: )||IP address of remote end of EoIP tunnel|
|tunnel-id (integer: 65536; Default: )||Unique tunnel identifier, which must match other side of the tunnel|
tunnel-id is method of identifying tunnel. It must be unique for each EoIP tunnel.
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 - 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 modify the auto-assigned address into a 'locally administered address', assigned by the network administrator and thus use any MAC address, you just need to ensure they are unique between the hosts connected to one bridge.
Note: EoIP tunnel adds at least 42 byte overhead (8byte GRE + 14 byte Ethernet + 20 byte IP)