RouterOS Stateless Tunnel

Mason Lyu
MischievousBOSS
Published in
4 min readAug 4, 2019

Ethernet over IP / IP over IP / Generic Routing Encapsulation

Photo by Mathew Schwartz on Unsplash

假設我們要將A-B兩地的網路連結在一起,形成一個更大的區域網路,除了使用虛擬私人網路 (VPN)外,在RouterOS裡還有三種方式可以實作,那就是EoIP (Ethernet over IP)、IPIP (IP over IP)與GRE (Generic Routing Encapsulation)

Ethernet over IP

詳細說明可參考MikroTik EoIP,單一端點設定如下,只要Tunnel-ID一樣,兩端就可以建立Transparent Bridge了。

/interface eoip
add name=EoIP-Tunnel remote-address=”遠端固定Public IP地址” tunnel-id=123
/interface bridge
add name=EoIP-Bridge
/interface bridge port
add bridge=EoIP-Bridge interface=EoIP-Tunnel
add bridge=EoIP-Bridge interface=LAN

此外,在建立Transparent Bridge的過程中,因為EoIP本身屬無加密傳輸,所以我們在建立通道之前,可以先建立加密通道(Site-to-Site VPN),然後再於該加密通道上建立Transparent Bridge,譬如使用PPTP

PPTP Server

/interface pptp-server server
set enabled=yes
/ppp secret
add name=”使用者名稱” password=”使用者密碼” remote-address=10.0.0.2 local-address=10.0.0.1 profile=default-encryption

PPTP Client:

/interface pptp-client
add name=”pptp-tunnel1" connect-to=“PPTP伺服器固定Public IP地址” user=”使用者名稱” password=”使用者密碼” profile=default-encryption add-default-route=no

而EoIP中的”遠端固定Public IP地址”就是PPTP所設定的remote-address跟local-address。

IP over IP

詳細說明可參考MikroTik IPIP,單一端點設定如下

/interface ipip
add name=IPIP-Tunnel remote-address=”遠端固定Public IP地址” local-address=”本地固定Public IP地址”
/ip address
add address=10.0.0.1/30 interface=IPIP-Tunnel
/ip route
add dst-address=遠端區網段 gateway=10.0.0.2

Generic Routing Encapsulation

詳細說明可參考MikroTik GRE,單一端點設定如下

/interface gre
add name=GRE-Tunnel remote-address=”遠端固定Public IP地址” local-address=”本地固定Public IP地址”
/ip address
add address=10.1.0.1/30 interface=GRE-Tunnel
/ip route
add dst-address=遠端區網段 gateway=10.1.0.2

IP over IP與Generic Routing Encapsulation有何不同?

詳細的說明,可以參考這篇文章GRE vs IPIP Tunneling,但總括來說IP over IP只能封裝IP,而GRE可以封裝Layer 3所有的Protocol

--

--