ติดตั้งและคอนฟิก 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”

ติดตั้งและคอนฟิก dovecot เบื้องต้น บน CentOS 6

หลังจากที่ คอนฟิก postfix เบื้องต้น บน CentOS 6 สำหรับไว้รับ/ส่งเมล์แล้ว บทนี้จะอธิบายการคอนฟิก dovecot สำหรับการดึงอีเมล์จากเมล์เซิร์ฟเวอร์มาอ่าน (POP, IMAP)

คอนฟิก dovecot ต้องสอดคล้องกับการคอนฟิก postfix ด้วย คือเมื่อ postfix ได้รับเมล์ จะจัดเก็บอีเมล์ไว้ใน mailbox ถ้าคอนฟิก postfix ให้เก็บไฟล์เมล์ไว้เป็น Maildir ก็ต้องคอนฟิก dovecot ให้อ่านเมล์จากไฟล์ Maildir ด้วย

Continue reading “ติดตั้งและคอนฟิก dovecot เบื้องต้น บน CentOS 6”

คอนฟิก postfix เบื้องต้น บน CentOS 6

บทความนี้อธิบายการคอนฟิก postfix เบื้องต้นบน CentOS 6 โดยเริ่มจากคอนฟิกหลังจากการติดตั้ง CentOS 6 เสร็จใหม่ๆ ยังไม่มีการ update โปรแกรมใดๆ ทั้งสิ้น

ทดสอบบน CentOS 6.3 (x86_64) ที่ติดตั้งแบบ Minimal + Base

Continue reading “คอนฟิก postfix เบื้องต้น บน CentOS 6”

คอนฟิก PPTP Server บนลีนุกซ์ รองรับ iPhone, Android

เพื่อให้สามารถใช้งานเซิร์ฟเวอร์ในบริษัทจากที่ไหนก็ได้ ผ่านทางมือถือไม่ว่าจะเป็น Android หรือ iPhone แทนที่จะเปิดพอร์ตแล้วให้เครื่อง client เชื่อมต่อโดยตรงจากอินเตอร์เน็ต ซึ่งค่อนข้างอันตรายต่อความปลอดภัยของระบบ

วิธีการหนึ่งที่ทำได้คือใช้การเชื่อมต่อ VPN แบบ PPTP ซึ่งติดตั้งมาอยู่แล้วไม่ว่าจะเป็น iPhone, Android หรือแม้กระทั่ง Windows เวอร์ชั่นต่างๆ เชื่อมต่อเข้า PPTP Server จะทำให้มีความปลอดภัยเพิ่มขึ้น เพราะจะมีการตรวจสอบ user, password ก่อนที่จะเชื่อมต่อได้

ในที่นี้จะแนะนำวิธีการติดตั้งและคอนฟิก PPTP Server บนลีนุกซ์ โดยทดสอบบน CentOS 6

Continue reading “คอนฟิก PPTP Server บนลีนุกซ์ รองรับ iPhone, Android”

ใช้ snmp ดึงค่า IP SLA (RTR) จาก Cisco

นอกจากจะใช้คำสั่ง show บนตัวอุปกรณ์ Cisco เองแล้ว เราสามารถเขียนโปรแกรมโดยดึงค่าผลลัพธ์เหล่านี้ผ่านทาง SNMP เพื่อนำทำรายงาน เก็บประวัติ หรือทำเป็นกราฟได้

ในที่นี้ขอยกตัวอย่างการใช้ snmpwalk ดึงค่า rtr จากที่ได้ คอนฟิก IP SLA (RTR) บน Cisco เบื้องต้น โดยจะแสดงวิธีการเฉพาะบางค่าเท่านั้น เพื่อให้ผู้อ่านทำความเข้าใจเบื้องต้น จะได้นำไปประยุกต์ใช้ต่อไป
Continue reading “ใช้ snmp ดึงค่า IP SLA (RTR) จาก Cisco”

คอนฟิก 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 เบื้องต้น”

คอนฟิก rsyslog ให้รับ syslog จากอุปกรณ์อื่น

อุปกรณ์หลายตัวที่เชื่อมต่อเน็ตเวิร์กได้ เช่น Router, ADSL Modem, Switch ส่วนใหญ่จะสามารถเก็บ log เหตุการณ์ที่เกิดขึ้นในอุปกรณ์ เพื่อใช้ในการแก้ไขปัญหาการใช้งานได้

แต่พื้นที่ที่ใช้เก็บ log ในตัวอุปกรณ์เหล่านี้ส่วนใหญ่จะมีขนาดไม่มาก ใช้ flash หรือ memory เล็กๆ ในการเก็บ log มีขนาดไม่กี่ MByte เท่านั้น ทำให้เมื่อเก็บไประยะ ต้องเคลียร์หรือเขียนทับของเก่าลงไป

หากต้องการเก็บ log ย้อนหลัง แนะนำให้คอนฟิกเพื่อส่ง log ไปเก็บยังเซิร์ฟเวอร์ที่ติดตั้งโปรแกรมประเภท syslog ไว้

ลีนุกซ์เกือบทั้งหมดจะติดตั้งโปรแกรมประเภท syslog ไว้ แต่ดีฟอลต์จะไม่รับ log จากเครื่องอื่น ในที่นี้เราจะมาคอนฟิกลีนุกซ์เพื่อให้รับ log หรือ syslog จากเครื่องอื่นได้

Continue reading “คอนฟิก rsyslog ให้รับ syslog จากอุปกรณ์อื่น”

ทดสอบเว็บเซิร์ฟเวอร์ด้วย ab (ApacheBench)

ดีฟอลต์คอนฟิกที่ได้จากการติดตั้งโปรแกรมจากไฟล์ rpm หรือ วิธีอื่นๆ นั้น สามารถนำมาใช้งานและทำงานได้ในระดับหนึ่ง

แต่ถ้าโปรแกรมเช่นเว็บเซิร์ฟเวอร์ ถ้าต้องให้บริการต่อผู้ใช้จำนวนมากขึ้น จำเป็นต้องปรับแต่งคอนฟิกเพิ่มเติม เพื่อให้ใช้ฮาร์ดแวร์ของเครื่องได้เต็มประสิทธิภาพ

ab เป็นโปรแกรมทดสอบเว็บเซิร์ฟเวอร์อย่างง่ายๆ โปรแกรมหนึ่งที่ติดตั้งมาพร้อมกับ Apache Web Server ถ้าเป็นไฟล์ rpm ก็อยู่ใน httpd-tools

เราสามารถนำ ab มาใช้ทดสอบเพื่อวัดผลได้ว่า เว็บเซิร์ฟเวอร์ที่กำลังแก้ไขคอนฟิกอยู่นั้น สามารถรองรับการใช้งานได้เท่าไร (requests per second) หากเราเปลี่ยนคอนฟิกไป ผลที่ได้จะเป็นอย่างไร

Continue reading “ทดสอบเว็บเซิร์ฟเวอร์ด้วย ab (ApacheBench)”

แก้ไขปัญหาการสตาร์ต 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 ช้า”

ตั้งเวลาเครื่องให้ตรงมาตรฐานด้วย NTP

จากบทความ เปลี่ยนวันเวลาบนลีนุกซ์ด้วยคำสั่ง date นั้น เวลาที่ตั้งอาจคลาดเคลื่อนกับเวลามาตรฐานไปพอสมควร อาจผิดเป็นหน่วยนาที หรือวินาที ซึ่งบางระบบอาจไม่สามารถยอมรับความคลาดเคลื่อนขนาดนี้ได้

วิธีที่ดีที่สุดที่จะตั้งเวลาให้ตรงกับมาตรฐานจริงๆ คือต้องใช้ NTP
Continue reading “ตั้งเวลาเครื่องให้ตรงมาตรฐานด้วย NTP”