Difference between revisions of "Introduction to DNS"
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 นั้น ๆ
Interative Query
เป็นการ Qeury โดยที่ DNS Resolver จะตอบการอ้างอิงไปยัง DNS Server ตัวที่จะตอบคำามได้แล้วให้ Client ถามไปที่ ROOT หรือ Authoritative Name Server ของ domain นั้น ๆ
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
บทความที่เกี่ยวข้อง
- ความรู้เบื้องต้นเกี่ยวกับ DNS
- การให้บริการ dns server สำหรับการใช้งานอินเทอร์เน็ต(caching name server)
- การจัดการ DNS Zone บน Azure platform
- https://en.wikipedia.org/wiki/Domain_Name_System