我正在尝试在两个 MikroTik 设备之间建立 GRE over IPSec 隧道。一切似乎都正常,但当我嗅探 WAN 接口时,我可以清楚地看到理论上不应该看到的 GRE 数据包。
我已经花了几天的时间在这上面,但我不知道缺少了什么。
1.1.1.1 是数据中心 WAN,而 2.2.2.2 是家庭 WAN。
路由器 1:
/interface gre
add allow-fast-path=no !keepalive local-address=1.1.1.1 name=\
gre-tunnel-home remote-address=2.2.2.2
/ip ipsec peer
add address=2.2.2.2/32 dh-group=modp8192 enc-algorithm=blowfish \
hash-algorithm=sha512 lifetime=30m local-address=1.1.1.1 \
nat-traversal=no proposal-check=strict secret=secretcode
/ip ipsec policy
add dst-address=2.2.2.2/32 proposal=proposal1 sa-dst-address=2.2.2.2 \
sa-src-address=1.1.1.1 src-address=1.1.1.1/32 tunnel=yes
路由器 2:
/interface gre
add allow-fast-path=no !keepalive local-address=2.2.2.2 name=\
gre-tunnel-datacenter remote-address=1.1.1.1
/ip ipsec peer
add address=1.1.1.1/32 dh-group=modp8192 enc-algorithm=blowfish \
hash-algorithm=sha512 lifetime=30m local-address=2.2.2.2 \
nat-traversal=no proposal-check=strict secret=secretcode
/ip ipsec policy
add dst-address=1.1.1.1/32 proposal=proposal1 sa-dst-address=\
1.1.1.1 sa-src-address=2.2.2.2 src-address=2.2.2.2/32 \
tunnel=yes
答案1
不要在您的 IPSec 策略中使用隧道模式。
这就是导致 Torch 显示 GRE 数据包的原因。
由于您要加密整个 GRE 连接,因此不使用隧道模式也同样安全。通过隧道的数据包无论如何都会被加密,因此没有人能够看到隧道内谁在与谁通信。
对于嗅探流量的第三方来说,无论隧道模式如何,它都是几乎相同的(即:1.1.1.1 通过协议 50-ipsec 与 2.2.2.2 通信 - 尝试使用隧道模式隐藏此信息没有任何好处)。
此外,您的数据包开销也会减少。
隧道模式
在隧道模式下,原始 IP 数据包被封装在新的 IP 数据包中,从而确保 IP 有效负载和 IP 报头。