來源:互聯網
上載者:User
關鍵字
Linux
流量控制
iproute2
高級路由
希望這篇文檔能對你更好地理解Linxs2.2/2.4的路由有所説明和啟發。 不被大多數消費者所知道的是,你所使用工具,其實能夠完成相當規模工作。 比如route 和ifconfig,實際上暗中調用了非常強大的iproute 2的底層基本功能。
Linux能為你做什麼
一個小清單:
• 管制某台電腦的頻寬
• 管制通向某台電腦的頻寬
• 説明你公平地共用頻寬
• 保護你的網路不受DoS攻擊
• 保護Internet不受到你的客戶的攻擊
• 把多台伺服器虛擬成一台,進行HTTP://www.aliyun.com/zixun/aggregation/13996.html">負載均衡或者提高可用性
• 限制對你的電腦的訪問
• 限制你的使用者訪問某些主機
• 基於使用者帳號(沒錯! )、MAC位址、源IP位址、埠、服務類型、時間或者內容等條件進行路由。
現在,很多人都沒有用到這些高級功能。 這有很多原因。 比如提供的文檔過於冗長而且不容易上手,而且流量控制甚至根本就沒有歸檔。
1 為什麼使用 iproute2?
現在,絕大多數 Linux 發行版本和絕大多數 UNIX都使用古老的arp, ifconfig和route命令。 雖然這些工具能夠工作,但它們在Linux2.2和更高版本的內核上顯得有一些落伍。 比如,現在GRE隧道已經成為了路由的一個主要概念,但卻不能通過上述工具來配置。
使用了iproute2,隧道的配置與其他部分完全集成了。
2.2 和更高版本的Linux 內核包含了一個經過徹底重新設計的網路子系統。 這些新的代碼讓Linux在作業系統的競爭中取得了功能和性能上的優勢。 實際上,Linux新的路由、過濾和分類代碼,從功能和性能上都不弱于現有的那些專業的路由器、防火牆和流量整形產品。
隨著新的網路概念的提出,人們在現有作業系統的現有體系上修修補補來實現他們。 這種固執的行為導致了網路代碼中充斥著怪異的行為,這有點像人類的語言。 過去,Linux模仿了SunOS的許多處理方式,並不理想。
這個新的體系則有可能比以往任何一個版本的Linux都更善於清晰地進行功能表達。
2 iproute2 概覽
Linux有一個成熟的頻寬供給系統,稱為Traffic Control(流量控制)。 這個系統支援各種方式進行分類、排序、共用和限制出入流量。
我們將從 iproute2 各種可能性的一個簡要概覽開始。
3 先決條件
你應該確認已經安裝了使用者級組態工具。 這個包的名字在RedHat和Debian中都叫作「iproute」,也可以在這個地方找到:
ftp://ftp.inr.ac.ru/ip-routing/iproute2-2.2.4-now-ss??????.tar.gz
你也可以試試在這裡(ftp://ftp.inr.ac.ru/ip-routing/iproute2-current.tar.gz)找找最新版本。
iproute 的某些部分需要你打開一些特定的內核選項。 應該指出的是,RedHat6.2及其以前的所有發行版本中所帶的缺省內核都不帶有流量控制所需要的絕大多數功能。
而RedHat 7.2在缺省情況下能滿足所有要求。
另外,確認一下你的內核支援netlink ,Iproute2需要它.