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.4
3. FQDM ของ Server คือ ns1.demo.local
4. เครื่อง Client ที่นำมาช่วยในการทดสอบรันด้วย Windows XP
วิธีการติดตั้ง DNS บน Linux CentOS ด้วย BIND
1. ติตดั้งโปรแกรม bind
1
| yum install bind* -y |
2. แก้ไขค่าโปรแกรม bind (ปรับแก้ไขเฉพาะส่วนที่เป็นสีแดง)
1
| 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.4;};
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";
};
zone "demo.local" IN {
type master;
file "f.demo.local";
allow-update { none; };
};
zone "1.168.192.in-addr.arpa" IN {
type master;
file "r.demo.local";
allow-update { none; };
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
3. สร้างไฟล์ demo.local
nano -w /var/named/demo.local.zone
$TTL 86400 @ IN SOA ns1.demo.local. root.demo.local. ( 2013042201 ;Serial 3600 ;Refresh 1800 ;Retry 604800 ;Expire 86400 ;Minimum TTL ) ; Specify our two nameservers IN NS ns1.demo.local. ; Resolve nameserver hostnames to IP, replace with your two droplet IP addresses. ns1 IN A 192.168.1.4 ; Define hostname -> IP pairs which you wish to resolve @ IN A 192.168.1.4 www IN A 192.168.1.4
4. สร้างไฟล์ Forward Zone (แปลง Domain เป็น IP Address)
1
| vi / var /named/f. demo.local |
ใส่ค่าเข้าไปดังนี้แล้วบันทึกข้อมูล
1
2
3
4
5
6
7
8
9
10
11
12
| $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 |
5. สร้างไฟล์ Reverse Zone (แปลง IP Address กลับเป็น Domain)
1
| vi / var /named/r.demo.local |
ใส่ค่าเข้าไปดังนี้แล้วบันทึกข้อมูล
1
2
3
4
5
6
7
8
9
10
11
| $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.4 4 IN PTR ns1. demo.local. |
6. Start Service bind (สำหรับครั้งแรกต้องรอนานหน่อยเพราะระบบจะทำการสร้าง rndc.key อาจจะใช้เวลาเป็นนาที หรือเร็วกว่านั้น)
1
| /etc/init.d/named start |
7. ปิด Firewall (ปิดเพื่อการทดสอบเท่านั้น)
1
| /etc/init.d/iptables stop |
8. ตรวจสอบการสร้างไฟล์ Forward Zone
1
| named-checkzone demo.local / var /named/f. demo.local |
ผลลัพธ์จะต้องได้ OK หากมีข้อผิดพลาดทบทวนวิธีการสร้างไฟล์ Forward Zone ใหม่
9. ตรวจสอบการสร้างไฟล์ Reverse Zone
1
| named-checkzone demo.local / var /named/r. demo.local |
ผลลัพธ์จะต้องได้ OK หากมีข้อผิดพลาดทบทวนวิธีการสร้างไฟล์ Reverse Zone ใหม่
10. แก้ไข nameserver
1
| vi /etc/resolv.conf |
แก้ไข IP Address
1
| nameserver 192.168.1.4 |
14. ทดสอบเชื่อมต่อจากเครื่องภายในเครือข่าย (บทความนี้ใช้ Windows XP ในการทดสอบ) ให้ทำการแก้ไข DNS ที่เครื่อง Client
ทดสอบติดตั้ง httpd เพื่อเรียกใช้งานผ่าน Domain www.demo.local
1. ติดตั้งโปรแกรม httpd
1
| yum install httpd -y |
2. Start Service httpd
1
| /etc/init.d/httpd start |
ไม่มีความคิดเห็น:
แสดงความคิดเห็น