[จดไว้กันลืม] วิธีติดตั้ง DNS Server บน CentOS

February 9, 2018 9:37 am Work

Domain Name Systen (DNS) คือ บริการในการแปลงชื่อ Domain ไปเป็น IP Address หรือแปลง IP Address กลับเป็น Domain ซึ่งเป็นบริการที่มีความสำคัญมากบนโลกอินเทอร์เน็ต และอินทราเน็ต โดยบทความนี้จะสอนการติดตั้ง DNS ด้วยโปรแกรม BIND บนระบบปฏิบัติการ CentOS 6

BIND (Berkeley Internet Name Domain) คือ โปรแกรมฟรี (Open Source) ที่ได้รับความนิมในการนำมาติดตั้ง Domain Name System (DNS) สำหรับอินเทอร์เน็ต และอินทราเน็ต

สถานการณ์ที่ใช้ในการติดตั้ง DNS

1. บทความนี้จะสอนติดตั้ง nameserver (Primary DNS) เท่านั้น (ใช้ Linux CentOS 1 เครื่องกับ 1 IP Address)

2. IP Address ของ Linux CentOS ที่ทำหน้าที่ DNS คือ 192.168.1.34

3. FQDM ของ Server คือ ns1.demo.local

4. เครื่อง Client ที่นำมาช่วยในการทดสอบรันด้วย Windows XP

วิธีการติดตั้ง DNS บน Linux CentOS ด้วย BIND

1. ติตดั้งโปรแกรม bind

yum install bind* -y

2. แก้ไขค่าโปรแกรม bind (ปรับแก้ไขเฉพาะส่วนที่เป็นสีแดง)

vi /etc/named.conf

แก้ไขเป็น

//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
options {
        listen-on port 53 { 127.0.0.1; 192.168.1.34;};
        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 { any; };
        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";
};

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

3. สร้างไฟล์ Forward Zone (แปลง Domain เป็น IP Address)

vi /var/named/f.demo.local

ใส่ค่าเข้าไปดังนี้แล้วบันทึกข้อมูล

$TTL 86400
@   IN  SOA     ns1.demo.local. root.demo.local. (
        2011071001  ;Serial
        3600        ;Refresh
        1800        ;Retry
        604800      ;Expire
        86400       ;Minimum TTL
)
@               IN NS       ns1.demo.local. 
ns1         IN A        192.168.1.34
@               IN A            192.168.1.34
www             IN A            192.168.1.34

4. สร้างไฟล์ Reverse Zone (แปลง IP Address กลับเป็น Domain)

vi /var/named/r.demo.local

ใส่ค่าเข้าไปดังนี้แล้วบันทึกข้อมูล

$TTL 86400
@   IN  SOA     ns1.demo.local. root.demo.local. (
        2011071001  ;Serial
        3600        ;Refresh
        1800        ;Retry
        604800      ;Expire
        86400       ;Minimum TTL
)
@               IN NS     ns1.demo.local.
ns1             IN A      192.168.1.34
34              IN PTR    ns1.demo.local.

5. Start Service bind (สำหรับครั้งแรกต้องรอนานหน่อยเพราะระบบจะทำการสร้าง rndc.key อาจะใช้เวลาเป็นนาที หรือเร็วกว่านั้น)

/etc/init.d/named start

6. ปิด Firewall (ปิดเพื่อการทดสอบเท่านั้น)

/etc/init.d/iptables stop

7. ตรวจสอบการสร้างไฟล์ Forward Zone

named-checkzone demo.local /var/named/f.demo.local

ผลลัพธ์จะต้องได้ OK หากมีข้อผิดพลาดทบทวนวิธีการสร้างไฟล์ Forward Zone ใหม่

8. ตรวจสอบการสร้างไฟล์ Reverse Zone

named-checkzone demo.local /var/named/r.demo.local

ผลลัพธ์จะต้องได้ OK หากมีข้อผิดพลาดทบทวนวิธีการสร้างไฟล์ Reverse Zone ใหม่

9. แก้ไข nameserver

vi /etc/resolv.conf

แก้ไข IP Address

nameserver 192.168.1.34

10. ทดสอบการทำงานของ Forward Zone ด้วยคำสั่ง dig

11. ทดสอบการทำงานของ Reverse Zone ด้วยคำสั่ง dig

12. ทดสอบการทำงานด้วยคำสั่ง nslookup

12. ทดสอบเชื่อมต่อจากเครื่องภายในเครือข่าย (บทความนี้ใช้ Windows XP ในการทดสอบ) ให้ทำการแก้ไข DNS ที่เครื่อง Client

13. ทดสอบการเชื่อมต่อจากเครื่อง Client ด้วย ping

14. ทดสอบการเชื่อมต่อจากเครื่อง Client ด้วย nslookup

ทดสอบติดตั้ง httpd เพื่อเรียกใช้งานผ่าน Domain www.demo.local

1. ติดตั้งโปรแกรม httpd

yum install httpd -y

2. Start Service httpd

/etc/init.d/httpd start

3. ที่เครื่อง Client ทดสอบเปิดโปรแกรมเว็บเบราว์เซอร์แล้วพิมพ์ www.demo.local (เชื่อมต่อ www บน Linux CentOS)

Leave a Reply

Your email address will not be published. Required fields are marked *