การติดตั้ง DNS Server ภายใต้โดเมน RMUTI.AC.TH

Download PDF

ปรับปรุง 2562-06-14 ปรับแก้ slave และ reverse dns ของ IPv4
ปรับปรุง 2558-07-24 เพิ่มเนื้อหาเกี่ยวกับ IPv6

มทร.อีสาน ได้จดทะเบียนโดเมน RMUTI.AC.TH เป็นของตัวเอง กับผู้ให้บริการหลักของประเทศไทย คือ TH-NIC (http://www.thnic.co.th)

การให้บริการโดยย่อของ DNS server มทร.อีสาน คือ การร้องขอบริการข้อมูล DNS ภายใต้ RMUTI.AC.TH ของเครื่องจากภายนอก จะถูกส่งต่อหรือเป็นตัวแทน (delegate) ต่อมาจาก NS.THNIC.NET มายัง DNS server หลักของมหาวิทยาลัยเพื่อให้บริการข้อมูลภายใน RMUTI.AC.TH โดยมหาวิทยาลัยมีแม่ข่ายจำนวน 3 เครื่อง ประกอบด้วย

203.158.192.11/2001:3c8:c305::11 (ns1.rmuti.ac.th)
203.158.192.21/2001:3c8:c305::21 (ns2.rmuti.ac.th)

กรณีการร้องขอบริการข้อมูลโดเมนย่อย (sub domain) เช่น โดเมนของวิทยาเขต การร้องขอจะถูกส่งต่อจาก DNS server หลักของมหาวิทยาลัยไปยัง DNS server ของวิทยาเขต  (ตามรายการในส่วนท้ายนี้) แต่เพื่อให้การบริการเร็วขึ้น จึงมีการดำเนินการให้ DNS server หลักของมหาวิทยาลัยทำหน้าที่เป็นเครื่องสำรอง (slave) ของโดเมนของวิทยาเขต มีการถ่ายโอนข้อมูลจาก DNS server ของวิทยาเขต เครื่อง DNS server ของวิทยาเขตจึงต้องอนุญาตให้มีการถ่ายโอนข้อมูลจาก DNS server หลักของมหาวิทยาลัย (allow-transfer)

ลำดับการให้บริการระบบโดเมนโดยย่อของ DNS server (ตัวอย่างของ วข.ขอนแก่น)

    ???.                --- root name servers
    ???.th              --- ns.thnic.net
    ???.ac.th           --- ns.thnic.net
    ???.rmuti.ac.th     --- ns1.rmuti.ac.th, ns2.rmuti.ac.th
    ???.kkc.rmuti.ac.th --- ns1.kkc.rmuti.ac.th

คุณสมบัติสำหรับแม่ข่ายบริการ DNS ต่อไปนี้ อ้างคุณสมบัติจากโปรแกรม BIND9 บนระบบปฏิบัติการ Linux CentOS เฉพาะคุณสมบัติจำเป็น  ประกอบด้วย คุณสมบัติทั่วไป คุณสมบัติเฉพาะ zone ทั้งที่เป็น forward zone และ reverse zone

คุณสมบัติทั่วไป

ไฟล์คุณสมบัติทั่วไปของโปรแกรม BIND คือไฟล์ /etc/named.conf

options {
    :
    forwarders { # DNS server ภายนอกที่ต้องการขอใช้บริการ
        #IPv4 ns1, ns2 (.rmuti.ac.th)
        //203.158.192.11; 203.158.192.21;
         #IPv6 ns1, ns2 (.rmuti.ac.th)
        //2001:3c8:c305::11; 2001:3c8:c305::21;
        8.8.8.8; #google-public-dns-a.google.com
        8.8.4.4; #google-public-dns-b.google.com
    };

    allow-transfer {
        #ให้ ns1, ns2 (.rmuti.ac.th) เป็น secondary ns
        203.158.192.11; 203.158.192.21;
        2001:3c8:c305::11; 2001:3c8:c305::21;
    };
    :
};

คุณสมบัติ forward zone

ประกาศ forward zone ในไฟล์คุณสมบัติหลัก (/etc/named.conf)

options {
    :
    directory "/var/named";
    :
};

zone "kkc.rmuti.ac.th" in { # ตัวอย่างสำหรับ วข. ขอนแก่น
    type master;

    notify yes;
    also-notify { your_slave_dns_server; };
    allow-transfer { your_slave_dns_server; };
    file "kkc.rmuti.ac.th.zone";
};
:

ไฟล์ฐานข้อมูลของ zone “kkc.rmuti.ac.th” (/var/named/kkc.rmuti.ac.th.zone)
ข้อแนะนำ: ‘;’ ใช้สำหรับการอธิบาย (comment), หากประกาศชื่อเต็ม (full name) ให้จบด้วย ‘.’

$ORIGIN .
$TTL 38400      ; 10 hours 40 minutes
kkc.rmuti.ac.th IN SOA ns1.kkc.rmuti.ac.th. noc-kkc.rmuti.ac.th. (
                2012101901 ; Serial/Version, แนะนำให้ใช้ ปี,เดือน,วัน,ลำดับ
                10800   ; Refresh (3 hours)
                3600    ; Retry (1 hour)
                604800  ; Expire (1 week)
                38400 ) ; Minimum (10 hours 40 minutes)

            NS ns1.kkc.rmuti.ac.th.
            NS ns1.rmuti.ac.th.
            NS ns2.rmuti.ac.th.
            A 203.158.202.49            ; IPv4 of Web server (http://kkc.rmuti.ac.th)
            AAAA 2001:3c8:c305:8000::49 ; IPv6 of Web server (http://kkc.rmuti.ac.th)

;Glue record, อย่าลืม '.' หลังชื่อ
ns1.kkc.rmuti.ac.th.  A  203.158.202.11
                      AAAA 2001:3c8:c305:8000::11
ns1.rmuti.ac.th.      A  203.158.192.11
                      AAAA 2001:3c8:c305::11
ns2.rmuti.ac.th.      A  203.158.192.21
                      AAAA 2001:3c8:c305::21

$ORIGIN kkc.rmuti.ac.th.
athena                A  203.158.202.49
                      AAAA 2001:3c8:c305:8000::49
www                   CNAME athena
:

คุณสมบัติ reverse zone

ประกาศ reverse zone ในไฟล์คุณสมบัติหลัก (/etc/named.conf)

options {
    :
    directory "/var/named";
    :
}

# IPv4 reverse zone for 203.158.202
zone "202.158.203.in-addr.arpa" in { # ตัวอย่างสำหรับ 203.158.202.0/24
    type master;

    notify yes;
    also-notify {
        your_slave_dns_server;
        203.158.192.11;
        203.158.192.21;
    };
    allow-transfer {
        your_slave_dns_server;
        203.158.192.11;
        203.158.192.21;
    };

    file "203.158.202.rev";
};
# IPv6 reverse zone for 2001:3c8:c305:8
zone "8.5.0.3.c.8.c.3.0.1.0.0.2.ip6.arpa" in {
    type master;

    notify yes;
    also-notify {
        your_ipv6_slave_dns_server;
    };
    allow-transfer {
        your_ipv6_slave_dns_server;
    };

    file "/var/named/2001.03c8.c305.8.rev";
};
# IPv6 reverse zone for 2001:3c8:c305:8000
zone "0.0.0.8.5.0.3.c.8.c.3.0.1.0.0.2.ip6.arpa" in {
    type master;

    notify yes;
    also-notify {
        your_ipv6_slave_dns_server;
    };
    allow-transfer {
        your_ipv6_slave_dns_server;
    }; 

    file "/var/named/2001.03c8.c305.8000.rev";
};
:

จากการประกาศ reverse zone ในไฟล์ /etc/named.conf มีความต่างระหว่าง IPv4 และ IPv6 โดย IPv4 จะใช้ ‘.’ เป็นตัวแยก (มองเหมือน sub domain ของ forward zone) แต่ใน IPv6 จะให้ทุกตัวเลขแยกออกจากกัน หรือใช้ ‘.’ แยกระหว่างกัน

วิทยาเขตขอนแก่นจะมี prefix ของ IPv6 จำนวน 4 ชุด ประกอบด้วย 2001:3c8:c305:8xxx:: ถึง 2001:3c8:c305:bxxx:: จะต้องประกาศ zone หลักอย่างน้อย 4 zone (8, 9, a, b) และแต่ละ zone หลักจะต้องประกาศ zone ย่อยอีกอย่างน้อย 1 ระดับ เช่น หากต้องการ zone สำหรับ 2001:3c8:c305:8000 สามารถประกาศ zone ย่อยเป็น 2001:3c8:c305:8000 ได้ทันที หรือ  ประกาศย่อยไป 3 ระกับ ประกอบด้วย 2001:3c8:c305:80 ตามด้วย 2001:3c8:c305:800 และตามด้วย 2001:3c8:c305:8000

ไฟล์ฐานข้อมูลของ zone “202.158.203.in-addr.arpa” (/var/named/203.158.202.rev)
ข้อแนะนำ: ‘;’ ใช้สำหรับการอธิบาย (comment), หากประกาศชื่อเต็ม (full name) ให้จบด้วย ‘.’

$TTL 86400 ; 1 day
@ IN SOA ns1.kkc.rmuti.ac.th. noc-kkc.rmuti.ac.th. (
                2012100101; Serial
                43200   ; Refresh
                3600    ; Retry
                1209600 ; Expire
                3600 )  ; Minimum

            NS ns.thnic.net.
            NS ilm.live.rmutt.ac.th.
            NS ns1.rmuti.ac.th.
            NS ns2.rmuti.ac.th.
            NS ns1.kkc.rmuti.ac.th.
$ORIGIN 202.158.203.in-addr.arpa.
11    IN   PTR  ns1.kkc.rmuti.ac.th.
49    IN   PTR  athena.kkc.rmuti.ac.th.
:

ไฟล์ฐานข้อมูลของ zone “8.5.0.3.c.8.c.3.0.1.0.0.2.ip6.arpa” (/var/named/2001.03c8.c305.8.rev)
ข้อแนะนำ: ‘;’ ใช้สำหรับการอธิบาย (comment), หากประกาศชื่อเต็ม (full name) ให้จบด้วย ‘.’

;$ORIGIN 8.5.0.3.c.8.c.3.0.1.0.0.2.ip6.arpa.
$TTL 86400 ; 1 day
@ IN SOA ns1.kkc.rmuti.ac.th. noc-kkc.rmuti.ac.th. (
                2015062200 ; Serial
                43200 ; Refresh
                3600 ; Retry
                1209600 ; Expire
                3600 ) ; Minimum
            NS ns1.kkc.rmuti.ac.th.

$ORIGIN 8.5.0.3.c.8.c.3.0.1.0.0.2.ip6.arpa.

1.1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0  IN PTR  ns1.kkc.rmuti.ac.th.

0.0.0  IN NS  ns1.kkc.rmuti.ac.th. ; for 2001:03c8:c305:8000
;0.0.1  IN NS  ns1.kkc.rmuti.ac.th. ; for 2001:03c8:c305:8100
:

ไฟล์ฐานข้อมูลของ zone “0.0.0.8.5.0.3.c.8.c.3.0.1.0.0.2.ip6.arpa” (/var/named/2001.03c8.c305.8000.rev)
ข้อแนะนำ: ‘;’ ใช้สำหรับการอธิบาย (comment), หากประกาศชื่อเต็ม (full name) ให้จบด้วย ‘.’

;$ORIGIN 0.0.0.8.5.0.3.c.8.c.3.0.1.0.0.2.ip6.arpa.
$TTL 86400 ; 1 day
@ IN SOA ns1.kkc.rmuti.ac.th. noc-kkc.rmuti.ac.th. (
                2015062200 ; Serial
                43200 ; Refresh
                3600 ; Retry
                1209600 ; Expire
                3600 ) ; Minimum
            NS ns1.kkc.rmuti.ac.th.

$ORIGIN 0.0.0.8.5.0.3.c.8.c.3.0.1.0.0.2.ip6.arpa.

1.1.0.0.0.0.0.0.0.0.0.0.0.0.0  IN PTR  ns1.kkc.rmuti.ac.th.
9.4.0.0.0.0.0.0.0.0.0.0.0.0.0  IN PTR  athena.rmuti.ac.th.
:

การทดสอบการทำงาน

ตัวอย่างโปรแกรมสำหรับทดสอบการทำงานการทำงานของ DNS คือ

  • nslookup: nslookup www.rmuti.ac.th (ใช้ DNS server ที่กำหนดไว้ในเครื่อง)
  • dig
    • forward query (IPv4): dig www.rmuti.ac.th
    • forward query (IPv6): dig www.rmuti.ac.th AAAA
    • reverse query: dig -x 203.158.202.49
    • เจาะจง dns server: dig @203.158.202.11 www.rmuti.ac.th

การตรวจสอบจากภายนอก

เพื่อเป็นการตรวจสอบความถูกต้องของการทำงานของระบบ DNS อย่างสมบูรณ์ ควรใช้การตรวจสอบจากภายนอกเครือข่าย มทร.อีสาน รายการแหล่งเครื่องมือสภายนอกสำหรับตรวจสอบ คือ

  • http://www.site24x7.com/dns-lookup.html

รายชื่อ name server ในเครือข่าย มทร.อีสาน

(ข้อมูลเมื่อ 2015-07-24)

  • นครราชสีมา: 203.158.192.11/2001:3c8:c305::11 (ns1.rmuti.ac.th), 203.158.192.21/2001:3c8:c305::21 (ns2.rmuti.ac.th)
  • สุรินทร์: 203.158.199.12/2001:3c8:c305:6001::12 (ns.surin.rmuti.ac.th)
  • ขอนแก่น: 203.158.202.11/2001:3c8:c305:8000::11 (ns1.kkc.rmuti.ac.th)
  • สกลนคร: 203.158.205.22/2001:3c8:c305:c000::22 (ns.skc.rmuti.ac.th)
  • กาฬสินธุ์: 203.158.206.1/2001:3c8:c305:e000::11 (ns.ksc.rmuti.ac.th)

This entry was posted in บริการด้านเครือข่ายและอินเทอร์เน็ต and tagged , , , . Bookmark the permalink.

Leave a Reply