很多工程师误以为 eBGP 使用 Loopback 对端时必须开启 multihop 将 TTL 设为 >1,实际上直连邻居间 TTL=1 即可建立会话。本文澄清 TTL 递减的真实时机,并介绍广义 TTL 安全机制(GTSM)如何利用这一特性提升网络安全。
**TTL 何时被递减**
TTL(IPv4)或 Hop Count(IPv6)仅在报文经过“三层设备”转发时减 1:报文进入设备、完成三层查找、被转发至新子网、或离开物理设备/进入不同虚拟实例(如 VRF)。报文到达最终目的接口时,设备不会再做最后一次递减。因此,直连路由器间通过 Loopback 建立 eBGP,报文根本未跨越任何中间三层节点,TTL=1 完全足够。
**误区与 multihop 的真实作用**
教材常说“eBGP 默认 TTL=1,Loopback 对端需配 multihop”,导致初学者以为直连设备会在收到 Loopback 目的报文前先递减 TTL。实测表明,只要路由可达,TTL=1 的报文直接被终端处理,不会被丢弃。multihop 真正解决的是跨越中间跳数的场景,而非直连 Loopback 对端。
**GTSM 利用 TTL 做准入控制**
广义 TTL 安全机制(GTSM)要求邻居发送报文时将 TTL 设为 255(或 Hop Limit 255),接收端只接受 TTL ≥ 254 的报文。由于攻击者无法伪造经过多跳后仍保持高 TTL 的报文,GTSM 能有效阻断伪造源 IP 的 BGP 攻击,且不改变现有拓扑。
对运维而言,理解 TTL 递减规则能避免不必要的 multihop 配置,减少故障域;部署 GTSM 则在不增加延迟的前提下,为 BGP 会话增加一层基于物理跳数的准入防线,建议在直连及已知跳数的对等场景中启用。
原文: APNIC Blog(2023-01-20)|编译自 APNIC Blog,事实以原文为准。
来源:APNIC Blog