Set หลาย domain name ใน DNS
เว็บเพจสำรอง (Backup Webpages) : thaiabc.com | thaiall.korattown.com | perlphpasp.com | thaiall.com
ปรับปรุง : 2548-02-06 ()
Set หลาย Domain name ใน DNS
[เนื่องจากผมมีประสบการณ์ในการสถานศึกษา ซึ่งสามารถดูแล DNS (Domain Name Server) ของตนเอง]
[บทความนี้เขียนจาก ประสบการณ์ และการลองผิดลองถูก ผู้รู้ท่านใดพบข้อผิดพลาดโปรดชี้แนะ ทีมงาน]
[ความมุ่งหมายของบทความนี้ เพื่อให้ผู้ที่ดูแล DNS server ของตนประยุกต์ใช้งานได้เต็มที่]
สารบัญ (Contents)
1. เรื่องราว หรือเกริ่นนำ
รูปแบบของแฟ้ม
2. named.boot
3. named.conf
4. db.yonok.ac.th
5. db.catchsomeonedoinggood.com
สิ่งที่ระบบมีอยู่ (เพื่อจะได้เข้าในกรณีศึกษาชุดนี้มากขึ้น)
- Case นี้ใช้กับเครื่องของ SunOS 5.6 Generic August 1997 อาจ apply ไปใช้กับเครื่องอื่นได้
- วิทยาลัยโยนก ได้รับเลข ip address ใน class c มา 1 class คือ 256 ip โดยเริ่มจาก 203.146.9.0 ถึง 203.146.9.255 ซึ่งได้รับความช่วยเหลือ และประสานงาน รวมทั้งติดตั้ง software สำหรับ server โดยบริษัท loxinfo ซึ่งก็เป็น isp ของเราจนถึงทุกวันนี้
- เดิมทีมีชื่อ DNS ว่า yn1.yonok.ac.th แต่เปลี่ยนไปใช้ star.yonok.ac.th เพราะมีปัญหาเรื่องที่ h_cker เข้ามาใช้ server ของเราส่ง spam หลังจากแก้ปัญหาได้แล้ว hotmail.com ก็ยังปฏิเสธ ที่จะรับ mail จากระบบเรา ดังนั้นจึงต้องแก้ปัญหาด้วยการเปลี่ยนชื่อ DNS มาเป็น star.yonok.ac.th [บทความเรื่อง spam จาก server ของเราเอง]
- ที่เรามี DNS ของตนเองได้เพราะเช่าสัญญาณติดต่อสื่อสาร (Leased line) จากลำปางไปกทม.เดือนละ 45000 บาท และจ่ายค่าบริการให้ ISP (Internet Service Provider) เดือนละ 70000 บาท ถ้ารวม vat แล้วก็เดือนละประมาณ 123,050 บาททีเดียว
1. เรื่องราว หรือเกริ่นนำ

- เหตุที่คิดที่จะเพิ่ม Domain name ให้กับ DNS ของเรา เนื่องจาก ท่านอธิการสั่งให้จอง Domain name เพิ่มอีก 2 ชื่อ คือ catchsomeonedoinggood.com และ yawvathi.com ผมจึงไปจองที่ register.com หลังจากนั้น ก็คิดขึ้นมาได้ว่าที่สถาบัน น่าจะสามารถดูแล Server ของ Domain ตัวใหม่ได้ โดยสั่งให้ชื่อ Domain name ที่ได้ไปชี้ยัง server ที่เรามีอยู่ ซึ่งจะทำให้เราสามารถบริการสาธารณชน ได้เหมือนกับ geocities.com ทีเดียว และเราก็มีทุกอย่างพร้อม น่าจะขาดแต่คำว่า ยังไม่ได้ทำ เท่านั้น
- เริ่มต้นก็ไม่รู้จะทำอย่างไร เพราะไม่เคยทำ จึงโทรไปคุยกับ คุณพัฒน์กมล ศักดิ์อาธรทรัพย์ ซึ่งเป็นผู้เชี่ยวชาญด้าน Network ของ ISP ที่เราใช้บริการอยู่ ก็ได้ความว่าต้องไปแก้ไขแฟ้ม /etc/named.boot และ /etc/named.conf จากนั้นก็ต้องไปแก้แฟ้ม /var/named/db.catchsomeonedoinggood.com หลังจากแก้ไข แล้วก็ restart ด้วย init 6 ก็เป็นอันเสร็จพิธี
- หลังจากแก้ไขแล้ว เราก็ใช้งานได้ทันที แต่ใช้ได้เฉพาะในสถาบัน ถ้าจะให้ทั่วโลกยอมรับ ต้องไปแก้ที่ ๆ ได้จด domain name ไว้ เช่น catchsomeonedoinggood.com จดไว้ที่ register.com ก็ต้องไปแก้ส่วนของ name server ให้ชี้มาที่ star.yonok.ac.th ของเรา ต่อไปเวลามีใครเรียก catchsomeonedoinggood.com ก็จะวิ่งมาถามที่เครื่อง star.yonok.ac.th ก่อนเป็นอันดับแรก
- ใน 1 Domain name สามารถสร้างชื่อ host ได้หลายชื่อตามต้องการ แต่จะคอมพิวเตอร์ 1 เครื่องจะสามารถ set ip ไว้ได้เพียง 1 เลขหมายเท่านั้น (ตามปกติ) หมายความว่า คอมพิวเตอร์ 1 เครื่องมีชื่อได้หลายชื่อ แต่จะมี ip ได้เพียง 1 ip เท่านั้น (ถ้า set ให้มีบริการ modem จะ set ได้หลาย ip)
  1. Host name: star.yonok.ac.th IP: 203.146.9.12
  2. Host name: yn1.yonok.ac.th IP: 203.146.9.12
  3. Host name: mail.yonok.ac.th IP: 203.146.9.12
  4. Host name: lampang.yonok.ac.th IP: 203.146.9.20
  5. Host name: www.catchsomeonedoinggood.com IP: 203.146.9.15
  6. เป็นต้น


2. รูปแบบแฟ้ม named.boot (ที่แก้ไขแล้ว เพื่อเพิ่ม domain name ตัวใหม่เข้าไป)

ผมได้รับคำแนะนำว่า แฟ้ม name.boot อยู่ในห้อง /etc แต่เข้าไปหาไม่พบ จึงต้องใช้คำสั่งค้นหา คือ #find / -name named.boot ซึ่งเป็นคำสั่งที่ใช้ค้นหาแฟ้มที่ต้องการ ในระบบได้ และผมก็พบ จึงได้เข้าไปแก้ไขได้อย่างถูกต้อง
; Name.boot file
directory /var/named
;
primary         0.0.127.in-addr.arpa    	db.127.0.0
cache           .                       	db.cache
;
primary         yonok.ac.th             	db.yonok.ac.th
primary         catchsomeonedoinggood.com 	db.catchsomeonedoinggood.com
primary         9.146.203.in-addr.arpa  	db.203.146.9


3. รูปแบบแฟ้ม named.conf

แฟ้มนี้ท่านก็ต้องหาเอง เพราะคิดว่าในแต่ละ OS น่าจะเก็บไว้ในห้องที่แตกต่างกัน หรือสามารถกำหนดห้องไว้ได้ ตามต้องการ
/* Name.conf file */
options {
        directory "/var/named";
};

logging {
        category lame-servers { null; };
        category cname { null; };
};

zone "." in {
        type hint;
        file "db.cache";
};

zone "0.0.127.in-addr.arpa" in {
        type master;
        file "db.127.0.0";
};

zone "yonok.ac.th" in {
        type master;
        file "db.yonok.ac.th";
};

zone "catchsomeonedoinggood.com" in {
        type master;
        file "db.catchsomeonedoinggood.com";
};

zone "9.146.203.in-addr.arpa" in {
        type master;
        file "db.203.146.9";
};


4. รูปแบบแฟ้ม db.yonok.ac.th

แฟ้มนี้ จะจัดเก็บในห้อง /var/named เพราะได้กำหนด directory ไว้ในแฟ้ม named.boot และ named.conf (ท่านสังเกตุได้) ซึ่งความหมายหลายจุด ผมก็ยังไม่กระจ่าง ใช้วิธีลองผิด ลองถูก กับถามผู้รู้จึงได้แฟ้มนี้ออกมา ก็มีผม กับ อาจารย์วิเชพ ใจบุญ ที่จัดการแฟ้มนี้กันอยู่
เรากำหนด email.yonok.ac.th ให้ไปที่ everyone.net ทำให้เราบริการ mail server โดยไม่ต้องใช้ server ของเรา เพราะที่ everyone.net ให้บริการ mail server เราแค่ไปสมัครขอ server ครั้งเดียว และนักศึกษา หรืออาจารย์ที่ต้องการ email ก็ไป signup หลักการทำงานคล้ายกับที่ hotmail มาก และ email ที่ได้ก็เช่น yourname@email.yonok.ac.th (ระบบท่านก็ทำได้ ผมขอมาเยอะเลยเช่น http://mail.thaiall.com หรือ http://mail.lampang.net เป็นต้น)
; yonok.ac.th
@       IN      SOA     star.yonok.ac.th. postmaster.star.yonok.ac.th. (
                2000100602 43200 7200 1209600 172800 )
        IN      NS      star.yonok.ac.th.
        IN      NS      ns.tnet.co.th.
        IN      MX      5 star.yonok.ac.th.
star    IN      A       203.146.9.12
yn2     IN      A       203.146.9.15
yn3     IN      A       203.146.9.14
yn4     IN      A       203.146.9.13
lampang IN      A       203.146.9.20
door    IN      A       203.146.9.254
yn5     IN      A       203.146.9.19
email   IN      A       216.200.145.34
        IN      MX      6 sitemail.everyone.net.
yn1     IN      CNAME   star.yonok.ac.th.
mail    IN      CNAME   star.yonok.ac.th.
std     IN      CNAME   yn3.yonok.ac.th.
irc     IN      CNAME   yn3.yonok.ac.th.
proxy   IN      CNAME   yn5.yonok.ac.th.
graphic IN      CNAME   yn3.yonok.ac.th.
www     IN      CNAME   yn3.yonok.ac.th.
ftp     IN      CNAME   yn2.yonok.ac.th.
;email  IN      CNAME   siteurl.everyone.net.


5. รูปแบบแฟ้ม db.catchsomeonedoinggood.com
แฟ้มนี้ถูกเพิ่มขึ้นมาจากปกติ เพราะระบบเดิมเป็น yonok.ac.th เมื่อต้องการ domain ใหม่ก็ต้องสร้างแฟ้มนี้ขึ้น
แต่แฟ้มนี้จะใช้งานได้ก็อย่าลืมไปแก้แฟ้ม named.boot และ named.conf นะครับ เพื่อสั่งให้มองเห็น และเรียกแฟ้มนี้ขึ้นมา

แฟ้มนี้สั้นเพราะไม่ได้กำหนดอะไรไว้มาก ถ้าจะขยายให้ดูตัวอย่าง db.yonok.ac.th ได้ และคำว่า nirund จะทำให้สามารถเปิดเว็บชื่อ http://nirund.catchsomeonedoinggood.com ซึ่งมองไปที่ yn3.yonok.ac.th และจะต้องติดตั้งเป็น web server ไว้จึงจะใช้ได้
; catchsomeonedoinggood.com
@       IN      SOA     www.catchsomeonedoinggood.com. postmaster.www.catchsomeonedoinggood.com. (
                2000100502 43200 7200 1209600 172800 )
        IN      NS      star.yonok.ac.th.
        IN      NS      ns.tnet.co.th.
        IN      MX      5 www.catchsomeonedoinggood.com.
www     IN      A       203.146.9.14
nirund  IN      CNAME   yn3.yonok.ac.th.
Thaiabc.com