ปรับปรุง 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 ns203.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::11ns1.rmuti.ac.th. A 203.158.192.11AAAA 2001:3c8:c305::11ns2.rmuti.ac.th. A 203.158.192.21AAAA 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)