DNS Server

這次的 NA 作業,叫我們搭建一個 DNS Server,並要與另一個隊友搭配,在這裡把一些架設的細節記錄下來。

作業內容

主要還是需要有點團隊合作的作業

  • 用 BIND 設置 DNS Server (20%)
    • 讓自己的 DNS Server 提供服務 (exampleA.com)
    • 讓隊友給你的 DNS Server 提供服務 (sub.exampleB.net)
    • 把自己的 Sub domain 給隊友管理 (sub.exampleA.com)
    • 從 Internet 可以 query 到 DNS Server 的資料 (e.g. workstations、140.113.235.1)
  • Common (10%)
    • 把 ws.sub.{teammate’s domain} CNAME 到 demo.sub.{teammate’s domain}
    • 把自己 server 的 SSHFP record 加到 sub.{teammate’s domain}
  • View (20%)
    • 添加 ws.sub.{teammate’s domain} 的 A record
    • 來自 bsd1-bsd4.cs.nctu.edu.tw 的 query 回應 140.113.235.131
    • 來自 linux1-linux4.cs.nctu.edu.tw 的 query 回應 140.113.235.151
    • 其他的 query 回應 not found
  • Logging (10%)
    • 把全部的 log 丟到 /var/log/named.log
    • log rotate
  • Security (15%)
    • 只允許 隊友的IP、bsd1.cs.nctu.edu.tw、linux1.cs.nctu.edu.tw 做 AXFR request
    • No recursion
  • DNSSEC (15%)
    • 在 sub.{teammate’s domain} 設置
    • 信任鏈要弄好
  • 把 sub.{your domain} 設成 slave (10%)
    • 由隊友管理
    • 同步更新

環境

租借 VPS

我和我的隊友都是用Google Cloud Platform(以下簡稱GCP)搭建

GCP第一次弄的話會送你300美金,使用期限是1年

網路上教學還滿多的,可以去找找,CPU還有硬碟都能自己設自己要的大小,Zone 的話選離台灣進一點的,延遲會比較小。

題外話,我們很奢侈的用了比較高級的CPU和SSD,google還說我們太浪費了叫我們少用點XD

系統的話我們是裝他選項中的 ubuntu,一鍵裝好,還滿簡單的。

設置靜態 IP

安裝完系統後,GCP預設的IP是臨時IP,為了我們之後操作的方便,記得要改成靜態的IP。

到選項中的 VPC網路\外部IP位址,把臨時改成靜態,設一下名字就完成了。

之後要 SSH 進去 server,就是透過申請的這個IP了。

申請 Domain

網路上教學很多,我們原本是打算用 namecheap 的,但作到中間因為一些原因放棄了,之後就用系計中給我們的 domain 來做,單純很多。

網址如下:https://www.nctucs.net/

我申請到的 domain 叫做 kaiiiz.nctucs.net 隊友申請到的 domain 叫做 muller.nctucs.net

SSH

環境搞定後,就可以透過 terminal SSH 進去剛剛建好的 server 了。(記得中繼資料要加好SSH-key)

可以裝一些能提高效率的工具,像是 zsh, tmux, vim…等等,這裡每個人習慣不同就不贅述了。

設定

備份一下一些重要的檔案:

有興趣的可以參考一下

comments powered by Disqus