Tag Archive: DNS


หากเราต้องการตั้ง Public DNS แล้วไม่ต้องการให้ DNS ของเราเป็น Open DNS คือให้คนอื่นมาถามหาโดเมนอื่นหรือปิด recursive query นั่นเอง ข้อดีคือจะทำให้ CPU, RAM, และ network load ลดลง สามารถทำได้โดย
1) เลือก Start -> Administrative Tools -> DNS

2) คลิกขวาที่ชื่อเครื่อง DNS ที่ต้องการ แล้วเลือก Properties

3) ไปที่แท๊ป Advanced แล้วเลือก Disable Recursion จากนั้นกด OK

หากต้องการเปิด recursive query อีกครั้ง ก็แค่เอาเครื่องหมายถูกหน้า Disable Recursion ออกเท่านั้นเอง

DNS MX record หรือ Mail Exchanger Record เป็นข้อมูล DNS ชนิดหนึ่ง ซึ่งแทนที่จะใช้แปลงจาก Name เป็น IP เหมือนกับ DNS A record ทั่วไป แต่ MX record จะเป็นตัวบอกว่าเมล์เซิร์ฟเวอร์ของโดเมนของเราอยู่ที่เครื่องไหน เช่นหากต้องการรู้ว่า MX record ของโดเมน microsoft.com คือเครื่องไหนให้ใช้คำสั่ง

nslookup -qt=mx hotmail.com

จะมีผลลัพธ์แบบนี้

microsoft.com MX preference = 10, mail exchanger = mail.messaging.microsoft.com

หมายความว่า อีเมล์ที่ส่งหาโดเมน microsoft.com จะส่งไปที่เครื่องเซิร์ฟเวอร์ mail.messaging.microsoft.com หากอยากดูโดเมนอื่นก็ใส่โดเมนเข้าไปท้ายคำสั่งแทน


ซึ่งหากมี MX หลายๆ ตัวก็จะได้แบบนี้

hotmail.com MX preference = 5, mail exchanger = mx4.hotmail.com
hotmail.com MX preference = 5, mail exchanger = mx1.hotmail.com
hotmail.com MX preference = 5, mail exchanger = mx2.hotmail.com
hotmail.com MX preference = 5, mail exchanger = mx3.hotmail.com



นอกจากนี้ยังสามารถกำหนดลำดับโดยใช้ MX preference ได้ ซึ่งค่าที่น้อยที่สุดจะมีถูกใช้ก่อน ถ้าส่งไม่สำเร็จก็จะพยายามติดต่อไปยังเครื่องที่มี preference สูงขึ้นต่อไป เช่น

nectec.or.th MX preference = 20, mail exchanger = maildr.nectec.or.th
nectec.or.th MX preference = 10, mail exchanger = imail.nectec.or.th

เวลาทำงานเมล์เซิร์ฟเวอร์ต้นทางจะพยายามส่งไป imail ก่อน หากไม่สำเร็จจะส่งต่อไปยัง maildr


ตัวอย่างข้างล่างเป็น combo set หลายๆ MX ที่มี preference เท่ากัน และ preference ต่างกัน

ironport.com MX preference = 10, mail exchanger = soma-c601.ironport.com
ironport.com MX preference = 20, mail exchanger = soma-c602.ironport.com
ironport.com MX preference = 20, mail exchanger = cas1-c604.ironport.com
ironport.com MX preference = 10, mail exchanger = cas1-c603.ironport.com



เราสามารถเอามาประยุกต์ใช้กับการเปลี่ยน IP ของเมล์เกตเวย์หรือย้าย ISP ได้ด้วยนะครับ
สมมุติปัจจุบันเรามี MX เป็น

example.com MX preference = 30, mail exchanger = oldisp.example.com

สิ่งที่ต้องทำคือสร้าง MX เพิ่มล่วงหน้าซัก 1-2 วันก่อนเปลี่ยน และให้ preference น้อยกว่า

example.com MX preference = 30, mail exchanger = oldisp.example.com
example.com MX preference = 20, mail exchanger = newisp.example.com

ซึ่งระหว่างที่ยังใช้ IP เดิม ก็จะพยายามส่งมาที่ newisp.example.com แต่ไม่มีใครตอบ จึงพยายามส่งอีกครั้งไป oldisp.example.com และเมื่อเปลี่ยนมาใช้ IP ใหม่ ก็จะส่งเข้า newisp.example.com ได้เลย
และหลังจากที่เปลี่ยน ISP เรียบร้อยแล้ว มั่นใจว่าจะไม่ย้ายกลับก็ลบของเดิมออกได้ครับ

example.com MX preference = 20, mail exchanger = newisp.example.com

นอกจากนี้หากไม่ต้องการรอนานหลักวันอาจลดค่า TTL ของ MX record ให้เหลือเป็นหลักสิบนาที เพื่อให้ DNS server ในอินเทอร์เน็ตลดเวลาที่เก็บใน local cache ทำให้ผู้อื่นเห็นข้อมูลใหม่เร็วขึ้นก็ได้ครับ แต่จะมีโหลดเพิ่มขึ้นที่ DNS server ของเราได้ ทำให้บางครั้ง ISP อาจไม่ยอมคอนฟิกค่า TTL ให้ครับ