--- title: Lab Meeting Minutes 2022/8/5 tags: lab_meeting --- > Outline > [TOC] --- # PERAL Lab Meeting - 時間:111 年 8 月 5 日 10:30 - 地點:[Online](https://meet.google.com/dwe-jgot-isi) - 出席者:吳坤熹老師、謝萬霖、吳騰然、劉怡君、田蕙瑜、丘世宇、莊才賢、紀見如、劉冠伶、林大智、繆亭霄、周以恆(請假)、洪胤勛(系辦工讀請假) - 會議主題: [DNS](https://docs.google.com/presentation/d/1btPSEYW6nHI65fMqh6Aca5aTLuZEDxQWmSaQpbAyRg8/edit?fbclid=IwAR2OcUi-GCBcwbvE83qNj6vHxVG3b4_ETlo3MasaTDL42e0jtcb3nJDpKL0#slide=id.g13fe34a9b88_0_5) - 主講者: 劉冠伶 - 主記: 繆亭霄 ## 會議內容 ### Introduction - 將host name跟ip連結起來 ![](https://i.imgur.com/YlAIJzy.png) ![](https://i.imgur.com/o8E95Dz.png) - Domain Name Space - hierarchical name space - label - domain name - tree的最上層是root - 階層式的想法是 - 搜尋是由下向上 - FQDN: 絕對路徑,有dot結尾 - PQDN: 相對路徑,無dot結尾 ![](https://i.imgur.com/BDG4SnP.png) - hierarchy of name servers - Zone v.s. Domain - zone file: 在一個server裡放資料的地方 - domain: domain就是只要是domain name space下的 subtree都是domain - zone: zone 的定義是一台 server 管理的範圍稱為 zone ![](https://i.imgur.com/rnBANrX.png) - Primary and Secondary Servers - primary server: 主要在primary server做更改的動作 - secondary server: secondary 會在必需的時間裡去向 primary 要資料來更新自己的 zone file ### More Details - DNS Structure - Root Server - Top Level Domains (TLDs) - Generic TLDs, gTLD: com是公司用的,edu教育,gov政府機構,mil 軍事,org 非利益組織 - Country code TLDs, ccTLD: 國家名稱取兩個character來組成,像是美國就是 .us,台灣是 .tw - Name-Address Resolution - ![](https://i.imgur.com/3wHDro2.png) - Reverse DNS look up: 反查 - Recursive resolution: client 發送一次 query 它會去問它的name server 如果 Name server 不能解答,它就會再去上層問,等到問到解答之後才會把結果送回來 - ![](https://i.imgur.com/DaIySqS.png) - Iterative resolution: client 發送 query 去 name server 問,如果問不到它會回傳給 client ,之後 client 才會再向上層的 server 詢問,如果又問不到它就會這樣一來一回的傳送訊息 - ![](https://i.imgur.com/KgjPYzv.png) - caching: 一種存放空間,重複查時,減少搜尋時間增加效率 - TTL(time-to-live): 將放很久的資料消去,避免 cache 資料過於龐大 - unauthoritative - DNS Messages - Query - Response - ![](https://i.imgur.com/WzJczO9.png) - Header - Identification - Flags - QR: 佔 1-bit,如果值是 0 表示是 query,如果是 1 表示是 response - OpCode: 佔 4-bit 是用來判斷 type 的, 0代表是一般的,1表示反查 - AA: 佔 1-bit 用來表示這個 name server 是不是就是 authoritative server,是的話 value 是 1 - TC: 佔 1-bit,用來看這個response 是否有超過 512 bytes, 如果超過 value 是1 - RD: 佔 1-bit,用來指定要使用 recursive resolution 的,他會再 query 中指定,並在 response 中保留 - RA: 佔 1-bit,用來判斷這個 recusive answer 是否是有效的 - Reserved: 佔 3-bit 一律放 0 在這裡 - rCode: 佔 4-bit 是用來回覆錯誤訊息 - ![](https://i.imgur.com/ux2Twjd.png) ![](https://i.imgur.com/3wX9yM8.png) ![](https://i.imgur.com/707jjCP.png) - section - Question Section: 放 question record - Answer Section: 放 resource record - response 才有 - Authoritative Section: 記錄 authoritative servers - response 才有 - Additional Information Section: 放一些可能有用的資訊,像是 name server 的 address - response 才有 - Types of Records - Question Records - a question records is used by the client to get information from a server - Query name - Query type - Query class ![](https://i.imgur.com/az10J5q.png) - Types of Records - Resource Records - 本來就放在server - 新增三個資訊 - TTL - Resource data length - Resource data ### Hands-on - 安裝 bind9 ![](https://i.imgur.com/0dva3h9.png) - 修改設定檔 ![](https://i.imgur.com/CYaDZ5I.png) ![](https://i.imgur.com/XDV6sne.png) - 設定zone file ![](https://i.imgur.com/gO0rB2h.png) - NS: Name server - check & reload ![](https://i.imgur.com/xbEDy0I.png) - verify dns server ### 建議&問題 1. DNS 是很重要的服務。除了省去記憶IP位址的麻煩,它也是常見的 Service Discovery 三大招式之一。[name=Solomon] Ans: 1. DHCP - RFC 3319 - DHCP Options for SIP 2. Multicast - e.g., sip.mcast.net (224.0.1.75, ff0e::175) is reserved for SIP Registrars. 3. DNS - The largest distributed database on the Internet. - host -t SRV _sip._udp.mit.edu 2. P.16 Reserved這三個bit有什麼用意? [name=Jeniffer] Ans: 如果未來有需要新增的判斷可以做使用. 像 TCP header 中也都有 Reserved 欄位. 3. Demo 除了指令,也可顯示結果,才知道自己做的是否有成功。[name=August] 4. P.28 為什麼需要demo2 NS那行? [name=Jerry] Ans: zone只有demo2,dns.demo2是一台host的名稱 [name=Solomon] 5. test2從外面可以查嗎? [name=Choffin] Ans: 可以 6. 從外部連線得到嗎? [name=Choffin] Ans: dns只負責domain name與IP 位址的對應,連不連得上要看自己的routing。至於要不要讓別人從校外可以連線到,,根據自己的需求決定要給public還是private ip [name=Solomon] 7. 建議可以補充說明,用顏色標出config file要改的項目,以及每個項目的意義 (雖然前面多少都有講過,再講一次會更清楚。) [name=Angela] 8. 用NAT內的 private ip能不能架設dns? [name=Toby] Ans: 要透過dns alg的設定,但不建議,如果想對外服務就建議提供public ip address. 缺 public IPv4 address 就用 IPv6. [name=Solomon] [DNS ALG](https://www.juniper.net/documentation/us/en/software/junos/alg/topics/topic-map/security-dns-algs.html#:~:text=The%20DNS%20Application%20Layer%20Gateway%20%28ALG%29%20service%20provides,translation%20of%20the%20DNS%20query%20and%20response%20packets) 9. P.13 若 local DNS 查不到,它會直接叫你去問 root, 而不是先問 edu 這樣逐層問上去。[name=solomon] ## 待追蹤事項 1. [name=] ## 臨時動議 1. 財產清點請在 8/7 前完成 --- 散會結束時間: 2022/08/05 12:29 - [time=Fri, Aug 5, 2022 12:29 AM]