linux内核路由反向检查,反向路径过滤

第13章 内核网络参数

13.1. 反向路径过滤

缺省情况下,路由器路由一切包,即使某些数据包“明显地”不属于你的网络。一个简单的例子就是私有IP空间溢出到了Internet上。如果你有一个网卡 带有去往195.96.96.0/24的路由,你不会期望从这里收到来自212.64.94.1的数据包。

很多人都希望关掉这个功能,所以内核作者们按照这种要求做了。你可以利用/proc下的一些文件来配置内核是否使用这个功能。这种方法就叫“反向路径过 滤”。基本上说,就是如果一个数据包的回应包不是从它来的网卡发出去,就认为这是一个伪造包,应该丢弃。

下面的片段将在所有的(包括将来的)网卡上启用这个功能:

# for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do

> echo 2 > $i

> done

依照上面的例子,如果一个源地址是来自office+isp子网的数据包,却从Linux路由器的eth1口到达,那么它将被丢弃。同理,如果一个来自 office子网的数据包却声明它来自防火墙外面的某个地方,也会被丢弃。

上面说的是完整的反向路径过滤。却省情况是只基于直接与网卡相接的子网地址进行过滤。这是因为完整的反向路径过滤会破坏非对称路由(就是说数据包从一条路 来而从另一条路离开——比如你在网络中使用了动态路由(bgp、ospf、rip)或者比如卫星通讯,数据从卫星下行到路由器,上行数据则经过地面线路传 输。)。

如果你有这些情况,就可以简单地关掉卫星下行数据要进入那块网卡的rp_filter。如果你想看一看丢弃了哪些包,可以通过相同目录下的 log_martians文件通知内核向你的syslog中写日志。

# echo 1 >/proc/sys/net/ipv4/conf//log_martians

求助: is setting the conf/[default,all]/* files enough? - martijn

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值