本页协议说明(点开阅读)

GRE (Generic Routing Encapsulation)

干什么用的

两个内网想直连,但中间只有公网 —— 而内网地址(10.x)在公网上不可路由。

★★★ GRE 的办法极其朴素:把整个内网包当载荷,外面套一个公网可路由的 IP 头。公网只看外层,内层原样送到对面再拆开。

★★ 它还能承载非 IP 的东西(所以头里有个「协议类型」字段)。

和 IPsec 的分工

★★★ GRE 完全不加密 —— 它只解决「怎么把包送过去」,不解决「别人能不能看」。

★★★ 所以现网常见的是 GRE over IPsec:GRE 负责封装(能带组播、能跑路由协议),IPsec 负责加密。

★★ 为什么不直接用 IPsec?因为 IPsec 隧道不支持组播和多播路由协议,而 GRE 支持 —— 想在隧道里跑 OSPF 就得靠它。

★ 常见误解

★★★ 「GRE 是加密隧道」 —— 完全不加密,抓包能看到里面的原包。把它当 VPN 用是个安全事故。

★★★ 「隧道口配好就没事了」 —— 小心递归路由:如果去隧道对端的路由指向了隧道自己,隧道会反复自我封装然后崩掉。★ 所以对端地址必须走物理口的路由。

★★ 「开销不大」 —— 24 字节(新 IP 20 + GRE 4),MTU 要减到 1476;叠上 IPsec 就是 50~80 字节。

冀ICP备2026021556号-2|冀公网安备13068302000206号