讓雙網卡一台電腦擁有兩個網關(轉)
首先要聲明一點,雙網卡一台電腦擁有兩個網關是不可能的,因為預設閘道(default gateway)只能是一個。
給伺服器安裝兩塊網卡,分別設定不同的ip和網關(內網和外網),外網的通過外網網卡來訪問,內網的通過內網網卡來訪問,似乎實現起來很簡單,但事實上很難啊,因為預設閘道(default gateway)只能是一個!
解決的辦法就是:
1、將其中一塊網卡(如外網)設定預設閘道;
2、手工加上一條靜態路由,讓另一個網段(內網)的資料經過第二個網卡。使用route命令,命令的範例如下,希望能幫某些同志一點小忙。
參考命令:
範例1、route add -p 10.0.0.0 mask 255.255.255.0 10.40.4.200(讓對10.0.0.1的訪問走10.40.4.200的網卡,mask 後面是子網路遮罩)
範例2、route add -p 10.0.0.0 mask 255.0.0.0 10.40.4.200
範例3、route add -p 0.0.0.0 mask 0.0.0.0 10.40.4.200(不用說了吧,讓所有的訪問走10.40.4.200)
說明:
1、加上-p參數,加入的路由為永久路由,不會因為電腦重新啟動而被初始化。10.40.4.200是我的電腦網卡IP。 輸入route 可以得到更多的協助。
2、如果你的電腦已經有兩個網關(如使用了SoftEther),用route print可以看到兩條0.0.0.0的路由,可以先刪除0.0.0.0的路由,然後重新添加。
route delete 0.0.0.0 “刪除所有0.0.0.0的路由”
附:在網路上找資料時,常常看到有人在問類似的問題,可以看出大家對路由方面的知識很陌生。於是提供以下資料,供大家參考:
1、《解讀route命令》http://www.kpcn.org/news/Read.asp?NewsID=8527
2、《學習Windows網路命令之route命令小檔案》http://www.kpcn.org/news/Read.asp?NewsID=8528
========= 以下是另一篇文章的內容 ============
經常遇到一台電腦要同時訪問兩個網路(一個是互連網,一個是企業內部網)的要求。以本單位為例:地址是虛構的^_^
機器有兩塊網卡,接到兩台交換器上
internet地址:218.22.123.123,子網路遮罩:255.255.255.0,網關:218.22.123.254
企業內部網地址:10.128.123.123,子網路遮罩:255.255.255.0,網關:10.128.123.254
如果按正常的設定方法設定每塊網卡的ip地址和網關,再cmd下使用route print查看時會看到
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 218.22.123.254 218.22.123.123 20
0.0.0.0 0.0.0.0 10.128.123.254 10.128.123.123 1
即指向0.0.0.0的有兩個網關,這樣就會出現路由衝突,兩個網路都不能訪問。要實現同時訪問兩個網路就要用到route命令
第一步:route delete 0.0.0.0 ”刪除所有 0.0.0.0 的路由"
第二步:route add 0.0.0.0 mask 0.0.0.0 218.22.123.254 "添加 0.0.0.0 網路路由"
第三步:route add 10.0.0.0 mask 255.0.0.0 10.128.123.254 "添加 10.0.0.0 網路路由"
這時就可以同時訪問兩個網路了,但碰到一個問題,使用上述命令添加的路由在系統重新啟動後會自動丟失,怎樣儲存現有的路由表呢?
在win2000 下可以使用route add -p 添加靜態路由,即重啟後,路由不會丟失。注意使用前要在tcp/ip設定裡去掉接在企業內部網的網卡的網關。
============= Linux下雙網卡雙網關配置路由表 =============
http://hi.baidu.com/xibeihuohu/blog/item/a54d27fd18b8bf1f08244d1a.html
由於電信和網通之間互聯互連的問題,很多人選擇雙線路機房, 所謂雙線路機房就是擁有兩條出口,一條電信一條網通。最近在一個雙線路機房測試一台伺服器,打算作為論壇的資料庫伺服器使用,伺服器作業系統為 Linux。計劃配置為雙IP,雙網域名稱,使得瀏覽者通過電信和網通兩條線路都能正常訪問伺服器,而且各走各的,互不影響。在配置網路的時候遇到了問題,由 於Linux預設只有一個網關,在網路上查詢了很久,找到一個解決方案,因此整理了一下。感謝原文作者jac003ke。
伺服器作業系統RedHat linux 9,設定兩張路由表
1. vi /etc/iproute2/rt_tables,增加網通和電信兩個路由表
251 tel 電信路由表
252 cnc 網通路由表
2. 給網卡綁定兩個地址用於電信和網通兩個線路
ip addr add 192.168.0.2/24 dev eth0
ip addr add 10.0.0.2/24 dev eth1
3、分別設定電信和網通的路由表
電信路由表:
#確保找到本地子網
ip route add 192.168.0..0/24 via 192.168.0.2 dev eth0 table tel
#內部迴環網路
ip route add 127.0.0.0/8 dev lo table tel
#192.168.0.1為電信網路預設閘道地址
ip route add default via 192.168.0.1 dev eth0 table tel
網通線路路由表:
#確保找到本地子網
ip route add 10.0.0.0/24 via 10.0.0.2 dev eth1 table cnc
#內部迴環網路
ip route add 127.0.0.0/8 dev lo table cnc
#10.0.0.1是網通的預設閘道
ip route add default via 10.0.0.1 dev eth1 table cnc
4、電信和網通各有自己的路由表,制定策略,讓192.168.0.2的回應資料包走電信的路由表路由,10.0.0.2的回應資料包走網通的路由表路由
ip rule add from 192.168.0.1 table tel
ip rule add from 10.0.0.1 table cnc