linux内核路由反向检查,反向路径过滤
第13章 內(nèi)核網(wǎng)絡(luò)參數(shù)
13.1. 反向路徑過濾
缺省情況下,路由器路由一切包,即使某些數(shù)據(jù)包“明顯地”不屬于你的網(wǎng)絡(luò)。一個(gè)簡單的例子就是私有IP空間溢出到了Internet上。如果你有一個(gè)網(wǎng)卡 帶有去往195.96.96.0/24的路由,你不會(huì)期望從這里收到來自212.64.94.1的數(shù)據(jù)包。
很多人都希望關(guān)掉這個(gè)功能,所以內(nèi)核作者們按照這種要求做了。你可以利用/proc下的一些文件來配置內(nèi)核是否使用這個(gè)功能。這種方法就叫“反向路徑過 濾”?;旧险f,就是如果一個(gè)數(shù)據(jù)包的回應(yīng)包不是從它來的網(wǎng)卡發(fā)出去,就認(rèn)為這是一個(gè)偽造包,應(yīng)該丟棄。
下面的片段將在所有的(包括將來的)網(wǎng)卡上啟用這個(gè)功能:
# for i in /proc/sys/net/ipv4/conf/*/rp_filter ;?do
> echo 2?> $i
> done
依照上面的例子,如果一個(gè)源地址是來自office+isp子網(wǎng)的數(shù)據(jù)包,卻從Linux路由器的eth1口到達(dá),那么它將被丟棄。同理,如果一個(gè)來自 office子網(wǎng)的數(shù)據(jù)包卻聲明它來自防火墻外面的某個(gè)地方,也會(huì)被丟棄。
上面說的是完整的反向路徑過濾。卻省情況是只基于直接與網(wǎng)卡相接的子網(wǎng)地址進(jìn)行過濾。這是因?yàn)橥暾姆聪蚵窂竭^濾會(huì)破壞非對(duì)稱路由(就是說數(shù)據(jù)包從一條路 來而從另一條路離開——比如你在網(wǎng)絡(luò)中使用了動(dòng)態(tài)路由(bgp、ospf、rip)或者比如衛(wèi)星通訊,數(shù)據(jù)從衛(wèi)星下行到路由器,上行數(shù)據(jù)則經(jīng)過地面線路傳 輸。)。
如果你有這些情況,就可以簡單地關(guān)掉衛(wèi)星下行數(shù)據(jù)要進(jìn)入那塊網(wǎng)卡的rp_filter。如果你想看一看丟棄了哪些包,可以通過相同目錄下的 log_martians文件通知內(nèi)核向你的syslog中寫日志。
# echo 1 >/proc/sys/net/ipv4/conf//log_martians
求助: is setting the conf/[default,all]/* files enough? -?martijn
總結(jié)
以上是生活随笔為你收集整理的linux内核路由反向检查,反向路径过滤的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux 8g内存 swap,linu
- 下一篇: linux中进程的控制总结,Linux中