คอนฟิก BIND DNS เก็บข้อมูลโซนโดเมนไว้ใน SQLite บน CentOS 7

จากบทความ คอนฟิกเซิร์ฟเวอร์ BIND DNS บน CentOS 7 – ตอนที่ 2 เพิ่มโซนโดเมน ที่ผ่านมา หลังจากที่เราตัดสินใจตั้งเซิร์ฟเวอร์ DNS เพื่อเก็บข้อมูลโดเมนของเราเองแล้วนั้น หากมีการแก้ไขข้อมูลของโดเมน เช่นมีการเพิ่มหรือเปลี่ยนแปลง ชื่อ (hostname) กับ IP Address หรือข้อมูลอื่น ก็ต้องมีการแก้ไขไฟล์โซนของโดเมนนั้นๆ

ดีฟอลต์จากการติดตั้ง BIND ผู้ดูแลระบบต้องแก้ไขคอนฟิกโซนโดเมน ในรูปแบบการแก้ไขไฟล์ โดยใช้ editor เช่น vi หรือ nano และหลังการแก้ไขเสร็จสิ้น ก็ต้องรีสตาร์ตเซอร์วิส named ใหม่

เพื่อชีวิตที่ง่ายขึ้นของผู้ดูแลระบบ ในที่นี้ขอแนะนำการคอนฟิก BIND ให้เก็บข้อมูลโซนโดเมน ไว้ในรูปแบบฐานข้อมูล (SQLite) เวลาแก้ไขข้อมูล ก็ปรับปรุงข้อมูลในฐานข้อมูลโดยตรง แต่หลังแก้ไขเสร็จสิ้นแล้ว ไม่จำเป็นต้องรีสตาร์ตเซอร์วิส named ใหม่อีกครั้ง

Continue reading “คอนฟิก BIND DNS เก็บข้อมูลโซนโดเมนไว้ใน SQLite บน CentOS 7”

คอนฟิกเซิร์ฟเวอร์ BIND DNS บน CentOS 7 – ตอนที่ 2 เพิ่มโซนโดเมน

หลังจาก ติดตั้งและคอนฟิกเซิร์ฟเวอร์ BIND DNS บน CentOS 7 – ตอนที่ 1 Caching Only เสร็จเรียบร้อย

ในตอนนี้ลองมาดูวิธีการเพิ่มข้อมูลโดเมนใหม่ (zone) เพื่อแปลงข้อมูล เช่น ชื่อ hostname เป็น IP Address ไว้สำหรับใช้งานภายในองค์กรเอง หรือถ้าเราจดทะเบียนเป็นเจ้าของชื่อโดเมนบนอินเทอร์เน็ตแล้ว ต้องการคอนฟิกติดตั้งเซิร์ฟเวอร์ DNS เพื่อเก็บข้อมูลโดเมนบนเซิร์ฟเวอร์ของเราเอง

Continue reading “คอนฟิกเซิร์ฟเวอร์ BIND DNS บน CentOS 7 – ตอนที่ 2 เพิ่มโซนโดเมน”

ติดตั้งและคอนฟิกเซิร์ฟเวอร์ BIND DNS บน CentOS 7 – ตอนที่ 1 Caching Only

แม้จะมีเซิร์ฟเวอร์ DNS ที่เราสามารถใช้งานได้ฟรี เช่น DNS ของ Google (8.8.8.8, 8.8.4.4) แต่ในบางครั้ง เราก็จำเป็นต้องติดตั้งและคอนฟิกเซิร์ฟเวอร์ DNS ขึ้นมาใช้งานเอง เช่นใช้งานภายในองค์กร (Intranet) หรือตั้ง DNS เพื่อเก็บข้อมูลโดเมนเนมของเราเอง

ลองมาดูวิธีการติดตั้งและคอนฟิก BIND บน CentOS 7 เพื่อทำหน้าที่เป็นเซิร์ฟเวอร์ DNS กัน

โดยในตอนแรกเราจะเริ่มติดตั้ง BIND และคอนฟิกเป็นแบบ Caching Only ความหมายคือ คอนฟิกให้ทำหน้าที่เป็น DNS เซิร์ฟเวอร์ที่ให้บริการเครื่องไคลเอนต์ (Client) ในการถามข้อมูล เช่น ถามชื่อ (Hostname) แล้วตอบเป็น IP Address ให้ โดยเซิร์ฟเวอร์ที่คอนฟิกในโหมด caching only นี้ จะทำหน้าที่ไปค้นหาข้อมูล (recursion) โดยการถาม DNS เซิร์ฟเวอร์ตัวอื่นๆ ที่อยู่บนอินเทอร์เน็ตไปเรื่อยๆ จนกว่าจะเจอเซิร์ฟเวอร์ที่เก็บข้อมูลของโดเมน (Authoritative Server) และได้คำตอบว่า ชื่อที่ไคลเอ้นต์ถามมา มี IP Address เป็นค่าอะไร

Continue reading “ติดตั้งและคอนฟิกเซิร์ฟเวอร์ BIND DNS บน CentOS 7 – ตอนที่ 1 Caching Only”

PowerDNS เซิร์ฟเวอร์ DNS ที่สามารถบริหารจัดการผ่านเว็บ PHP, MySQL

เพื่อขีวิตที่ง่ายขึ้นในการดูแล DNS Server วันนี้ขอแนะนำ PowerDNS ที่สามารถทำหน้าที่รันเป็น DNS เซิร์ฟเวอร์ได้ อีกหนึ่งทางเลือกนอกจาก BIND

แทนที่จะเก็บข้อมูลโดเมน (domain) โซน (zone) เป็นเท็กซ์ไฟล์แบบใน BIND  เราสามารถคอนฟิก PowerDNS เลือกเก็บข้อมูลโดเมนไว้ในฐานข้อมูลได้ โดยรองรับทั้ง MySQL,  PostgreSQL, SQLite หรือแม้กระทั่ง LDAP

แล้วเราสามารถใช้โปรแกรม PowerAdmin บริหารจัดการข้อมูลของ PowerDNS ไม่ว่าจะเป็นการเพิ่ม แก้ไข ลบข้อมูล ผ่านหน้าเว็บได้โดยง่าย

ในที่นี้จะแสดงตัวอย่างการติดตั้ง PowerDNS หรือชื่อแพ็คเกจ rpm ว่า pdns บน CentOS 6 โดยจะติดตั้ง pdns จาก EPEL repo แล้วติดตั้งโปรแกรม PowerAdmin โดยดาวน์โหลดไฟล์ zip จากเว็บของ PowerAdmin

Continue reading “PowerDNS เซิร์ฟเวอร์ DNS ที่สามารถบริหารจัดการผ่านเว็บ PHP, MySQL”

แก้ไขปัญหา BIND DNS ขึ้น named error (network unreachable) resolving

หากต้องการแก้ไขปัญหาการใช้งาน BIND เพื่อรันเซอร์วิสเป็น DNS Server สามารถดูเหตุการณ์หรือข้อผิดพลาด (error) ที่เกิดขึ้นในไฟล์ /var/log/messages โดยจะใช้ชื่อโปรแกรมเป็น named

ปัญหาหนึ่งที่ค่อนข้างกวนใจสำหรับการใช้งาน คือมักจะขึ้นข้อความ error (network unreachable) resolving ตามด้วยชื่อหรือโดเมนที่ต้องการหา แล้วตามด้วยเลข IPv6

Continue reading “แก้ไขปัญหา BIND DNS ขึ้น named error (network unreachable) resolving”

คอนฟิก BIND DNS เซิร์ฟเวอร์ – ตอนที่ 2 เพิ่มโซนโดเมน

หลังจาก ติดตั้งและคอนฟิก BIND DNS เซิร์ฟเวอร์ – ตอนที่ 1 caching only เสร็จเรียบร้อย

ในตอนนี้จะมาดูวิธีการเพิ่มข้อมูลโดเมนใหม่เพื่อแปลงชื่อเป็น IP Address  เช่นไว้ใช้สำหรับภายในองค์กรเอง หรือถ้าเราจดทะเบียนชื่อโดเมนบนอินเตอร์เน็ตแล้ว ต้องการให้บริการแก่คนอื่น วิธีการที่จะแปลงชื่อเช่น www.example.com มาเป็น IP Address ของเครื่องเว็บเซิร์ฟเวอร์ของเรา แทนที่ต้องไปเสียค่าบริการเช่า DNS hosting เพิ่มเติม เรามาคอนฟิกตั้ง DNS Server แล้วชี้ name server มาที่ IP ของเซิร์ฟเวอร์ที่เรากันดีกว่า

Continue reading “คอนฟิก BIND DNS เซิร์ฟเวอร์ – ตอนที่ 2 เพิ่มโซนโดเมน”

ติดตั้งและคอนฟิก BIND DNS เซิร์ฟเวอร์ – ตอนที่ 1 caching only

ความเห็นส่วนตัว DNS Server จัดว่าเป็นโปรแกรมหรือเซอร์วิสที่อยู่เบื้องหลังความสำเร็จของอินเตอร์เน็ตอย่างหนึ่ง คือแทนที่ผู้ใช้จะต้องจำและระบุ IP Address ในการเรียกใช้บริการเซิร์ฟเวอร์เครื่องอื่นๆ ผู้ใช้ก็สามารถใช้ชื่อแทนได้ เช่นแค่ระบุชื่อ www.google.com ก็สามารถเข้าสู่เว็บไซต์ของ google ได้ แทนที่ต้องระบุ IP Address เครื่องเซิร์ฟเวอร์ของ google ซึ่งมีอยู่มากมาย และอาจมีการเปลี่ยนแปลงได้ตลอดเวลา

เรามาลองดูวิธีการติดตั้งและคอนฟิก DNS กัน ผู้เขียนขอเลือกใช้ BIND ซึ่งถือว่าเป็นโปรแกรม DNS Server ที่มีการใช้งานกันมากที่สุดบนโลกอินเตอร์เน็ตนี้ และรองรับคุณสมบัติมาตรฐานของ DNS Server โดยจะทดสอบการติดตั้งบน CentOS 6

ตอนแรกเราจะเริ่มติดตั้ง BIND และคอนฟิกเป็น caching only ความหมายคือ คอนฟิกให้ทำหน้าที่เป็น DNS เซิร์ฟเวอร์ที่ให้บริการเครื่องไคลเอ้นต์ในการถามชื่อแล้วตอบเป็น IP Address ให้ โดยเซิร์ฟเวอร์ที่ทำหน้าที่ caching only นี้ จะทำหน้าที่ไปค้นหาข้อมูล (recursion) โดยการถาม DNS เซิร์ฟเวอร์ตัวอื่นๆ ที่อยู่บนอินเตอร์เน็ต จนกว่าจะได้คำตอบว่า ชื่อที่ไคลเอ้นต์ถามมา มี IP Address เป็นอะไร

Continue reading “ติดตั้งและคอนฟิก BIND DNS เซิร์ฟเวอร์ – ตอนที่ 1 caching only”