Difference between revisions of "Introduction to DNS"

From CMU ITSC Network
Line 49: Line 49:
 
Start of Authority : ระบบ Authoritative DNS Server ของ domain, email สำหรับติดต่อเจ้าของโดเมนแล้วค่าต่าง ๆ ของ domain zone [https://en.wikipedia.org/wiki/SOA_record อ่านเพิ่มเติม]
 
Start of Authority : ระบบ Authoritative DNS Server ของ domain, email สำหรับติดต่อเจ้าของโดเมนแล้วค่าต่าง ๆ ของ domain zone [https://en.wikipedia.org/wiki/SOA_record อ่านเพิ่มเติม]
  
 +
== แนะนำ dig เครื่องมือสำหรับ DNS lookup ==
 +
บน Linux จะมีอยู่แล้ว บน windows สามารถ download ได้ที่ [https://www.isc.org/downloads/ https://www.isc.org/downloads/] เลือก bind for windows และตอนติดตั้งให้เลือกแค่ utilities ไม่ต้องติดตั้ง Service bind
 +
* lookup domain ปกติ
 +
<syntaxhighlight lang=bash>
 +
$ dig www.cmu.ac.th
 +
 +
; <<>> DiG 9.11.3-1ubuntu1.1-Ubuntu <<>> www.cmu.ac.th
 +
;; global options: +cmd
 +
;; Got answer:
 +
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 33420
 +
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
 +
 +
;; OPT PSEUDOSECTION:
 +
; EDNS: version: 0, flags:; udp: 4096
 +
;; QUESTION SECTION:
 +
;www.cmu.ac.th.                IN      A
 +
 +
;; ANSWER SECTION:
 +
www.cmu.ac.th.          10      IN      A      202.28.249.26
 +
 +
;; Query time: 0 msec
 +
;; SERVER: 10.8.8.8#53(10.8.8.8)
 +
;; WHEN: Thu Oct 18 16:07:33 DST 2018
 +
;; MSG SIZE  rcvd: 58
 +
</syntaxhighlight>
 +
 +
* lookup ระบุ server ที่ต้องการ
 +
<syntaxhighlight lang=bash>
 +
dig @8.8.8.8 www.cmu.ac.th
 +
 +
; <<>> DiG 9.11.3-1ubuntu1.1-Ubuntu <<>> @8.8.8.8 www.cmu.ac.th
 +
; (1 server found)
 +
;; global options: +cmd
 +
;; Got answer:
 +
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29837
 +
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
 +
 +
;; OPT PSEUDOSECTION:
 +
; EDNS: version: 0, flags:; udp: 512
 +
;; QUESTION SECTION:
 +
;www.cmu.ac.th.                IN      A
 +
 +
;; ANSWER SECTION:
 +
www.cmu.ac.th.          2347    IN      A      202.28.249.26
 +
 +
;; Query time: 40 msec
 +
;; SERVER: 8.8.8.8#53(8.8.8.8)
 +
;; WHEN: Thu Oct 18 16:09:18 DST 2018
 +
;; MSG SIZE  rcvd: 58
 +
</syntaxhighlight>
 +
 +
* lookup ระบุ record เช่น NS,MX,AAAA
 +
<syntaxhighlight lang=bash>
 +
$ dig ns cmu.ac.th
 +
 +
; <<>> DiG 9.11.3-1ubuntu1.1-Ubuntu <<>> ns cmu.ac.th
 +
;; global options: +cmd
 +
;; Got answer:
 +
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 42432
 +
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
 +
 +
;; OPT PSEUDOSECTION:
 +
; EDNS: version: 0, flags:; udp: 4096
 +
;; QUESTION SECTION:
 +
;cmu.ac.th.                    IN      NS
 +
 +
;; ANSWER SECTION:
 +
cmu.ac.th.              3600    IN      NS      ns.cmu.ac.th.
 +
cmu.ac.th.              3600    IN      NS      ns-azure.cmu.ac.th.
 +
cmu.ac.th.              3600    IN      NS      clarinet.asianet.co.th.
 +
 +
;; Query time: 3 msec
 +
;; SERVER: 10.8.8.8#53(10.8.8.8)
 +
;; WHEN: Thu Oct 18 16:11:28 DST 2018
 +
;; MSG SIZE  rcvd: 112
 +
 +
$ dig mx cmu.ac.th
 +
 +
; <<>> DiG 9.11.3-1ubuntu1.1-Ubuntu <<>> mx cmu.ac.th
 +
;; global options: +cmd
 +
;; Got answer:
 +
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41627
 +
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
 +
 +
;; OPT PSEUDOSECTION:
 +
; EDNS: version: 0, flags:; udp: 4096
 +
;; QUESTION SECTION:
 +
;cmu.ac.th.                    IN      MX
 +
 +
;; ANSWER SECTION:
 +
cmu.ac.th.              3600    IN      MX      0 cmu-ac-th.mail.protection.outlook.com.
 +
 +
;; Query time: 2 msec
 +
;; SERVER: 10.8.8.8#53(10.8.8.8)
 +
;; WHEN: Thu Oct 18 16:11:47 DST 2018
 +
;; MSG SIZE  rcvd: 91
 +
 +
$ dig aaaa cmu.ac.th
 +
 +
; <<>> DiG 9.11.3-1ubuntu1.1-Ubuntu <<>> aaaa cmu.ac.th
 +
;; global options: +cmd
 +
;; Got answer:
 +
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6400
 +
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
 +
 +
;; OPT PSEUDOSECTION:
 +
; EDNS: version: 0, flags:; udp: 4096
 +
;; QUESTION SECTION:
 +
;cmu.ac.th.                    IN      AAAA
 +
 +
;; ANSWER SECTION:
 +
cmu.ac.th.              3600    IN      AAAA    2001:3c8:5007::98:26
 +
 +
;; Query time: 2 msec
 +
;; SERVER: 10.8.8.8#53(10.8.8.8)
 +
;; WHEN: Thu Oct 18 16:12:05 DST 2018
 +
;; MSG SIZE  rcvd: 66
 +
</syntaxhighlight>
 
== บทความที่เกี่ยวข้อง ==
 
== บทความที่เกี่ยวข้อง ==
 
* [[Introduction_to_DNS | ความรู้เบื้องต้นเกี่ยวกับ DNS]]
 
* [[Introduction_to_DNS | ความรู้เบื้องต้นเกี่ยวกับ DNS]]

Revision as of 09:14, 18 October 2018

DNS : Domain Name Service เป็นระบบแปลง IP Address เป็นชื่อโดเมนที่คนสามารถเข้าใจได้ แล้วคนก็สามารถใช้ชื่อนั้นเพื่อเข้าถึง IP Address ได้โดยการใช้ DNS Query ไปยัง DNS Server โดยระบุ hostname แล้ว DNS Server จะทำการตอบ IP Address ของ hostname นั้นแล้วระบบจะทำการเชื่อมต่อไปยัง IP Address นั้น

DNS Resolver จะทำงานในส่วนนี้เพื่อหา IP Address ของ hostname ที่ถูกถามโดนจะตอบจาก cache ของตัวเองก่อน ถ้าไม่มีข้อมูลอยู่ใน cache DNS Resolver จะไปถา DNS Server ตัวอื่นมาให้

ประเภทของ DNS Query

การหาคำตอบของ DNS จะมีสามประเภทคือ

Recursive Query

เป็นการ Query ในลักษณะที่ DNS Client ส่ง hostname ไปถาม DNS Resolver แล้ว Resolver จะต้องทำการตอบ โดยเริ่มต้นที่ไปถาม DNS Root Server จนกว่าจะพบ Authoritative Name Server ของ domain นั้น ๆ
Dns-recursive-query.png

Interative Query

เป็นการ Qeury โดยที่ DNS Resolver จะตอบการอ้างอิงไปยัง DNS Server ตัวที่จะตอบคำามได้แล้วให้ Client ถามไปที่ ROOT หรือ Authoritative Name Server ของ domain นั้น ๆ
Dns-interative-query.png

Non-Recursive Query

เป็นการถาม Query แล้ว Resolver ตอบจาก cache ของ Resolver เอง หรือการถาม hostname ไปยัง Authoritative Name Server ของ hostname นั้นโดยตรง

ประเภทของ DNS Server

โดยทั่วไป DNS Server จะมีอยู่ 3 ประเภท

DNS Resolver

เป็น DNS Server ที่ในการ Query hostname เป็น IP Address โดยการทำ Recursive Query เช่น 8.8.8.8 หรือของมช.ที่ให้บริการคือ 10.8.8.8

DNS Root Server

เป็น Server ที่เก็บข้อมูลของ Top Level Domain Name Server ไว้ทั้งหมดเป็นจุดเริ่มต้นของการ Query DNS ซึ่งมีอยู่ 13 ตัวกระจายอยู่ทั่วโลกตาม รายการ DNS Root Server

Authoritative DNS Server

เป็น DNS Server ที่เก็บ Record ต่าง ๆ ของ Domain นั้น ๆ มีหน้าที่ตอบข้อมูลที่อัพเดทที่สุด เป็นจุดสุดท้ายของการ Query DNS

ประเภทของ DNS Record

DNS Record ของ DNS นั้นมีหลายประเภทที่ใช้งานทั่วไปได้แก่

A

Address Mapping record : เก็บ IPv4 ของ hostname

AAAA

IP Version 6 Address : เก็บ IPv6 ของ hostname

CNAME

Canonical Name : เก็บ Alias ของ hostname

MX

Mail exchanger : เก็บ hostname ของ SMTP Mail Server ของ domain นั้น ๆ ใช้ในการเลือกเส้นทางรับส่งอีเมล

NS

Name Server : ระบุ hostname ของ Authoritative DNS Server ของ domain นั้น ๆ

PTR

Reverse-lookup Pointer : ระบุ hostname เมื่อผู้ถามระบุ IP Address ใช้ใน Reverse DNS lookup

TXT

Text Record : ระบุข้อความต่าง ๆ ของ domain ส่วนใหญ่ใช้ในการตรวจสอบความเป็นเจ้าของ domain หรือการประกาศ policy บางอย่างเกียวกับ domain

SRV

Service Location : ระบุข้อมูลบริการและ protocol ต่าง ๆ ภายใน domain

SOA

Start of Authority : ระบบ Authoritative DNS Server ของ domain, email สำหรับติดต่อเจ้าของโดเมนแล้วค่าต่าง ๆ ของ domain zone อ่านเพิ่มเติม

แนะนำ dig เครื่องมือสำหรับ DNS lookup

บน Linux จะมีอยู่แล้ว บน windows สามารถ download ได้ที่ https://www.isc.org/downloads/ เลือก bind for windows และตอนติดตั้งให้เลือกแค่ utilities ไม่ต้องติดตั้ง Service bind

  • lookup domain ปกติ
$ dig www.cmu.ac.th

; <<>> DiG 9.11.3-1ubuntu1.1-Ubuntu <<>> www.cmu.ac.th
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 33420
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.cmu.ac.th.                 IN      A

;; ANSWER SECTION:
www.cmu.ac.th.          10      IN      A       202.28.249.26

;; Query time: 0 msec
;; SERVER: 10.8.8.8#53(10.8.8.8)
;; WHEN: Thu Oct 18 16:07:33 DST 2018
;; MSG SIZE  rcvd: 58
  • lookup ระบุ server ที่ต้องการ
dig @8.8.8.8 www.cmu.ac.th

; <<>> DiG 9.11.3-1ubuntu1.1-Ubuntu <<>> @8.8.8.8 www.cmu.ac.th
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29837
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www.cmu.ac.th.                 IN      A

;; ANSWER SECTION:
www.cmu.ac.th.          2347    IN      A       202.28.249.26

;; Query time: 40 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Thu Oct 18 16:09:18 DST 2018
;; MSG SIZE  rcvd: 58
  • lookup ระบุ record เช่น NS,MX,AAAA
$ dig ns cmu.ac.th

; <<>> DiG 9.11.3-1ubuntu1.1-Ubuntu <<>> ns cmu.ac.th
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 42432
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;cmu.ac.th.                     IN      NS

;; ANSWER SECTION:
cmu.ac.th.              3600    IN      NS      ns.cmu.ac.th.
cmu.ac.th.              3600    IN      NS      ns-azure.cmu.ac.th.
cmu.ac.th.              3600    IN      NS      clarinet.asianet.co.th.

;; Query time: 3 msec
;; SERVER: 10.8.8.8#53(10.8.8.8)
;; WHEN: Thu Oct 18 16:11:28 DST 2018
;; MSG SIZE  rcvd: 112

$ dig mx cmu.ac.th

; <<>> DiG 9.11.3-1ubuntu1.1-Ubuntu <<>> mx cmu.ac.th
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41627
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;cmu.ac.th.                     IN      MX

;; ANSWER SECTION:
cmu.ac.th.              3600    IN      MX      0 cmu-ac-th.mail.protection.outlook.com.

;; Query time: 2 msec
;; SERVER: 10.8.8.8#53(10.8.8.8)
;; WHEN: Thu Oct 18 16:11:47 DST 2018
;; MSG SIZE  rcvd: 91

$ dig aaaa cmu.ac.th

; <<>> DiG 9.11.3-1ubuntu1.1-Ubuntu <<>> aaaa cmu.ac.th
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6400
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;cmu.ac.th.                     IN      AAAA

;; ANSWER SECTION:
cmu.ac.th.              3600    IN      AAAA    2001:3c8:5007::98:26

;; Query time: 2 msec
;; SERVER: 10.8.8.8#53(10.8.8.8)
;; WHEN: Thu Oct 18 16:12:05 DST 2018
;; MSG SIZE  rcvd: 66

บทความที่เกี่ยวข้อง

ติดต่อสอบถามเพิ่มเติม