EoIP
MikroTik RouterOS 中的 Ethernet over IP (EoIP) 隧道使用 GRE 封装在 IP 网络上创建安全的二层桥接,支持 LAN 扩展、通过 IPsec 加密连接等灵活拓扑。
EoIP
Ethernet over IP (EoIP) 隧道是 MikroTik RouterOS 的一种协议,用于在 IP 网络上的两台路由器之间创建以太网隧道。它基于 GRE 封装(RFC 1701),允许以太网帧通过路由式 IP 基础设施传输,从而在远程站点之间有效扩展二层网络。
EoIP 隧道接口在 RouterOS 中表现为虚拟以太网接口,可以与桥接功能配合使用。当添加到网桥后,所有以太网流量(包括广播和非 IP 协议)都会通过隧道转发,如同两个端点由物理以太网链路直接相连。
EoIP 隧道可以运行在 IPIP、PPTP 或任何其他支持 GRE 封装的基于 IP 的传输之上。这为构建各种网络拓扑提供了灵活性。
EoIP 的典型用例包括:通过互联网桥接 LAN 网段、跨加密隧道扩展 LAN(与 IPsec 或其他安全传输结合使用时),以及通过无线点对点或 ad-hoc 链路连接网络。
EoIP 将以太网帧封装在 GRE(IP 协议 47)数据包内,并将其转发到远程隧道端点。接收端路由器解封装数据包,并将原始以太网帧注入本地桥接域。
EoIP 在 /interface/eoip 和 /interface/eoipv6 菜单中配置。
配置示例
参数 tunnel-id 是一种标识隧道的方法。每个 EoIP 隧道的该参数必须唯一。
提示
EoIP 隧道至少增加 42 字节的开销(8 字节 GRE + 14 字节以太网 + 20 字节 IP)。将 MTU 设置为 1500 可消除隧道内的数据包分片,从而支持类以太网网络的透明桥接,使你能够在隧道上传输完整大小的以太网帧。 桥接 EoIP 隧道时,应为每个隧道设置唯一的 MAC 地址,以便桥接算法正常工作。对于 EoIP 接口,你可以使用 00:00:5E:80:00:00 - 00:00:5E:FF:FF:FF 范围内的 MAC 地址,IANA 已为此类情况保留了该范围。或者,你可以设置第一个字节的第二位,将自动分配的地址改为由网络管理员分配的“本地管理地址”,从而使用任意 MAC 地址。你只需确保连接到同一网桥的主机之间这些地址是唯一的。
示例
此示例展示如何桥接两个网络:'Station' 和 'AP'。使用 EoIP,你可以设置网络使 Station 和 AP 的 LAN 共享同一个二层广播域。
考虑以下拓扑:

无线工作站无法桥接。为了在不使用 WDS 的情况下克服此限制,可以通过无线链路创建 EoIP 隧道,并将其与连接到本地网络的接口一起桥接。
此示例不涉及无线配置。假设无线链路已经建立。
首先,在 AP 上创建 EoIP 隧道:
/interface/eoip/add name="eoip-remote" tunnel-id=0 remote-address=10.0.0.2 disabled=no
验证接口已创建:
[admin@AP] > /interface/eoip/print
Flags: X - disabled; R - running
0 R name="eoip-remote" mtu=auto actual-mtu=1458 l2mtu=65535 mac-address=FE:A5:6C:3F:26:C5 arp=enabled
arp-timeout=auto loop-protect=default loop-protect-status=off loop-protect-send-interval=5s
loop-protect-disable-time=5m local-address=0.0.0.0 remote-address=10.0.0.2 tunnel-id=0
keepalive=10s,10 dscp=inherit clamp-tcp-mss=yes dont-fragment=no allow-fast-path=yes
Station 路由器:
/interface/eoip/add name="eoip-main" tunnel-id=0 remote-address=10.0.0.1 disabled=no
验证接口已创建:
[admin@Station] > /interface/eoip/print
Flags: X - disabled; R - running
0 R name="eoip-main" mtu=auto actual-mtu=1458 l2mtu=65535 mac-address=FE:4B:71:05:EA:8B arp=enabled
arp-timeout=auto loop-protect=default loop-protect-status=off loop-protect-send-interval=5s
loop-protect-disable-time=5m local-address=0.0.0.0 remote-address=10.0.0.1 tunnel-id=0
keepalive=10s,10 dscp=inherit clamp-tcp-mss=yes dont-fragment=no allow-fast-path=yes
接下来,在 AP 上将本地接口与 EoIP 隧道桥接。如果你已经有本地网桥接口,将 EoIP 接口添加到其中:
/interface/bridge/port/add bridge=bridge1 interface=eoip-remote
网桥端口列表会显示所有本地 LAN 接口和 EoIP 接口:
[admin@AP] > /interface/bridge/port/print
Flags: I - INACTIVE; H - HW-OFFLOAD
Columns: INTERFACE, BRIDGE, HW, PVID, PRIORITY, PATH-COST, INTERNAL-PATH-COST, HORIZON
# INTERFACE BRIDGE HW PVID PRIORITY PATH-COST INTERNAL-PATH-COST HORIZON
0 H ether2 bridge1 yes 1 0x80 10 10 none
1 H ether3 bridge1 yes 1 0x80 10 10 none
2 eoip-remote bridge1 yes 1 0x80 10 10 none
在 Station 路由器上,如果你没有本地网桥接口,创建一个新网桥,并将 EoIP 接口和本地 LAN 接口都添加到其中:
/interface/bridge/add name=bridge1
/interface/bridge/port/add bridge=bridge1 interface=ether2
/interface/bridge/port/add bridge=bridge1 interface=eoip-main
验证网桥端口部分:
[admin@Station] > /interface/bridge/port/print
Flags: I - INACTIVE; H - HW-OFFLOAD
Columns: INTERFACE, BRIDGE, HW, PVID, PRIORITY, PATH-COST, INTERNAL-PATH-COST, HORIZON
# INTERFACE BRIDGE HW PVID PRIORITY PATH-COST INTERNAL-PATH-COST HORIZON
0 H ether2 bridge1 yes 1 0x80 10 10 none
2 eoip-main bridge1 yes 1 0x80 10 10 none
现在两个站点处于同一个二层广播域中。你可以在两个站点上设置同一网络的 IP 地址。