互聯網雙出口是如何做到動態切換的(包括DNS)?

企業在做互聯網出口時通常是接入兩個或兩個以上運營商(比如電信和聯通),當其中電信鏈路斷了的時候,路由器或防火牆通常能通過簡單的探測機制檢測出來,並通過浮動路由進行讓指向電信的路由失效,聯通的生效,但是原本走電信的終端的DNS地址往往是配置的電信dns,通過聯通鏈路去電信DNS伺服器解析,那這個響應速度真的是很慢啊,類似的問題一般是怎麼來解決的呢?
比如行業內這種類似的問題只能是購買昂貴的負載均衡設備才能做嗎?個人觀點路由器廠家實現這個功能應該不難吧,路由器做dns代理,既然浮動路由能和bfd NQA ip-link 等探測機制聯動,為啥不能和DNS聯動呢,讓走電信鏈路的用戶通過電信dns伺服器去解析地址,走聯通鏈路的用戶通過聯通的DNS伺服器去解析地址。
另外類似F5這類的負載均衡在解決本問題大概實現的原理是怎樣的,由於沒有接觸過負載均衡設備。
還有華為的DNS Proxy 是否能解決這個問題


好問題,我做企業網項目挺多的,碰到類似的問題超多,先佔個位置,有空馬上來更新。

-------------------------------------------------------------------------------------------------------------------------

首先,我明確一下我認為比較優化的企業組網理念,不一定是對的,但是大家覺得有道理可以適當參考下。

internet出口我推薦使用防火牆(不推薦使用路由器)

路由器我會放在企業的專線接入一側(而不是直接接入核心交換機),因為路由器對於動態路由協議的支持更好,有著更強大的QoS功能(對於專線做QoS業務保障非常有必要,因為專線非常昂貴,帶寬有限)。

好了,明確以上理念後,我們來進入主題:

首先單機房多運營商鏈路,這個是物理上的必要條件,並且企業往往有兩種業務場景:

1. 內網用戶主動上網,也就是outbound traffic

2. 內網伺服器通過出口防火牆做服務發布,inbound traffic

兩種場景分開說

上網需要的功能是「智能選路」,我訪問電信的IP時,能夠從電信介面出去,訪問聯通IP時能夠從聯通出去,實現的方式很簡答,網上去搜索一些ISP路由表,然後以靜態路由的形式導入防火牆,最後默認路由寫浮動,主走電信,備走聯通。

那麼問題來了,如果電信DOWN了,我怎麼才能讓所有下一跳為電信介面的路由自動消失呢?

由於幾乎所有廠家的網路設備默認判斷路由不可用的方式均為:路由對應的出介面DOWN

然而這種方式並不適用於企業網的大部分場景,因為我們防火牆是主備的,ISP的線路只有一根,往往防火牆的前面會有分線交換機,那就會存在ISP線路已經DOWN,但是防火牆無法感知的情況。

因此,各個網路設備廠家都有對應的解決方案,就是針對路徑做網路探測,具體原理不說了,我列舉一下各個主流廠家的解決方案:

  • CISCO的這一功能叫SLA(Service Level Agreements)
  • HUAWEI的功能叫NQA(Network Quality Analyzer)
  • JUNIPER的功能叫RPM(Real-Time Performance Monitoring)

要注意一點,這些廠家並不是全線產品支持以上功能。

  • 例如CISCO的路由器需要打上最高的data授權,交換機需要最高的ip service授權
  • 華為路由器默認支持,交換機需要買一個NQA的授權
  • JUNIPER的SRX分為:Branch和Datacenter兩條產品線,650以下(包括650)都為Branch,1400以上的均為DC產品,然而DC產品線不支持RPM....

如果你只是想做智能選路,並且能夠多運營商選路自動故障切換,我推薦你去買上面三家的產品和解決方案,別買F5了,太貴了,別被坑了。


講完outbound場景,我們來說服務發布,這其實和你當初設計公網業務場景是息息相關的。

在中國跨運營商訪問帶來的延遲和丟包會降低用戶體驗。

你購買了多運營商的IP和鏈路就是為了公司的應用在internet能夠有更好的用戶體驗,這種用戶體驗的實現思路就是盡量讓電信的用戶去訪問你的電信地址,讓聯通的用戶去訪問聯通地址。

比如:一台WEB伺服器,你即在電信發布了,又在聯通發布了,最優化的做法就是智能DNS方案,你負責解析的權威DNS伺服器能夠判斷客戶的地址是來自哪個運營商,從而返回給對應的伺服器地址。

並且當你的電信鏈路DOWN後,智能DNS要能夠感知到伺服器的電信IP已經不可用,此時返回給客戶的所有IP均為聯通IP。

可見這個智能DNS伺服器是非常重要的,我們有兩種方式去做:

1. 購買硬體/軟體設備,自己搭建(在這塊F5的GTM解決方案是首選)

2. 購買第三方的服務(萬網和DNSPod)

我推薦購買第三方服務。


給運營商和數家銀行做過負載均衡項目,你說的F5也搞過。

1.除了路由器浮動路由,據我所知近幾年現在很多價格1w出頭的企業防火牆自帶近似F5的鏈路負載均衡功能,包括H3C、山石 等,小企業不必再買那些昂貴的設備了。

2.你給的鏈接裡面,華為的設備部就能做DNS代理後NAQ聯動dns伺服器么?讓請求聯通DNS伺服器的走聯通線路,請求電信伺服器的走電信線路,這個很簡單,你只要寫兩條幾條靜態路由聯動NAQ就行了。

3.負載均衡設備就進性判斷有很多方式,比如靜態的運營商地址段列表,比如鏈路帶寬使用率或線路會話負載率,還有就是動態探測了。

動態探測的原理其實很簡單,在非握手代理的情況下,內網用戶發起一個連接時,負載均衡隨機或hash或根據帶寬利用率將用戶數據轉發到一條線路,同時在其他所有可用線路也做一個發起連接的動作,可以根據回包的延時或路由跳數來判斷從哪條線路訪問更近,把探測結果記錄到就進性表中,下次還有目的地址相同的請求就不再隨機分配了,而是按照就進性表裡面的記錄來分配。

當最優的鏈路失效後,會從就進性表中選擇次優的線路,如果就進性表中找不到記錄了,那麼會隨機分給其他鏈路並從所有可用鏈路發出探測。

在握手代理的模式下,負載均衡器會代理用戶建立連接,收到內網用戶請求時不會直接轉發這個數據包,而是自己先和用戶建立好tcp連接,然後從所有鏈路去建立鏈接,選擇最優的一條線路來轉發數據。這時候負載均衡器內外是兩個會話,需要分別打開和關閉。

如上所述,負載均衡器只是根據就進性錶轉發數據,並不能解決只從電信的線發出dns請求的問題,但是負載均衡器也可以配置靜態路由或聯動策略。

然而問題來了,題主說「電信線路斷了以後,原本走電信解析的改走聯通線路,解析速度很慢」,那麼請想想如果電信線路斷了,訪問電信DNS的請求不走聯通線路,走哪裡呢?要麼就是走聯通,要麼就是直接丟棄咯,不管是哪種情況,都會造成解析慢的問題

解析慢的問題用DNS proxy就能解決的,配置DNS proxy後你的防火牆/交換機就成了一台DNS伺服器,同時DHCP也要把防火牆/交換機的地址作為本地dns伺服器分配給用戶。配置了dns proxy的設備會緩存解析結果,即使某條外網線路斷了,防火牆/交換機也會把緩存里的記錄直接返回給用戶。當緩存過期或不存在時,防火牆/交換機才會向公網發出請求,這個時候可能會出現解析緩慢,但是也隻影響少數幾個剛好這個時候請求解析的用戶,而且可以通過DNS伺服器聯動的配置避免這個問題。


企業不懂,雲商或者idc企業很多都是用多線bgp,前提是自己有as和公網ip,然後和多個isp建ebgp,收isp路由,並將自己的路由發出去,一個斷了,路由會切換到另一個isp出口,當然這種切換方法國內情況下比較複雜,原因第一國內動態bgp價格感人,很多公司不全是動態bgp,有很多都是靜態或者半動態(只收不發路由),這樣造成了有時候取消代播無法完全自動實現,第二國內isp之間互聯互通不好,比如你電信斷了或者丟包比較嚴重,切到聯通,會發現延遲會有嚴重的上升,甚至部分地區直接不通了,所以自己內部骨幹容量大的公司會從骨幹調度流量而非跨isp切換,比如北京電信斷了,流量經過自己骨幹網切換從上海電信出,這樣需要自己的公網段在多地播出去並且骨幹上路由也進行相應的調整。通常這種切換會和監控聯動實現自動切換,由於isp骨幹網擁塞還是很常見的,所以這種容災還是比較頻繁。。。


這是個有中國特色的出向負載均衡問題。

先弄出幾個常見的雙出口方案,這些還都是出向負載均衡,還沒有涉及到發布服務用的入向負載均衡和伺服器負載均衡

單出口

二逼雙出口,這是一個不負責任的方案

普通的主備雙出口,許多學藝不精的工程師會這麼做

文藝 的主備雙出口,不考慮性能的話 這是一個可用的方案

隨緣的雙活雙出口,一些soho級產品會用這種方式來實現

手動的引入isp路由表,配置太繁瑣

自動引入isp路由表,看廠家的良心

帶檢測的出向負載均衡,沒記錯的話F5大概是這一類吧


多出口切換有如下幾個問題要解決:

IP路由層面的選路問題,其核心就是保證在多條路徑下,可以均衡流量的同時保證互為備份的作用。這功能最好實現,最簡單的方式就是用等價的靜態路由方式就可以做到,當然OSPF、BGP等路由協議默認就是具備這方面的能力的,這個是IP路由選路的基本能力,因此本質上多出口動態切換這個問題是很好的解決的。在等價路由的情況下,對於符合路由條件的報文默認是一個包從1口扔,第二包從2口扔。但是因為NAT、防火牆等基於五元組(或者session)的設備存在的情況下,很多廠商的設備都是按照「session」進行均衡轉發,保證在相同五元組的情況下,從同一個介面轉發出去。

但是,在這個等價路由的基礎上,又提出了「不對稱的問題」,因為多出口的情況下可能帶寬不一樣,用戶肯定希望鏈路的帶寬利用率儘可能高。這個問題就不是路由協議本身解決的問題了,這種技術沒有標準的協議來支撐,無非就是如下2種:

1、加個權重,使得介面的轉發策略有所偏重。在這個功能基礎上增加增加點自動探測的能力,比如根據介面的負荷等等,其本質都是權重轉發。

2、策略路由,根據內網的源地址分配來調整流量。因為策略路由可以攜帶更多的判斷條件,而普通路由就是根據目的地址選路。


但是,在中國確存在一個特殊問題:就是跨運營商的問題,這個問題就不展開了,有句老話是這麼說的:「世界上最遠的距離不是從中國到美國,而是從電信到網通」。因此客戶就存在這樣的需求,希望訪問電信的流量走電信出口,訪問聯通的流量走聯通出口....,這個問題是多出口下的均衡策略最難解決的問題。

解決這個問題的主要方式就是引入精確路由表,就是所謂的運營商路由,這樣可以滿足用戶的這個需求。這樣,系統的路由表是由精確路由+n條默認路由構成,這樣可以提升用戶的上午體驗。

但是,上面的解決方案,會引入另外一個問題,就是DNS導致的「流量不均衡問題」。因為跨運營商的問題,國內的ICP(新浪、優酷等等)都需要採用CDN解決方案,CDN本質就是根據用戶DNS請求的源地址所屬位置來判定用戶所屬的運營商,這樣就保證盡量讓電信的用戶訪問電信的機房。而一般情況下,一個內網都是給自己的客戶分配統一DNS地址,例如一個單位、一個校園網等,而這個DNS地址一般都是某個運營商提供的(例如電信)。這樣就導致了,這個單位訪問互聯網的時候,DNS解析回來的地址可能都是電信的。再加上精確路由的優先順序一定高於默認路由,這樣就導致,這個單位的DNS地址用哪個運營商的,哪條鏈路就會特別緊張,負載分擔的效果就會大大削弱了。

因此,為了解決這個問題,又需要引入「DNS報文負載均衡的能力」,使得一個內網的用戶的DNS指向不要總是指向某個運營商。這個能力是很多路由器、防火牆不具備的。專業負載均衡設備主要就是靠這個吃飯的。主要的方式:

1、讓內網用戶把DNS指向到出口設備的網關地址,這種方式就是DNS Proxy,網關設備修改DNS的目的地址,來均衡流量。

2、DNS透明代理。這種方式無論內網用戶自己配置什麼DNS伺服器,網關設備都會截獲DNS報文,然後把目的地址給改了。

綜述:多出口路由其實是很好解決的一個問題。但是由於中國的跨運營商問題,引入了很多複雜的情況。個人非常的反感這種跨運營商情況的出現,因為互聯網解決的就是不同區域網的互聯互通問題,而在中國搞成了幾個很大的區域網了。無語啊!


關注一下。正好前幾天看到了校園網的當時的設計,有涉及到雙出口的部分,今天貼上來跟大家分享下。有不對的地方大家多指正。

  • 雙出口的配置

在很多地區,網吧、高校用戶同時申請了中國電信和中國網通兩條寬頻接入線路,如果此時雙線路採用常規的「負載均衡」方式,就會發生訪問網通站點走電信線路,訪問電信站點走網通線路的情況,由於網通和電信兩個運營商之間存在著互聯互通速度慢的問題,造成速度瓶頸。本院校也同時接入電信和網通兩條寬頻。如何實現「訪問網通站點走網通線路,訪問電信站點走電信線路」呢?在AR18系列路由器上可以通過配置策路由的方式滿足以上需要。(此方案為我校早期的方案。不知道拿到今天還是不是最好的辦法。但是我覺得配置策略路由,的確是一種可行的辦法。

  • 配置步驟

#定義監測組,分別監測電信和網通網關進入系統視圖,創建detect-group 1,監測電信網關:
&system
System View: return to User View with Ctrl+Z.
[Quidway] detect-group 1
[Quidway-detect-group-1]
[Quidway-detect-group-1]detect-list 1 ip address
x.x.x.x
[Quidway-detect-group-1]quit

#創建detect?group 1,監測網通網關:
[Quidway]detect-group 2
[Quidway-detect-group-2]detect-list 1 ip address
y.y.y.y
[Quidway-detect-group-2]quit
[Quidway]

#配置兩條默認路由互為備份,優先走電信線路:
[Quidway]ip route-static 0.0.0.0 0.0.0.0 x.x.x.x preference 60 detect-group 1
[Quidway]ip route-static 0.0.0.0 0.0.0.0 y.y.y.y preference 100 detect-group 2
註:以上以地址x.x.x.x最為電信網關地址,地址y.y.y.y為聯通網關地址。

#配置靜態路由與監測組關聯,使訪問網通流量優先走網通線路:
ip route-static 58.16.0.0 255.248.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 58.100.0.0 255.254.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 58.240.0.0 255.240.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 60.8.0.0 255.252.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 60.12.0.0 255.255.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 60.13.0.0 255.255.192.0 y.y.y.y preference 60 detect-group 2
ip route-static 60.13.128.0 255.255.128.0 y.y.y.y preference 60 detect-group 2
ip route-static 60.16.0.0 255.240.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 60.24.0.0 255.248.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 60.31.0.0 255.255.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 60.208.0.0 255.248.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 60.216.0.0 255.254.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 60.220.0.0 255.252.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 61.48.0.0 255.252.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 61.52.0.0 255.254.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 61.54.0.0 255.255.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 61.55.0.0 255.255.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 61.133.0.0 255.255.128.0 y.y.y.y preference 60 detect-group 2
ip route-static 61.134.64.0255.255.192.0 y.y.y.y preference 60 detect-group 2
ip route-static 61.134.128.0255.255.128.0 y.y.y.y preference 60 detect-group 2
ip route-static 61.135.0.0 255.255.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 61.136.0.0 255.255.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 61.138.0.0 255.255.128.0 y.y.y.y preference 60 detect-group 2
ip route-static 61.139.128.0 255.255.192.0 y.y.y.y preference 60 detect-group 2
ip route-static 61.148.0.0 255.255.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 61.149.0.0 255.255.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 61.156.0.0 255.255.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 61.158.0.0 255.255.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 61.159.0.0 255.255.192.0 y.y.y.y preference 60 detect-group 2
ip route-static 61.161.0.0 255.255.192.0 y.y.y.y preference 60 detect-group 2
ip route-static 61.161.128.0255.255.128.0 y.y.y.y preference 60 detect-group 2
ip route-static 61.162.0.0 255.255.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 61.163.0.0 255.255.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 61.167.0.0 255.255.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 61.168.0.0 255.255.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 61.176.0.0 255.255.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 61.179.0.0 255.255.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 61.180.128.0255.255.128.0 y.y.y.y preference 60 detect-group 2
ip route-static 61.181.0.0 255.255.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 61.182.0.0 255.255.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 61.189.0.0 255.255.128.0 y.y.y.y preference 60 detect-group 2
ip route-static 124.90.0.0 255.254.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 124.162.0.0 255.255.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 192.168.2.246 255.255.255.255 192.168.2.254 preference 60
ip route-static 202.32.0.0 255.224.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 202.96.64.0 255.255.224.0 y.y.y.y preference 60 detect-group 2
ip route-static 202.97.128.0255.255.128.0 y.y.y.y preference 60 detect-group 2
ip route-static 202.98.0.0 255.255.224.0 y.y.y.y preference 60 detect-group 2
ip route-static 202.99.0.0 255.255.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 202.102.128.0255.255.192.0 y.y.y.ypreference60 detect-group 2
ip route-static 202.102.224.0255.255.254.0 y.y.y.ypreference60 detect-group 2
ip route-static 202.106.0.0 255.255.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 202.107.0.0 255.255.128.0 y.y.y.y preference 60 detect-group 2
ip route-static 202.108.0.0 255.255.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 202.110.0.0 255.255.128.0 y.y.y.y preference 60 detect-group 2
ip route-static 202.110.192.0255.255.192.0 y.y.y.ypreference60 detect-group 2
ip route-static 202.111.128.0255.255.192.0 y.y.y.ypreference60 detect-group 2
ip route-static 203.79.0.0 255.255.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 203.80.0.0 255.255.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 203.81.0.0 255.255.224.0 y.y.y.y preference 60 detect-group 2
ip route-static 203.86.32.0 255.255.224.0 y.y.y.y preference 60 detect-group 2
ip route-static 203.86.64.0 255.255.224.0 y.y.y.y preference 60 detect-group 2
ip route-static 203.90.0.0 255.255.128.0 y.y.y.y preference 60 detect-group 2
ip route-static 203.90.128.0255.255.192.0 y.y.y.y preference 60 detect-group 2
ip route-static 203.90.192.0255.255.224.0 y.y.y.y preference 60 detect-group 2
ip route-static 203.92.0.0 255.254.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 210.12.0.0 255.255.128.0 y.y.y.y preference 60 detect-group 2
ip route-static 210.12.192.0255.255.192.0 y.y.y.y preference 60 detect-group 2
ip route-static 210.13.0.0 255.255.255.0 y.y.y.y preference 60 detect-group 2
ip route-static 210.14.160.0 255.255.224.0 y.y.y.y preference 60 detect-group 2
ip route-static 210.14.192.0 255.255.192.0 y.y.y.y preference 60 detect-group 2
ip route-static 210.15.0.0 255.255.128.0 y.y.y.y preference 60 detect-group 2
ip route-static 210.15.128.0 255.255.192.0 y.y.y.y preference 60 detect-group 2
ip route-static 210.16.128.0 255.255.192.0 y.y.y.y preference 60 detect-group 2
ip route-static 210.21.0.0 255.255.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 210.22.0.0 255.255.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 210.51.0.0 255.255.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 210.52.0.0 255.254.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 210.52.128.0 255.255.128.0 y.y.y.y preference 60 detect-group 2
ip route-static 210.53.0.0 255.255.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 210.74.64.0 255.255.192.0 y.y.y.y preference 60 detect-group 2
ip route-static 210.74.128.0 255.255.192.0 y.y.y.y preference 60 detect-group 2
ip route-static 210.78.0.0 255.255.224.0 y.y.y.y preference 60 detect-group 2
ip route-static 210.82.0.0 255.254.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 211.100.0.0 255.255.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 211.101.0.0 255.255.192.0 y.y.y.y preference 60 detect-group 2
ip route-static 211.147.0.0 255.255.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 211.167.96.0 55.255.224.0 y.y.y.y preference 60 detect-group 2
ip route-static 218.4.0.0 255.252.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 218.10.0.0 255.254.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 218.21.128.0 255.255.128.0 y.y.y.y preference 60 detect-group 2
ip route-static 218.24.0.0 255.254.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 218.26.0.0 255.255.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 218.27.0.0 255.255.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 218.28.0.0 255.254.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 218.56.0.0 255.252.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 218.60.0.0 255.254.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 60.0.0.0 255.248.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 218.62.0.0 255.255.128.0 y.y.y.y preference 60 detect-group 2
ip route-static 218.67.128.0 255.255.128.0 y.y.y.y preference 60 detect-group 2
ip route-static 218.68.0.0 255.254.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 218.109.159.0 255.255.255.0 y.y.y.ypreference60 detect-group 2
ip route-static 219.141.128.0 255.255.128.0 y.y.y.ypreference60 detect-group 2
ip route-static 219.142.0.0 255.254.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 219.154.0.0 255.254.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 219.156.0.0 255.254.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 219.158.0.0 255.255.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 219.159.0.0 255.255.192.0 y.y.y.y preference 60 detect-group 2
ip route-static 220.248.0.0 255.252.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 220.252.0.0 255.255.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 221.0.0.0 255.252.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 221.4.0.0 255.254.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 221.6.0.0 255.255.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 221.7.128.0 255.255.128.0 y.y.y.y preference 60 detect-group 2
ip route-static 221.8.0.0 255.254.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 221.10.0.0 255.255.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 221.11.0.0 255.255.128.0 y.y.y.y preference 60 detect-group 2
ip route-static 221.12.0.0 255.252.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 221.12.0.0 255.255.128.0 y.y.y.y preference 60 detect-group 2
ip route-static 221.12.128.0 255.255.192.0 y.y.y.y preference 60 detect-group 2
ip route-static 221.192.0.0 255.252.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 221.195.0.0 255.255.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 221.196.0.0 255.254.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 221.199.0.0 255.255.224.0 y.y.y.y preference 60 detect-group 2
ip route-static 221.199.32.0 255.255.240.0 y.y.y.y preference 60 detect-group 2
ip route-static 221.199.128.0255.255.192.0 y.y.y.ypreference60 detect-group 2
ip route-static 221.199.192.0255.255.240.0 y.y.y.ypreference60 detect-group 2
ip route-static 221.200.0.0 255.252.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 221.204.0.0 255.254.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 221.207.0.0 255.255.192.0 y.y.y.y preference 60 detect-group 2
ip route-static 221.208.0.0 255.240.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 221.208.0.0 255.252.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 221.213.0.0 255.255.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 221.214.0.0 255.254.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 222.128.0.0 255.252.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 222.132.0.0 255.252.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 222.136.0.0 255.248.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 222.160.0.0 255.252.0.0 y.y.y.y preference 60 detect-group 2
ip route-static 222.163.0.0 255.255.224.0 y.y.y.y preference 60 detect-group 2
#內網路由
ip route-static 192.168.0.0 255.255.0.0 192.168.250.2 preference 60

註:以上路由已經包含大部分網通地址段,如有更新可以動態添加。

經過如上三個配置步驟後,路由器便能自動區分網通流量和電信流量,使訪問網通站點走網通線路,訪問電信站點走電信線路。並且當網通線路出問題後所有流量都會自動切換到電信線路上,使用戶能夠不間斷訪問網路。


配置關鍵點:關鍵點在於配置預設路由走電信,精確路由走網通,同時配置一條優先順序較低的預設路由走網通,這樣既能實現負載分擔,也能實現備份功能。


路由通過浮動路由切換,DNS可以配置多個自動切換,或者乾脆配置運營商外的公共DNS,比如阿里雲DNS


就沒有大神講講EBGP對接的情況嗎。。。

全是企業網方案


屌絲做法,插上Console就干,通了就走


沒能弄明白題主的意思,我簡單從自己知道的說倆句。雙出口現在基本不影響dns國內解析,因為現在很多站點都是有dnspod服務,什麼意思呢,你電信出口down了,dns請求走聯通出口出去,其實返回給你dns請求回來的地址人家已經幫你做好優化了,騰訊119.29.29.29,阿里223.5.5.5,所以現在如果單純從dns這塊這需求壓根兒就不成立,可能幾年還有這種情況吧。


現在很多網吧也用雙線接入,根據遊戲區服自動選擇線路,好像很多網吧用ros軟路由。沒啥成本吧,還有一家國產用的飛魚星路由器,自動選擇出口,好像也挺穩定的。這個實現的原理跟你們說的那些高端設備,一樣嗎?


第一 如果就出口動態切換的角度來說,目前網路設備是沒法做的像負載均衡設備那樣功能全面,因為寫在網路設備里的運營商路由表是肯定不全的,肯定會出現某條路由沒記錄的情況,此時這個沒記錄的路由如果在網路設備上就只能走默認路由出去了,而如果是負載均衡設備來處理這個路由的話,就會根據你配置時候所選的負載均衡演算法來計算走哪一條路出去,影響最終結果的因素可以有延遲,跳數,響應時間等等。從這個角度上來說負載均衡設備是可以在選路最優化上做的比網路設備更全面的。

第二 題主其實還問到了一個出向流量的DNS負載問題,這個問題就我所知應該是沒有網路設備能做到這個的。比較好也比較省事的辦法就是如之前大家說的買個負載均衡設備,或者採用一個效果不那麼好的笨辦法就是部署一個dns伺服器,並且在伺服器上寫腳本檢測鏈路根據檢測結果而決定下發給客戶端哪個dns,不過這個辦法其實從部署,維護以及效果上來說比之負載均衡設備還是差不少的,屬於想要把網路做細但是又不想花錢情況下的湊合用的方案。


推薦閱讀:

Google Public DNS 8.8.8.8 會收集哪些數據?
鳳凰視頻,包括鏘鏘三人行,笑逐顏開等節目不能看了,時間是2017年6月?
2014 年 1 月 21 日中國互聯網根域名伺服器 (DNS) 故障是什麼原因?

TAG:DNS | CCIE | 高級網路工程師 | 網路工程師 |