# 利用CloudFlare 做到DNS跳轉 ## 起頭 真的是要謝中華電信給了一堆神一般的限制,在與網域大神朋友的研究、以及中華電信SSL憑證部門的技術員(真的要公開感謝他,陪我研究好一段時間)的努力之下,終於把這鬼東西解決好了。 寫下這份筆記也是想留給在目前有使用到中華電信發現DNS跳轉無法順利設定,或是在沒有IPv4/IPv6的情況下,不給你裸連跳轉的朋友們,~~或是不想花錢開Pro DNS的~~。 ## 操作流程 ### 前置準備 1. CloudFlare 帳號一個 2. 準備好的網域與其平台([Hinet Domain管理](https://domain.hinet.net/#/)) 3. 使用到的網站連結(這邊是用Heroku,所以下面會用Heroku舉例) ### <kbd>Step 1</kbd> 資料的填入 1. 進到自己的App,選擇上方Navbar的 <kbd>Setting</kbd> 2. SSL Certificates的部份,若有就設定一下 3. Domains的部份,選擇 <kbd>Add domain</kbd>: * Domain name填入自己的網域名稱 * SSL Certificate有就選擇自己的,沒有就保持`No SNI Endpoint`就好 * 好了按下 <kbd>Next</kbd> 4. 好了就會發現外面列表多一個剛剛新增的,記住DNS Target的連結,等等會用到 ### <kbd>Step 2</kbd> 進到CloudFlare儀表板的操作 1. 辦帳號阿(下略) 2. 來到儀表板,按下右上方的 <kbd>新增網站</kbd> 3. 輸入買好的網域名稱,按下 <kbd>繼續</kbd> ![](https://hackmd.io/_uploads/BkV_8I7Ma.png) 4. 跳出步驟一「選擇方案」,就選免費方案就好,按下 <kbd>繼續</kbd> 5. 按下 <kbd>新增紀錄</kbd> ,照著下面的提示新增: * 一個類型為 `CNAME` 的資料 * 名稱依照自己決定,裸連就是給`@`就可以(像下面附圖的這樣) * 內容就填入要跳轉的網址(這邊就丟稍早Heroku提供的DNS Target網站) * Proxy狀態可以不用開 * TTL選擇自動 * 好了就按下 <kbd>儲存</kbd> ![](https://hackmd.io/_uploads/HyeHaIXG6.png) 6. 按下 <kbd>繼續</kbd> 7. 接下來就會提示你到網域提供的評更改DNS的伺服器,記住下面兩個網址 * `derek.ns.cloudflare.com` * `reza.ns.cloudflare.com` ![](https://hackmd.io/_uploads/ByyiAUXz6.png) ### <kbd>Step 3</kbd> 中華電信DNS的更換 1. 登入後,選擇 <kbd>更新DNS主機</kbd> 2. 選擇 <kbd>編輯</kbd>,把剛剛的兩個DNS網址貼上去,按下 <kbd>送出</kbd> ![](https://hackmd.io/_uploads/HJEOGv7MT.png) ## 如何知道可以了 * 可以來[Google dig](https://toolbox.googleapps.com/apps/dig/)看看 * 上面輸入使用的網域 * 按`NS`看一下是否有成功跳到剛剛輸入的DNS網址 ![](https://hackmd.io/_uploads/B1osBD7fp.png) * 通常要等1~6小時 * 因為網路TTL時間要更新到最短會有到1小時的,所以建議改動後等一段時間再來看