RouterOS Stateless Tunnel
Published in
4 min readAug 4, 2019
Ethernet over IP / IP over IP / Generic Routing Encapsulation
假設我們要將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