歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

linux雙網卡,一塊沒流量的解決方法

  Linux雙網卡怎麼設置我就不說了,我這裡說的是linux雙網卡的流量問題... 可能這個問題很偏們..你們也許用不上..我還是要說.. 問題描述,一個linux主機,上面兩個網卡.. route -n的輸出是這樣的. 代碼: [復制到剪貼板] Destination Gateway Genmask Flags Metric Ref Use Iface 61.132.43.128 0.0.0.0 255.255.255.192 U 0 0 0 eth1 127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo 0.0.0.0 61.132.43.134 0.0.0.0 UG 0 0 0 eth0 這裡解釋一下...第一行是說,你要訪問61.132.43.128這個網段,掩碼是255.255.255.192的話..從eth1這個網卡出去.. 第二行是關於本機的,訪問自己從lo這個虛擬的本地網卡走.. 第三行是說你要去任何地方的話..從網關61.132.43.134出去.並且網卡是eth0 到這裡我們看到了..我們除了去61.132.43.128這個網絡是從eth1走以外..去其他地方都是從eth0走... 這樣是不是很浪費了雙網卡??沒錯..是很浪費..因為不論你用那種監測工具查看流量..都是eth0有..而其他網卡沒有...天哪...為此我是煞費苦心..甚至懷疑網卡是不是壞了..因為在win2k上這種事情是不可能發生的.. 那我們怎麼解決這個問題呢?有人也許會說給個不同網關讓另一塊網卡用其他網關不就可以..是這個是可以..但是問題是我的ip都是在同一個網段..那來的不同網關.?網關就一個61.132.43.134... 還好linux系統給我們提供了一個很好的路由套件---iproute2 我們來熟悉一下..iproute2由幾個常見的命令.. ip ro ls ip就是ip命令啦,ro就是route的所寫,ls是list的縮寫... 整個命令就是列出系統的路由表..這個可和route -n的效果差不多..但是更為清楚系統的route是如何的.. 我們來看看吧: 代碼: [復制到剪貼板] [root@localhost root]# ip ro ls 61.132.43.128/26 dev eth1 proto kernel scope link src 61.132.43.136 127.0.0.0/8 dev lo scope link default via 61.132.43.134 dev eth0 是不是一樣呢?由幾個地方不同..第一條多了一個src,增加了對源數據包的選擇,而且子網掩碼也變成/26的形式..(參考ip地址的書籍) 最後一個仍然是網關... 現在我們只要稍稍動手把從61.132.43.136出來的流量讓他不要從eth0出去..然他走eth1 我們加一條自定義的路由表 代碼: [復制到剪貼板] ip ro add default via 61.132.43.134 table 200 這裡只是加了一條默認路由到一個自定義的路由表200中,最大數值是255,但是你不要用255,因為那是系統默認用了..你用200以下就可以. 具體的路由表在/etc/iproute2/rt_tables中 查看剛才建立的路由表可以用ip ro ls table 200 代碼: [復制到剪貼板] [root@localhost root]# ip ro ls table 200 default via 61.132.43.134 dev eth1 看到了嗎?雖然我沒有指定dev是什麼.但是系統自動分配了一個eth1給這個路由表,因為eth0已經用在主路由表中了.. 這也說明了,的確不能在同一個路由表中由相同的網關..雖然可以設置,但是具體沒什麼作用. 然後我們要用一個規則把,匹配的數據包引導到剛剛建立的路由表中.. 代碼: [復制到剪貼板] ip ru add from 61.132.43.136 table 200 這裡ru是rule的縮寫.from是一個匹配的動作.就是所源地址是61.132.43.136的包..請走自定義路由表200的設置.. 查看一下 代碼: [復制到剪貼板] [root@localhost root]# ip ru ls 0: from all lookup local 32765: from 61.132.43.136 lookup 200 32766: from all lookup main 32767: from all lookup 253 到這裡兩塊網卡終於都用上了..汗......


[1] 

這裡ru是rule的縮寫.from是一個匹配的動作.就是所源地址是61.132.43.136的包..請走自定義路由表200的設置.. 查看一下 代碼: [復制到剪貼板] [root@localhost root]# ip ru ls 0: from all lookup local 32765: from 61.132.43.136 lookup 200 32766: from all lookup main 32767: from all lookup 253 到這裡兩塊網卡終於都用上了..汗......



Copyright © Linux教程網 All Rights Reserved