Linux的高級路由和流量控制:內核網路參數

來源:互聯網
上載者:User
關鍵字 Linux 流量控制 高級路由 內核網路參數

內核有很多可以在不同環境下調整的參數。 通常,預設的缺省值可以滿足99%的環境要求,we don't call this the HTTP://www.aliyun.com/zixun/aggregation/3415.html">Advanced HOWTO for the fun of it!

有個很有趣的地方:/proc/sys/net,你應該看看。 這裡一開始並沒有把所有的內容歸檔,但我們正在盡力如此。

有時候你需要看看Linux的內核原始程式碼、讀讀Documentation/filesystems/proc.txt。 絕大多數特性那裡都有解釋。

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/<interfacename>/log_martians

2. 深層設置

有很多參數可以修改。 我們希望能夠全列出來。 在Documentation/ip-sysctl.txt中也有部分記載。

這些設置中的部分缺省值取決於你在內核配置時是否選擇了「Configure as router and not host」。

Oskar Andreasson也有一個網頁比我們討論得更詳細的網頁:HTTP://ipsysctl-tutorial.frozentux.net/

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.