配置電信網通雙線雙IP的解決辦法
做網際網路網站,最頭疼的事情之一就是電信和網通的互聯互不通了,為了能夠讓北方網通和南方電信使用者都可以快速的訪問網站,解決辦法就是託管到雙線機房。雙線機房有兩類,一類是通過BGP技術實現互聯互通,伺服器只需要一個網路卡一個IP地址就可以了,由機房進行路由的智慧判斷,選擇合適的路由訪問,這樣對於網站來說是很方便的,比方說上海移動的怒江機房,上海地面通的自建機房,科技網的機房,但BGP機房一般頻寬都比較少,流量高一些的話可能就沒有辦法了。另外一種就是雙線雙IP的機房,頻寬可能更高一些,但是路由配置極其複雜,比方說上海電信的市北機房。
因為和諧的原因,JavaEye網站伺服器最近被迫從原來的移動怒江雙線機房當中搬了出去,由託管商推薦到了上海市北雙線機房,市北雙線機房實際上是電信機房,但是從天津網通拉了2G專線過來,因此伺服器需要至少兩個網路卡,一個網路卡接電信閘道器,一個網路卡接網通閘道器,來實現互聯互通。如果多臺伺服器的話,還需要第3個網路卡組建內網進行內網通訊。
對於雙線雙IP的伺服器來說,要解決兩個問題:
一、你的網站使用者究竟走那個IP來訪問你的伺服器
二、你的網站內容究竟走那個IP返回給使用者
對於第1個問題,可以使用智慧DNS解析來解決,即DNS伺服器判斷使用者所在IP地址,如果使用者是電信接入,就把伺服器的電信IP解析給他;如果使用者是網通接入,就把伺服器的網通IP解析給他。
智慧DNS可以自己基於開源的DNS軟體來定製,不過國內有一個很好的免費智慧DNS伺服器提供商:[url=http://www.dnspod.com]DNSPod[/url],推薦使用DNSPod的服務。他就可以實現上述的智慧DNS解析。
對於第2個問題,則需要在伺服器上面配置路由規則,來決定究竟如何處理資料的返回路徑問題。
1、填寫靜態路由表
因為伺服器有兩個IP,分別在不同的網段,你使用電信IP的閘道器做路由,那麼網通的IP地址使用者壓根就訪問不到,反之亦然。目前流行的解決辦法,就是使用電信閘道器做預設的路由,然後自己手工填寫所有網通IP地址段的路由規則。這個辦法可以Google搜尋到一大把,不展開了。
這種辦法的缺點是新增規則太多太麻煩,而且難免掛一漏萬,如果你漏了一些網段,那這些網段的使用者就訪問不了你的網站了。況且網段地址的分佈總是在不斷變化的,你還必須定期更新路由表。
2、根據使用者訪問進來的路徑設定動態路由
就是說如果使用者是通過電信IP地址訪問過來的話,那麼使用電信閘道器做路由,返回內容走電信閘道器;如果使用者通過網通IP地址訪問過來的話,那麼使用網通閘道器做路由,返回內容走網通的閘道器,這樣就不必那麼麻煩的維護路由表了。以JavaEye網站伺服器為例,具體配置方法如下:
JavaEye網站伺服器電信IP:114.80.66.199,電信閘道器:114.80.66.1
JavaEye網站伺服器網通IP:60.29.231.190,網通閘道器:60.29.231.1
1) 預設閘道器使用電信閘道器作為路由
在Linux上面配置預設閘道器,如果是RedHat,應該是在/etc/sysconfig/network檔案裡面新增一行:GATEWAY=114.80.66.1,如果是SuSE,應該是在/etc/sysconfig/network/routes裡面新增一行:default 114.80.66.1 - - 或者可以直接使用YaST2來配置。
2)新增路由表
修改/etc/iproute2/rt_tables,新增內容:
然後手工新增路由規則,在Console裡面執行如下命令:
即讓從電信IP過來的請求按照電信路由返回,從網通IP過來的請求從網通路由返回。這樣就搞定了,是不是很簡單?這個辦法是bobo同學提供的,感謝他。
3) 把路由規則寫入啟動指令碼
如果伺服器重啟,或者網路服務重啟,上述的路由規則就失效了,所以你需要把上面這段命令寫入系統啟動指令碼和網路啟動指令碼
如果是RedHat,系統啟動指令碼是/etc/rc.d/rc.local
如果是SuSE,可以自己寫一個啟動指令碼,連結到S99上,比方說/etc/init.d/rc.local
如果是RedHat,網路啟動指令碼是/etc/rc.d/init.d/network
如果是SuSE,網路啟動指令碼是/etc/init.d/network
因為和諧的原因,JavaEye網站伺服器最近被迫從原來的移動怒江雙線機房當中搬了出去,由託管商推薦到了上海市北雙線機房,市北雙線機房實際上是電信機房,但是從天津網通拉了2G專線過來,因此伺服器需要至少兩個網路卡,一個網路卡接電信閘道器,一個網路卡接網通閘道器,來實現互聯互通。如果多臺伺服器的話,還需要第3個網路卡組建內網進行內網通訊。
對於雙線雙IP的伺服器來說,要解決兩個問題:
一、你的網站使用者究竟走那個IP來訪問你的伺服器
二、你的網站內容究竟走那個IP返回給使用者
對於第1個問題,可以使用智慧DNS解析來解決,即DNS伺服器判斷使用者所在IP地址,如果使用者是電信接入,就把伺服器的電信IP解析給他;如果使用者是網通接入,就把伺服器的網通IP解析給他。
智慧DNS可以自己基於開源的DNS軟體來定製,不過國內有一個很好的免費智慧DNS伺服器提供商:[url=http://www.dnspod.com]DNSPod[/url],推薦使用DNSPod的服務。他就可以實現上述的智慧DNS解析。
對於第2個問題,則需要在伺服器上面配置路由規則,來決定究竟如何處理資料的返回路徑問題。
1、填寫靜態路由表
因為伺服器有兩個IP,分別在不同的網段,你使用電信IP的閘道器做路由,那麼網通的IP地址使用者壓根就訪問不到,反之亦然。目前流行的解決辦法,就是使用電信閘道器做預設的路由,然後自己手工填寫所有網通IP地址段的路由規則。這個辦法可以Google搜尋到一大把,不展開了。
這種辦法的缺點是新增規則太多太麻煩,而且難免掛一漏萬,如果你漏了一些網段,那這些網段的使用者就訪問不了你的網站了。況且網段地址的分佈總是在不斷變化的,你還必須定期更新路由表。
2、根據使用者訪問進來的路徑設定動態路由
就是說如果使用者是通過電信IP地址訪問過來的話,那麼使用電信閘道器做路由,返回內容走電信閘道器;如果使用者通過網通IP地址訪問過來的話,那麼使用網通閘道器做路由,返回內容走網通的閘道器,這樣就不必那麼麻煩的維護路由表了。以JavaEye網站伺服器為例,具體配置方法如下:
JavaEye網站伺服器電信IP:114.80.66.199,電信閘道器:114.80.66.1
JavaEye網站伺服器網通IP:60.29.231.190,網通閘道器:60.29.231.1
1) 預設閘道器使用電信閘道器作為路由
在Linux上面配置預設閘道器,如果是RedHat,應該是在/etc/sysconfig/network檔案裡面新增一行:GATEWAY=114.80.66.1,如果是SuSE,應該是在/etc/sysconfig/network/routes裡面新增一行:default 114.80.66.1 - - 或者可以直接使用YaST2來配置。
2)新增路由表
修改/etc/iproute2/rt_tables,新增內容:
252 tel 電信路由表
251 cnc 網通路由表
然後手工新增路由規則,在Console裡面執行如下命令:
#新增原路返回路由
ip route flush table tel
ip route add default via 114.80.66.1 dev eth0 src 114.80.66.199 table tel
ip rule add from 114.80.66.199 table tel
ip route flush table cnc
ip route add default via 60.29.231.1 dev eth1 src 60.29.231.190 table cnc
ip rule add from 60.29.231.190 table cnc
即讓從電信IP過來的請求按照電信路由返回,從網通IP過來的請求從網通路由返回。這樣就搞定了,是不是很簡單?這個辦法是bobo同學提供的,感謝他。
3) 把路由規則寫入啟動指令碼
如果伺服器重啟,或者網路服務重啟,上述的路由規則就失效了,所以你需要把上面這段命令寫入系統啟動指令碼和網路啟動指令碼
如果是RedHat,系統啟動指令碼是/etc/rc.d/rc.local
如果是SuSE,可以自己寫一個啟動指令碼,連結到S99上,比方說/etc/init.d/rc.local
如果是RedHat,網路啟動指令碼是/etc/rc.d/init.d/network
如果是SuSE,網路啟動指令碼是/etc/init.d/network
相關文章
- Linux 雙網路卡雙IP配置Linux
- 滑鼠單擊變雙擊怎麼辦 滑鼠單擊變成雙擊的解決辦法
- 請教雙向資料傳輸的解決辦法
- BGP線路與雙IP智慧雙線的區別——VecloudCloud
- 【Linux伺服器雙IP配置】如何實現不同IP的雙網路卡同時上網?Linux伺服器
- windows無法配置此無線連線的解決辦法Windows
- Win7系統本地連線沒有有效的ip配置的解決辦法Win7
- mui的下拉重新整理的用法及其解決雙滾動的辦法UI
- 無線網路經常掉線的解決辦法
- Flutter 使用環信即時通訊閃退解決辦法Flutter
- win10ip地址配置錯誤網路無法連線怎麼辦 ip地址配置錯誤網路無法連線的方法Win10
- VMware-Ubuntu20.04配置雙網路卡解決遠端連線的2種場景Ubuntu
- Windows無法配置此無線連線這個問題的解決辦法Windows
- 配置雙網路卡BOND
- 雙網路卡BOND配置
- 網通封路由器的原因與解決辦法路由器
- 雙網路卡單IP(轉貼)
- Weblogic 只允許能連線5個IP的解決辦法Web
- 網路印表機無法連線的原因與解決辦法
- 無線網路連線不上的原因與解決辦法
- Win10無法連線網路最全解決方法 電腦無法聯網怎麼辦?Win10
- 雙網路卡bonding配置
- iPhone突然無法充電的解決辦法 iPhone無法充電怎麼辦iPhone
- 無線網路卡無法獲得IP地址的解決方案(轉)
- MySQL雙主雙從配置MySql
- vmware下solaris 10網路卡不能正常配置的解決辦法
- ubuntu沒有有線網路的一種解決辦法Ubuntu
- SSH 連線卡頓解決辦法
- 雙碳雙控背景下的智慧環保解決方案
- 榮耀華為手機,ADB無法連線電腦,解決辦法
- 恆訊科技介紹:香港雙線雙IP高價效比伺服器伺服器
- 解決Win10系統公網ip無法ping通Win10
- mysql雙主雙從 搭建配置MySql
- OpenHarmony雙網路卡配置例項
- Docker網路雙向連線Docker
- Linux CentOS 配置靜態 ip 和 解決 配置後無法聯網的問題LinuxCentOS
- 通達信滾雙刀選股指標公原始碼指標原始碼
- 某電信HP雙機主資料網路卡切換實施方案