Cloudflare DDoS配置案例


 

導航:

  這里將一個案例事項按照流程進行了整合,這樣查看起來比較清晰。部分資料來自於Cloudflare

  1.DDoS介紹

  2.常用DDoS攻擊

  3.DDoS防護方式以及產品

  4.Cloudflare DDoS配置案例

 

背景信息

本案例場景為給XX項目Login服務器以及Game服務器增加 DDOS防護,使用Cloudflare。

環境架構由

Client → Login/Game服務器

(客戶端的流量直接連接Login/Game服務器)

升級為

Client → CloudFlare → Login/Game服務器

(客戶端流量發送給CloudFlare,在由CloudFlare反向代理至Login/Game服務器)

 

注意:圖中敏感信息已打碼;另所有域名信息使用www.baidu.com代替,IP端口為虛假信息。

 

 

1.流程圖

1.1 登錄服

  XX項目版Login服務器不增加DDOS防護時,玩家直接通過DNS服務器解析到Login服務器的真實IP地址連接Login服務器的80端口,並獲取區服列表

  具體流程見下圖;

  在加入DDOS防護后,DNS域名會將映射解析到 Cloudflare的邊緣防護IP上,然后Cloud Flare會將請求反向代理到Login的真實IP上.

 

2.1 游戲服

  XX項目版Game服務器不增加DDOS防護時,由於Game沒有域名配置,玩家直接通過Login服務器獲取Game的IP地址,然后連接Game服的8000-8001端口,連接Game服務器;由於XX項目 Game服為滾服架構,那么每個Game區服都會開放8000-8001端口.

  具體流程見下圖.

  加入DDOS防護后,由於DDOS邊緣防護IP數量有限(根據溝通,CloudFlare邊緣IP上限為10個),並且,一個邊緣IP只能開放一個相同端口;所以,邊緣IP以及Game服的對外IP依次遞增對外端口來滿足配置需求.

 

2.配置案例

  XX項目環境信息如下

角色

域名

邊緣IP

服務器對外真實IP

服務器對外端口

Login服務器

www.baidu.com

2.2.2.2

1.1.1.1

80

Game1

2.2.2.2

10.10.10.10

8000,8001

Game2

2.2.2.2

10.10.10.11

8002,8003

  由於login服務器和game服務器端口不沖突,所以這里只用一個邊緣ip:2.2.2.2。所有對外端口依次遞增。

  在XX項目環境中,需要配置的模塊有3個,分別為以下:

  CloudFlare

  配置至真實游戲服(登錄服)的反向代理目的地址,並獲取CloudFlare的邊緣IP。

  DNS

  由於DNS在沒有DDOS防護前,直接將映射解析至Login的服務上,在加入DDOS防護后,需要將解析更改至CloudFlare的邊緣IP上。

  游戲服(登錄服)

  為了節約成本以及IP資源的節省,對外端口由8000-8001遞增的方式添加。

 

2.1 CloudFlare

  1.登錄CloudFlare

  網址: https://dash.cloudflare.com/login

  2.點擊項目的域名

  XX項目使用的是baidu.com

  3.DNS以及Spectrum

  (由於配置多余的域名可能會導致額外費用,這里只展示配置過程截圖)

  主要是在以下2個配置項(根據實際需求選擇)里面配置反向代理的服務器IP,並獲取CloudFlare邊緣IP

  DNS:DNS配置項可以配置標准端口,如80和443,一般是7層協議。

  Spectrum:Spectrum配置項可以隨意配置有效范圍端口,比如不是標准的80和443卻也是http協議。可以配置協議比較多。

 

  • DNS配置項

  如端口為80及443,配置見以下

  配置完成后點擊保存.

 

  • Spectrum配置項

  如果后端真實服務器對外端口為非80和443,那么就需要使用Spectrum配置項.

    點擊Spectrum→點擊創建應用程序

  配置Spectrum(這里假設配置2個游戲服,端口號8000-8003

  Game1(端口8000-8001)

  Game1第二個端口

  Game2(端口8002-8003)

  Game2第二個端口

  注意:不管是DNS配置項還是Spectrum配置項,域名地址配置部分,一定最好保持一致,只有域名地址相同,分配的邊緣IP地址才會相同。(Cloudflare還是要按照實際情況決定)

 

  4.頁面規則

  如果是配置DDoS防護,可以不用配置默認規則,但是這里還是顯示的配置一下更為清晰。

  5.獲取CloudFlare的邊緣IP地址

  獲取CloudFlare的邊緣IP地址,通過dig命令加上CloudFlare的CNAME別名來獲取。

  比如XX項目只有一個主機名,那么直接 dig www.baidu.com.cdn.cloudflare.net

  注意:配置2個主機名或者1個主機名,按照實際條件選擇,cloudflare按照邊緣IP收費。

 

2.2 DNS

  只有有域名配置的服務器才需要配置DNS,比如Login服務器(這里XX項目login服務器功能是獲取區服列表,所以配置了域名)。

  目前環境配置海外項目使用AWS route53服務來配置域名

  1.登錄AWS,找到ROUTE 53服務→托管區域→找到baidu.com域名

  2.將原主機域名A記錄改為CNAME記錄,指向CloudFlare的CNAME域名

 

2.3 Login服-Game服

  內部項目信息,敏感信息這里不做公開。只需要將原來的外網地址改成cloudflare的邊緣IP地址和剛才配置的端口即可。

 

 

3. 頁面規則

  至於頁面規則,在初期使用cloudflare的時候,配置DNS項,總會在頁面規則里面增加一個頁面規則:緩存級別-繞過。后面發現,如果作為DDOS防護產品來用,可以不需要這個配置。以下是和cloudflare技術支持人員討論的截圖。

  

  一般情況下,作為DDoS高防配置cloudflare,是不需要配置頁面規則的。但是在以下情況下,還是要配置頁面規則,否則配置DDoS高防后,無法正常使用。

    1.DNS項配置DDoS高防。

    2.源站僅開啟443端口。

  因為在使用DNS項配置DDoS高防時,無法指定源站的端口是什么,cloudflare訪問源站默認策略為靈活(也就是默認80)訪問。若源站僅開啟443端口,那么將無法訪問網站。

  

  由於以上截圖針對整個域名的全局配置,不能修改以上配置,需要針對域名開啟單獨的ssl配置。

  點擊域名下規則→頁面規則→創建頁面規則,輸入要配置的域名以及ssl為完全即可。

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM