EoIP(Ethernet over IP)协议是一种以太网隧道协议,经常用于在不同的网络之间建立虚拟连接。该协议可以将本地网络与远程网络之间的虚拟链路封装在一个IP数据包中,达到透明传输的效果。使用EoIP协议可以使不同局域网之间通过Internet建立隧道连接,从而组成了更大的虚拟局域网或互联网。EoIP协议的实现依赖于IP层协议,因此它可以在IPv4和IPv6网络上运行。它还提供了端口多路复用和流控制等功能,可以实现更加灵活和高效的网络通信。
Ubuntu编译安装EoIP
因为EoIP协议的私有性,我们在常规的Linux发行版中都找不到对应的实现程序,需要使用开源的代码自行编译,这里我使用的是Nat-Lab eoip的实现,参考介绍,可以快速的编译EoIP模块。
1 | apt install build-essential |
RouterOS上创建普通隧道
最简配置,仅需要设置对端IP和隧道ID
1 | /interface eoip add name=eoip-1 remote-address=xxx.xxx.xxx.xxx tunnel-id=99 |
Ubuntu配置EoIP
配置EoIP的对端信息和隧道ID,并给虚拟接口设置IP和启用接口
1 | eoip -4 eoip0 local 0.0.0.0 remote xxx.xxx.xxx.xxx id 99 & |
还需要开启转发和NAT转换
1 | sysctl -w net.ipv4.ip_forward=1 |