Friday, September 30, 2011

#DNS(Domain Name System)

#คำศัพท์ เกี่ยวกับ DNS

ศัพท์
ความหมาย/หน้าที่
Forward Master Zone
แปลงชื่อ Domain เป็น IP Adress
Reverse Master Zone
แปลง IP Adress เป็นชื่อ Domain
BIND
(Berkeley
Internet
Name Domain)
โปรแกรมให้บริการดีเอ็นเอส ที่ใครๆก็ใช้ เหมือนพิมพ์งานก็ต้อง ms word
bind-utils-9.2.4-2
bind-9.2.4-2
bind-libs-9.2.4-2
ypbind-1.17.2-3
bind-chroot-9.2.4-2
Master Name Sever


Slave Name Server
Name Server มีสองแบบคือ Master Name Sever และ
Slave Name Server ซึ่งจะต้องอยู่ต่างเครื่องกัน

Master Name Server จะอ่านข้อมูลประจำโซนจากแฟ้มใน Disk และมีสิทธิหน้าที่ในโซนนั้นๆ

Slave Name Server สำเนาข้อมูลจาก Master Name Server
named
โปรแกรมบริการชื่อ Domain บน Linux

/usr/sbin/named -u named -t /var/named/chroot
Host
เครื่องคอมพิวเตอร์ศูนย์กลางที่ต่อเข้ากับ Network,Internet เพื่อบริการใดๆ
Domain
ชื่อ web address/computer
ทำให้เข้าใจ/จำง่าย/มีความหมาย กว่า IP Address

ถ้าเรียก โดเมน เหมือนเรียก IP Address

http://www.icann.org/
Sub Domain
ส่วนย่อยของ Domain เช่น mail.dns.linuxstep.com
mail คือ Sub Domain
Localhost
เครื่องเราเอง จะตั้งค่า ip address อะไร แต่เมื่อเรียก
Localhost ก็จะเรียกเครื่องเราเอง

IP Address 127.0.0.1 = Localhost
IP(Internet Protocal)
IP หรือ Internet Protocal
IP Address คือรหัสตัวเลขที่กำหนดขึ้น เพื่อใช้อ้างถึงที่อยู่ของ Host และ Network
ตัวเลขเหล่านี้จะไม่ซ้ำกัน (unique numeric) ซึ่งมีมาตรฐานในการกำหนด และเป็นที่รู้จักทั่วโลก IPV4,IPV6
Port ช่องทาง ที่ใช้ติดต่อกับ computer/อุปกรณ์ ใน network
Loopback

(Address
Localhost)
สำหรับ window กำหนด loopback IP=127.0.0.1 เมื่อส่งสัญญาณออกจะไม่ส่งออกนอกเครือข่าย แต่จะกลับมา
ที่ต้นทาง ด้วย loop back driver

http://www.certiguide.com/netplus/
cg_np_IVLoopbackAddressingandConnections.htm
Root Domain
ลำดับบนสุดของระบบ DNS โดยมีการกำหนดดังนี้
ลำดับที่ 1 root
ลำดับที่ 2 .com, .net, .edu, .gov, .org, .th, ...
ลำดับที่ 3 subdomain ตัวอย่าง mail3.linuxstep.com
mail3 =subdomain

ตัวอย่างลำดับ DNS
www2.dns.linuxstep.com
Name Resolution
การที่ DNS Server เก็บหมายเลข IP Address คู่กับชื่อเครื่องแบบ Domain Name เพื่อทำการค้นหาชื่อตามการร้องขอของเครื่อง         DNS client
DNS Server
เครื่องที่คอยจัดการ/ดูแล/แก้ไข domain subdomain
Client
เครื่องลูกข่าย
Resolver
กลไกการแปลง domain เป็น ip address
Reverse File
/etc/resolve.conf

การ resolve หมายถึง
DNS Zone
การจัด domain เป็นพื้นที่ย่อย
TCP,UDP,ARP

เป็น protocoll ที่ DNS ใช้ในการติดต่อผ่าน port 53

TCP - ปรับปรุงข้อมูล
UDP - ส่งคำขอข้อมูล
ARP - แปลงค่า IP address เป็น Hardware

#Files ที่ใช้ในการ Config
Files Config
ความหมาย / หน้าที่
/etc/named.conf
กำหนดการทำงานของ Name Server สำคัญมาก
/var/named/named.ca เก็บข้อมูลชื่อ Server ซื่งเป็น Root Name Server
ไม่ควรแก้ไขข้อมูลใน file นี้เป็นอันขาด
/var/named/named.local เก็บข้อมูลการ map ชื่อ กับ IP Address แบบ Reverse Lookup
/var/named/dm.com.zone ระบุชื่อ Server,Zone, ทำ Forward Lookup
/var/named/ 203.203.203.203.zone
Reward Lookup
/etc/hosts
เก็บชื่อ host
/etc/resolve.conf
เก็บชื่อ domain และ ip ที่ทำงานแบบ Forward Lookup
/etc/sysconfig/network เก็บชื่อ host ของเครื่อง
/etc/sysconfig/named กำหนดตำแหน่งของ named ที่เป็น file config

#ความหมายของ SOA Resource Record
SOA (Start to authority)
เริ่มให้สิทธิ/อำนาจ
ความหมาย / หน้าที่
@
Domain Name ที่ได้จาก /etc/named.comf
IN Internet
serial
เป็นหมายเลขที่ใช้แสดงการอัพเดทข้อมูลระหว่าง Primary master และ Secondary master
refresh
ระยะเวลา refresh ข้อมูล
retry
ระยะเวลา ตรวจสอบข้อมูลกับ Primary DNS Server
expire
ระยะเวลา หมดอายุ กรณีติดต่อกับ Primary DNS Server ไม่ได้

#ความหมายข้อมูลใน Fields Type DNS Record
Type
ความหมาย / หน้าที่
A
แปลงชื่อ Domain เป็น IP Address แบบ ipv4
NS
Name Server record กำหนดว่า server ใดรับผิดชอบ domain
PTR
Pointer record ใช้ Map IP Address เป็น Host
MX
Mail Exchanger
ใช้ระบุชื่อเครื่อง Mail Server ของ Domain
เมื่อเราต้องกำหนด MX เราจะพบว่าต้องกำหนด
MX 10 mail1.example.com
MX 20 mail2.newdomain.com
ค่าเลข 10 และ20 นั้นหมายถึง Priority ของ Mail โดยค่าน้อยสุดจะสำคัญสุด

ชื่อหลัง MX ต้องเป็น Domain เท่านั้นและไม่ใช่ CName
CNAME
Cononical name ใช้เป็น Alias name ให้เป็น host จริง
เช่น ns,mail,www,www2
;
Remark

#คำสั่ง Linux เกี่ยวกับ DNS

Command
ความหมาย / หน้าที่ / ตัวอย่าง
vi
editor แก้ไข file
named-checkconf
ตรวจ error named.conf
e.g.
#named-checkconf /etc/named.conf
named-checkzone
ตรวจ error zone
e.g.
#named-checkzone lp.com /var/named/lp.com.zone
service network restart
reboot network service
service named restart
reboot named service
nslookup
ค้นหา domain,ip address รวมทั้งข้อมูลต่างๆ

[root@l203 root]# nslookup
> www.li203.com
Server: 203.156.167.203
Address: 203.156.167.203#53
www.li203.com canonical name = l203.li203.com.
Name: l203.li203.com
Address: 203.156.167.203
> 203.156.167.203
Server: 203.156.167.203
Address: 203.156.167.203#53

203.167.156.203.in-addr.arpa name = l203.li203.com.
> mail.li203.com
Server: 203.156.167.203
Address: 203.156.167.203#53

mail.li203.com canonical name = l203.li203.com.
Name: l203.li203.com
Address: 203.156.167.203
dig update ข้อมูลให้ทันสมัย
e.g.
dig > /var/named/named.ca
host
แสดง domain และ ip address
e.g.
[root@l203 root]# host www.li203.com
www.li203.com is an alias for l203.li203.com.
l203.li203.com has address 203.156.167.203

#Forward DNS
ขั้นตอนที่
ความหมาย / หน้าที่
1
แก้ named.conf

zone "domain.com" IN {
type forward;
forwarders { 203.156.138.45; };
};

#Redirect domain
ขั้นตอนที่
ความหมาย / หน้าที่
1
ให้แก้ index.html หรือ index.php

<html>
<head>
<META HTTP-EQUIV="Refresh" CONTENT="5;URL=http://www.domain.com">
</head>
<body>
<center>
ืำnew website
<a href="http://www.domain.com">www.domain.com</a>
</center>
</body>
</html>


จาก www.itwizard.info

การทำเครื่องเป็น Primary DNS หรือ Master DNS
   ทำไมต้องทำ เพราะต้องการให้เครื่องเป็นเครื่องหลักของ dns และอีกเหตุผลก็คือconfig ให้ support กับ Secondary
จากการconfig ธรรมดาแล้วให้กำหนดค่าจาก named.conf

zone "abcd.com" { -->ถ้ากรอก www.abcd.com มาจะเข้า zone นี้
type master; -->เป็นเครื่อง Primary Server หรือ master
file "abcd.com.zone"; -->ไฟล์ที่ทำการ Forward ชื่อเครื่อง ไปเป็น ipของ server
allow-transfer{192.168.101.3;}; -->คำสั่งเพื่อให้ transfer ไปยัง ip address เครื่อง Secondary Server Server เป็นการ ระบุ Domain ที่ต้องการทำ Backup
allow-query{any;}; -->query ทุกๆอย่างที่มีอยู่ใน Primary Server

การทำให้เครื่องเป็น Secondary DNS
   ทำไมต้องทำเมื่อต้องการสำรอง DNS เราต้องรับค่ามาจาก Master DNS ให้กำหนดค่าใน named.conf

zone "abcd.com" {--> ถ้ากรอก www.abcd.com มาจะเข้า zone
type slave; -->เป็นเครื่อง Secondary Server หรือ slave
file "slaves/abcd.com.zone"; -->ไฟล์ที่ทำการ Forward ชื่อเครื่อง ไปเป็น ipของ server อ้างอิงไปยังไฟล์ของเครื่อง Primary Server
masters { 192.168.101.213;}; -->กำหนด ip เครื่อง Primary Server เป็นการ ระบุ Domain ที่ต้องการทำ Backup
allow-query{ any;}; -->query ทุกๆอย่างที่มีอยู่ใน Primary Server
};


เมื่อเราดูจากตำแหน่ง file แล้วเราจะเห็น /slaves
[root@l2023 ~]# cd /var/named/chroot/var/named/
[root@l2023 named]# ll
-rw-r----- 1 root named 448 Mar 11 08:03 202.29.75.zone
-rw-r----- 1 root named 442 Sep 30 2005 203.156.167.zone
-rw-r----- 1 root named 575 Mar 12 06:01 afaps2023.com.zone
drwxrwx--- 2 named named 4096 Aug 26 2004 data
-rw-r----- 1 root named 587 Mar 12 06:28 li2023.com.zone
-rw-r----- 1 root named 195 Sep 30 2005 localhost.zone
-rw-r----- 1 root named 2499 Sep 30 2005 named.ca
-rw-r----- 1 root named 461 Mar 12 06:36 named.local
drwxrwx--- 2 named named 4096 Jul 27 2004 slaves
[root@l2023 named]# cd slaves/
[root@l2023 slaves]# ll
total 0
[root@l2023 slaves]# cd ..
[root@l2023 named]# ls
202.29.75.zone 203.156.167.zone afaps2023.com.zone data li2023.com.zone localhost.zone named.ca named.local slaves
[root@l2023 named]# cd data
[root@l2023 data]# ll
total 0


การทำสอบ Master DNS และ Secondary DNS
#service named restart
ดูภาพ http://www.linuxstep.com/tips/20070410004/dnsserver/image020.jpg

#หลักการทำงานของ DNS

ขั้นตอนที่
ความหมาย / หน้าที่
1
client(ผู้เล่น) ต้องการเข้า www.linuxstep.com เครื่อง client จะขอ IP Address ไปที่ DNS Server (ถ้าไม่พบ IP Address) จะขอ IP Address กับ DNS Server ในลำดับที่สูงกว่า เช่น ISP
2
DNS Server ของ ISP ค้นหา IP Address ต่อไป ถ้าไม่พบ ก็ต้องส่งต่อไปที่
Root Domain Server ที่ Root Domain Server ต้องเจอแน่นอนเพราะเป็นสถานที่สุดท้ายแล้ว
3
เมื่อเจอก็จะได้ IP Address ของ www.linuxstep.com และแจ้งไปที่ Domain Server ของ ISP ทราบ และจัดเก็บไว้ด้วย
4
Domain Server ของ ISP ก็ส่งต่อไปที่ DNS Server ของ Client และแจ้ง IP Address ไปที่ client (ผู้เล่น)
5
เมื่อ client ได้ IP Address ของ www.linuxstep.com แล้ว ก็ติดต่อกับ
IP Address ได้โดยตรง โดยการรับส่งข้อมูลจะใช้ Protocol TCP

#ชื่อเฉพาะที่ได้กำหนดเกี่ยวกับ DNS
.mil
ทหาร
.com
การค้า
.gov
รัฐบาล
.net
internet
.info
ข้อมูล ข่าวสาร
.org องค์กร
.edu การศึกษา
.co บริษัท
.arts ศิลปะ
.rec องค์กร
.nom บุคคลทั่วไป
.web websote
.ac สถานศึกษา
.store บริษัทที่ทำการค้า

FAQ

คำถามที่พบบ่อยเกี่ยวกับ DNS
คำถาม
ตอบ
1. port ใดที่ใช้กับ DNS
53
2.หน่วยงานใดรับผิดชอบ DNS
ระดับโลก คือ Internic
ประเทศไทย คือ thnic
3. TT L คืออะไร
Tile To Live เวลาที่กำหนดให้ปรับปรุงข้อมูลเป็น วินาที
4. DNS ย่อมาจาก
Domain Name System

บางคนก็เขียน Domain Name Service ซึ่งผมเห็นไม่มากแต่ก็
เห็นในหนังสือบางเล่ม ใครตอบได้ช่วยบอกทีครับ
5 ip address 1 ตัว กำหนดให้ได้
หลาย domain ได้หรือไม่
ตามหลักการ DNS ของ Linux ทำได้ครับ เพราะใช้ Virtual แทน
กรณีมีหลายชื่อ domain
6.โปรแกรมอะไรจัดการ DNS ถ้า Redhat คือ bind

ถ้าเป็น centOS5
bind-chroot-9.3.3-10.el5
system-config-bind-4.0.3-2.el5.centos
ypbind-1.19-8.el5
bind-9.3.3-10.el5
bind-utils-9.3.3-10.el5
kdebindings-3.5.4-1.fc6
bind-libs-9.3.3-10.el5
7.การศึกษาการทำ DNS ยากหรือไม่เพราะบางคนไม่สามารถ แก้ได้ ยากหรือไม่แล้วแต่คน ผมแนะนำครับ
ควรจะมีความตั้งใจและหาคนแนะนำ
8.domain redirect คือ การแปลงชื่อให้สั้นลงหรือให้เป็นชื่ออื่น
10.จำ config อย่างไร ให้ dns
ค้นได้ด้วย google
อยู่ที่การเขียน code html
11.master name server คือ เป็นฐานข้อมูลหลักของ Domain แก้ไขได้ที่เดียว
12.slave name server คือ สำเนาของ master name server
13.root name server คือ ลำดับบนสุดของ domain
14.ใน windows server มีการ
กำหนด dns หรือไม่
มีครับลองไปศึกษาดูได้จาก windows2003 R
15.webmin จัดการ dns มีหรือไม่ มีครับ www.webmin.com , www.rpmfind.net
โปรแกรม caching-nameserver*.rpm

 
 
 
หากคนไทยหันมาฆ่ากันเอง จะร้องเพลงชาติไทยให้ใครฟัง 


0 comments:

Post a Comment

 
Design by GURU