

在网络安全和路由防护中,很多工程师都会遇到一个问题:如何防止源地址伪造的报文进入网络?
这种情况常见于DoS/DDoS攻击中,攻击者伪造源IP,给我们带来排查和防御上的麻烦。
那有没有办法在入口处就把这些不合理的报文丢掉呢?
答案就是——URPF(Unicast Reverse Path Forwarding,单播逆向路径转发)。
今日文章阅读福利:《网工入门指南》
扫添加小助理微信,备注【入门】,即可获取。
什么是URPF?
URPF本质上是一种反向路由校验机制。
它的工作逻辑很简单:当一个数据包进入设备时,设备会检查这个数据包的源IP,然后在路由表中查找,确认从这个源IP出发的“正常返回路径”是否应该通过这个入接口走。
如果匹配得上,说明这个源地址是合理的,报文被允许通过;如果对不上,就直接丢弃。
换句话说:“你从哪进来的,我查一下你正常的回程是不是也该从这走。不是?那我怀疑你是伪造的,直接丢掉。”
URPF的工作模式
华为设备上的URPF一般有两种模式:
1. 严格模式(Strict Mode)检查源地址在FIB表(转发表)中的最优路由,下一跳接口必须和报文入接口一致,否则丢弃。
o 安全性高,但容易误杀(比如存在多链路或不对称路由的场景)。
2. 宽松模式(Loose Mode)只检查源地址是否在FIB表里存在可达路由,不要求入接口必须和最优路由一致。
o 安全性略低,但更灵活,适合存在不对称路由的网络。
应用场景
URPF常见的应用场景主要有以下几类:
· 边界防护:在网络边界处启用URPF,可以防止源地址伪造流量从公网打进来。
· 企业出口路由器:对进入企业内网的流量做源地址校验,丢掉假冒源地址的报文。
· 运营商网络:在接入层设备上启用,防止用户伪造源IP,保障整个骨干网的路由稳定性。
配置示例(华为设备)
在华为设备上配置URPF非常简单,例如在接口上启用严格模式:
[Huawei-GigabitEthernet0/0/1] undo ip urpf enable
[Huawei-GigabitEthernet0/0/1] ip urpf strict
如果是宽松模式,只需要:
[Huawei-GigabitEthernet0/0/1] ip urpf loose
一般在企业出口,如果网络比较简单,严格模式更合适;
如果有多链路、存在不对称路由,宽松模式会更稳妥。
总结
URPF的思想并不复杂,就是“反向路径验证”。
它能有效防御源地址伪造攻击,是一种轻量化、低成本的安全手段。
在实际网络中,部署URPF时需要结合路由设计来考虑,避免因为不对称路由造成误杀。
对于多数中小企业,开启严格模式已经能起到很好的防护效果