การทำ DNS ใช้งานเองในองค์กร (ตอนที่ 2)

DNS, Domain Name System

DNS เป็นรูปแบบบริการ Domain Name เหมาะสำหรับองค์กรที่มี IP จริงในการใช้งานและต้องการติดตั้งระบบบริการโดเมนใช้งานในองค์กร

รูปแบบโดเมนเนม
ในปัจจุบันโดเมนเนมสามารถแบ่งได้ 2 แบบด้วยกันคือ
1. โดเมนเนม 2 ระดับ เช่น se-ed.com, cmsthailand.com, thaiopensource.org, ksc.net, centos.org, se-ed.com
2. โดเมนเนม 3 ระดับ เป็นโดเมนเนมที่แต่ละประเทศเป็นผู้ดูแล สำหรับประเทศไทยจะลงท้ายด้วย .th องค์กรที่ดูแลโดเมนเนมในไทยคือ THNIC (http://www.thnic.net) ตัวอย่าง เช่น kmutnb.ac.th, cmslearning.co.th, dsd.go.th, sysadmin.in.th

BIND ย่อมาจาก Berkeley Internet Name Domain เป็นโปรแกรมที่นิยมนำมาทำบริการโดเมนเนมมากที่สุดในปัจจุบัน สามารถติดตั้งใช้งานได้ทั้งระบบ Unix, Linux, BSD สามารถอ่านรายละเอียดเกี่ยวกับโปรแกรม BIND ได้ที่เว็บไซต์ http://www.isc.org/index.pl?/sw/bind/index.php ในที่นี้ทดสอบติดตั้งโดยใช้คำสั่ง yum

การติดตั้ง DNS Server ด้วยโปรแกรม BIND
1. ติดตั้งแพ็กเกจ BIND ด้วยคำสั่ง yum
[root@ns ~]# yum install bind bind-utils -y

2. ตรวจสอบตัวติดตั้ง
[root@ns ~]# rpm -q bind bind-utils
bind-9.8.2-0.17.rc1.el6_4.4.x86_64
bind-utils-9.8.2-0.17.rc1.el6_4.4.x86_64

3. ตรวจสอบไฟล์คอนฟิก
[root@ns ~]# rpm -ql bind | less
/etc/NetworkManager/dispatcher.d/13-named
/etc/logrotate.d/named
/etc/named
/etc/named.conf
...
------------
Note.
พาทไฟล์คอนฟิกในการปรับแต่ง
/etc/named.conf ไฟล์ควบคุมดีเอ็นเอส
/var/named ห้องเก็บโซนไฟล์ต่างๆ ที่ตั้งค่าอ้างอิงไว้ใน named.conf

ข้อมูลที่ต้องเตรียมก่อนการปรับแต่ง
- ชื่อโดเมนเนมที่ต้องการ
เช่น ns.sysadmin.in.th
- หมายเลข IP Address และชื่อเครื่องหลักของเครื่องดีเอ็นเอส
เช่น 192.168.1.5/24
---------------------
4. ปิดการใช้งาน IPV6 ในไฟล์ /etc/sysconfig/named โดยการพิมพ์คำสั่ง echo โดยตรง
[root@ns ~]# echo ‘OPTIONS=”-4” ’ >> /etc/sysconfig/named

5. ทำการสำรองไฟล์คอนฟิก named.conf
[root@ns ~]# cp /etc/named.conf /etc/named.conf.save

6. ทำการแก้ไขไฟล์คอนฟิก named.conf โดยทำการเปลี่ยนแปลงค่าตัวอักษรหนา
[root@cloud01 ~]# vi /etc/named.conf
รายละเอียดตำแหน่งที่ต้องแก้ไข
options {
listen-on port 53 { 127.0.0.1; 192.168.1.10;}; # Master DNS IP
# listen-on-v6 port 53 { ::1; };

directory “/var/named”;
dump-file “/var/named/data/cache_dump.db”;
statistics-file “/var/named/data/named_stats.txt”;
memstatistics-file “/var/named/data/named_mem_stats.txt”;
allow-query { localhost; 192.168.1.0/24; }; # IP Range
allow-transfer { localhost; 192.168.1.11; }; # Slave DNS IP

recursion yes;
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
/* Path to ISC DLV key */
bindkeys-file “/etc/named.iscdlv.key”;

managed-keys-directory “/var/named/dynamic”;
};
logging {
channel default_debug {
file “data/named.run”;
severity dynamic;
};
};
zone “.” IN {
type hint;
file “named.ca”;
};
//--------- Add-----
zone “sysadmin.in.th” {
type master;
file “sysadmin.in.th.fwd”;
allow-update { none; };
};
zone “1.168.192.in-addr.arpa” {
type master;
file “sysadmin.in.th.rev”;
allow-update { none; };
};

include “/etc/named.rfc1912.zones”;
include “/etc/named.root.key”;
--------------------------------------------------

แล้วเจอกันในการทำ DNS ใช้งานเองในองค์กร (ตอนที่ 3) :)

ลิงค์เกี่ยวเนื่อง
- การทำ DNS ใช้งานเองในองค์กร (ตอนที่ 1)

--
Write by A.Arnut Ruttanatirakul
(c)2013 by SysAdmin.in.th
November 8, 2013