Showing posts with label Linux DNS. Show all posts
Showing posts with label Linux DNS. Show all posts

Thursday, January 22, 2009

MyDNS not start

เรื่องก็คือว่า เราได้ติดตั้ง mydns ที่ office ใช้งานได้ปกติ เมื่อติดตั้ง mydns ในสภาพแวดล้อมอย่างเดียวกันนี้อีกที่ home ปรากฏว่าพอรัน mydns มัฟ้องว่ารันไม่ได้ และไม่มี log โชว์ให้เห็นเพื่อจะวิเคราะห์ได้ จึงลองรันคำสั่ง mydns ตรง ๆ เลยด้วย

/usr/sbin/mydns

จึงได้เห็น Error ข้างล่างนี้

Error connecting to MySQL server at localhost: Access denied for user 'root'@'localhost' (using passowrd: YES) (error=0)

ซึ่งก็พอสันนิษฐานได้ว่าโปรแกรม mydns ติดต่อฐานข้อมูลด้วย user root ไม่ได้ อาจจะ user name หรือ password ไม่ถูกต้องก็ได้ ซึ่งไฟล์ที่ควรจะพิจารณาคือ

/etc/mydns.conf
db-host = localhost
db-user = root
db-password = tawich2514
database = mydns

เรื่องที่เกี่ยวข้อง :

สร้าง DNS server ด้วย MyDNS และ MyDNSConfig ด้วย CentOS

Wednesday, January 21, 2009

DNS and Mail Server

DNS (Domain Name Service) กับเมล์เซิร์ฟเวอร์

DNS เป็นบริการพื้นฐานในระบบเครือข่าย ทำหน้าที่แปลงชื่อโฮสต์ไปเป็นหมายเลขไอพีแอดเดรส และในทางกลับกันแปลงหมายเลขไอพีแอดเดรสไปเป็นชื่อโฮสต์เรียกว่า "Naming Resolution" ไฟล์ที่เกี่ยวข้องในการแปลงชื่อโฮสต์และหมายเลขไอพีแอดเดรสของ DNS มีอยู่ 2 ไฟล์คือ forward zone และ reverse zone เราเรียกโซนที่แปลงจากชื่อไปเป็นไอพีแอดเดรสว่า forward zone และส่วนที่แปลงไอพีแอดเดรสไปเป้นชื่อจะถูกเรียกว่า reverse zone

เรคอร์ดใน DNS

เรคอร์ดที่ทำหน้าที่ติดต่อกับระบบเมล์เซิร์ฟเวอร์ในโซนไฟล์คือบรรทัดที่มีคำว่า MX ซึ่งเราเรียกว่า MX record เรคคอร์ดที่ควรทราบใน DNS มีดังนี้

NS record (Name Server record) เป็นการระบุว่าเครื่องใดทำหน้าที่เป็นเนมเซิร์ฟเวอร์หรือ DNS server
A record (Address record) มีหน้าที่แปลงชื่อไปเป็นไอพีแอดเดรส
PTR record (Pointer record) มีหน้าที่แปลงไอพีแอดเดรสไปเป็นชื่อ
MX record (Mail Exchanger record)

การส่งเมล์ ผู้ส่งอีเมล์จะระบุถึงผู้รับในอีเมล์ โดยอีเมล์แอดเดรสของผู้รับหรือผู้ส่งจะประกอบด้วยชื่อและโดเมน เครื่อง server ของผู้ส่งจะค้นหาเมล์เซิร์ฟเวอร์ของผู้รับโดยสอบถามจาก DNS server ของตนเอง และ DNS จะค้นหาต่อไปยัง DNS server ที่รับผิดชอบโดเมนของผู้รับ และจะตอบกลับมาว่าเครื่องเซิร์ฟเวอร์ตัวใดจะทำหน้าที่รับอีเมล์ที่เป็นโดเมนของผู้รับ ซึ่งนั่นก็คือเครื่องเซิร์ฟเวอร์ที่อยู่หลังบรรทัด MX record การระบุค่าใน MX record จะต้องมีการระบุความสำคัญของเครื่องเซิร์ฟเวอร์ที่จะทำการรับเมล์ไว้ด้วย เราเรียกค่าความสำคัญนี้ว่า Priority หรือ Perference Number เช่น

adminlinux.com IN MX 10 mail.adminlinux.com
adminlinux.com IN MX 20 mail01.adminlinux.com

จากตัวอย่างมีเซิร์ฟเวอร์ที่ทำหน้าที่รับอีเมล์สำหรับโดเมน adminlinux.com อยู่ 2 ตัวคือ mail.adminlinux.com และ mail01.adminlinux.com ในเวลาปกติเมื่อมีการส่งอีเมล์มายังโดเมน adminlinux.com ในกรณีที่ mail.adminlinux.com ไม่สามารถทำงานได้ mail01.adminlinux.com จะทำหน้าที่รับอีเมล์แทน และจะเก็บอีเมล์ไว้ในคิวจนกว่า mail.adminlinux.com จะกลับขึ้นมาทำงาน การทำงานในลักษณะนี้เราเรียกว่า MX backup

เงื่อนไขในการกำหนด MX record

- ชื่อที่ตามหลัง MX ต้องเป็นโฮสต์เนม ไม่ใช่หมายเลขไอพี
- ชื่อที่ตามหลัง MX ต้องไม่เป็น CNAME
- โฮสต์เนมที่ใช้ใน MX record ต้องถูกระบุใน A record ด้วย
- MX record ต้องมีการใส่ค่า Priority ลำดับความสำคัญด้วย

CNAME in DSN Record

server เครื่องหนึ่ง ๆ อาจจะทำหน้าที่หลายๆอย่างเช่น เป็น www ด้วย เป็น ftp ด้วยและเป็น mail ด้วย เช่นนี้ การกำหนดชื่อและหลายเลข IP ก็จะต้องทำหลายบรรทัด หากเปลี่ยนหมายเลข IP server ก็ต้องเปลี่ยนชื่อใน dns ให้ตรงกับ IP ใหม่
ในกรณีนี้จะเห็นประโยชน์ของ CNAME Record ขึ้นมาทันตาเห็น

ตัวอย่าง domain linuxadmin.com

www.linuxadmin.com. IN A 192.168.0.9
ftp.linuxadmin.com. IN A 192.168.0.9
mail.linuxadmin.com IN A 192.168.0.9
ns1.linuxadmin.com IN A 192.168.0.9

ถ้าใช้ CNAME ช่วยจะเปลี่ยนแปลงไป

server1.linuxadmin.com. IN A 192.168.0.9
www IN CNAME server1.linuxadmin.com
ftp IN CNAME server1.linuxadmin.com
mail IN CNAME server1.linuxadmin.com
ns1 IN CNAME server1.linuxadmin.com

หรือ แบบสั้น
server1 IN A 192.168.0.9
www IN CNAME server1
etc...

ลองตรวจสอบ CNAME ดูด้วยคำสั่ง dig

dig @nameserver a www.linuxadmin.com

ควรจะปรากฏในช่อง ANSWER SECTION:
www.linuxadmin.com. 86400 IN CNAME server1.linuxadmin.com.
;;

บันทึกไว้ เพราะวันนี้มีปัญหากับ CNAME ในการ set MyDNS เหลือเกิน

Twitter Delicious Facebook Digg Stumbleupon Favorites More