linux内核路由反向检查,Linux内核的反向路由检查机制

Linux内核的反向路由检查机制

(2014-11-26 18:01:04)

标签:

财经

Linux内核有反向路由检查的机制。当Linux IP协议栈收到一个IP包时,会找路由。

本机的包会往上层协议送,而非本机的包会根据路由转发。

为了防止非法的包被转发或送给上层协议,查找路由后Linux还会调用fib_validate_source()以

检查其来源的合法性,基本原理是根据包的源地址查找路由的出接口,然后比较包的原始入接口是

否和查到的出接口一致;如果一致则放过,如果不一致查询skb->dev的rp_filter值,为1时将丢弃这

个包,0时放过。

每个接口的rp_filter配置在/proc/sys/net/ipv4/conf/ethN/rp_filter,其值为1时是使能该

接口反向路由检查机制,为0时则关闭该机制。

在实际运用时该机制可能会带来问题。对于一些虚接口上来的包,如gre0,ipsec0来的包,如果没有

IP地址,从该虚接口上来的包可能被认为来源不合法而被内核DROP。

这时需要根据实际情况设置rp_filter为0,并配置IP地址。

以上分析是根据2.6.32内核代码而来。

更高版本的kernel可能已经解决这个问题,如3.6.3内核,对该机制有改进,对IPSEC的接口不做反射路

由检查。

分享:

a4c26d1e5885305701be709a3d33442f.png喜欢

0

a4c26d1e5885305701be709a3d33442f.png赠金笔

加载中,请稍候......

评论加载中,请稍候...

发评论

登录名: 密码: 找回密码 注册记住登录状态

昵   称:

评论并转载此博文

a4c26d1e5885305701be709a3d33442f.png

发评论

以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值