คอนฟิก 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”

คอนฟิก IP SLA (RTR) บน Cisco เบื้องต้น

วันนี้ขออนุญาตข้ามฟากไปทดสอบคอนฟิก IP SLA (ชื่อเดิม RTR) บนอุปกรณ์ Cisco ซึ่งเป็นคุณสมบัติอย่างหนึ่งที่ทำให้ Cisco ทดสอบประสิทธิภาพเครือข่ายด้วยตัวอุปกรณ์เองได้ เช่นให้ทดสอบ ping ทดสอบการเชื่อมต่อด้วยโปรโตคอล เช่น HTTP, DNS, FTP, TCP, UDP ไปยังปลายทางที่ต้องการได้

เมื่อทดสอบเสร็จ ก็จะเก็บผลลัพธ์ในตัวอุปกรณ์เอง เราสามารถใช้คำสั่ง show บนตัวอุปกรณ์ เพื่อดูผลลัพธ์ เช่น ping หรือเชื่อมต่อไปยังปลายทางได้หรือไม่ พร้อมบอกตัวเลขสถิติ เช่น response time

Continue reading “คอนฟิก IP SLA (RTR) บน Cisco เบื้องต้น”

แก้ไขปัญหาการสตาร์ต Apache httpd Server ช้า

หากเวลารันเว็บเซิร์ฟเวอร์ apache เซอร์วิส httpd แล้วต้องรอนานกว่าจะสตาร์ตได้ หรือขึ้นข้อความ error แบบนี้

[root@cent6 ~]# service httpd start
Starting httpd: httpd: apr_sockaddr_info_get() failed for cent6.example.com
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
                                                           [  OK  ]
[root@cent6 ~]#

Continue reading “แก้ไขปัญหาการสตาร์ต Apache httpd Server ช้า”

คอนฟิกหลายชื่อเว็บไซต์บนเว็บเซิร์ฟเวอร์เครื่องเดียวด้วย Apache VirtualHost

วิธีการหนึ่งสำหรับคนที่ต้องการมีเว็บไซต์บนอินเตอร์เน็ตเป็นของตัวเอง คือใช้บริการ Web Hosting

เคยสงสัยไหมว่า ผู้ให้บริการต้องมีเซิร์ฟเวอร์กี่เครื่อง เพื่อจะรองรับเว็บไซต์หรือโดเมนเนมของลูกค้าจำนวนมากได้

โดยทั่วไป ผู้ให้บริการ Web Hosting อาจมีเซิร์ฟเวอร์เพียงไม่กี่เครื่องเท่านั้น โดยแต่ละเครื่องสามารถคอนฟิกเพื่อให้รองรับจำนวนเว็บไซต์ได้เป็นหลักร้อย หลักพัน หรือเคยได้ยินมาว่าบางที่ ที่ค่าบริการถูกมากๆ มีจำนวนเว็บไซต์ต่อเครื่องถึงหลักหมื่นเลยทีเดียว

วิธีการที่คอนฟิกเว็บเซิร์ฟเวอร์เพื่อให้สามารถรองรับได้หลายเว็บไซต์หรือโดเมน โดยพื้นฐานแล้วก็คือการใช้ VirtualHost นั่นเอง

บทความนี้จะอธิบายวิธีการคอนฟิก Apache VirtualHost บน Fedora 16

Continue reading “คอนฟิกหลายชื่อเว็บไซต์บนเว็บเซิร์ฟเวอร์เครื่องเดียวด้วย Apache VirtualHost”