ปฏิเสธไม่ได้เลยว่า DNS มีความสำคัญต่อระบบ Internet มาก โดยเฉพาะในเรื่องของการเข้าสู่ Website
โดยมีความสำคัญไม่แพ้ Internet ความเร็วสูงๆ หรือ proxy Squid ที่แรง ๆ แต่ถ้า DNS เน่า เสีย หรือ มีปัญหา
ก็ทำให้ Internet ความเร็วสูง กลายเป็น Internet ความเร็วศูนย์ ได้เหมือนกัน
จากการวิจัยค้นคว้า การใช้งานอินเตอร์เน็ตแบบ MultiWAN มักจะมีปัญหาเรื่อง DNS อยู่บ่อยครั้ง เนื่องจาก มีการเชื่อมต่อ
หลาย ISP ทำให้อาจจะเกิดการขัดกัน block กัน หรือ ไม่เข้ากันในแต่ละ ISP จนมีปัญหาทำให้ต้องไปพึ่ง DNS กลาง เช่น
DNS ของ Google หรือ Free DNS ต่าง ๆ ที่สามารถหามาได้ แต่ก็ยังแก้ปัญหาได้ไม่ 100%
วันนี้จะกล่าวถึงระบบ Auto DNS หรือการ Redirect DNS ให้ออกตรงตามแต่ละ ISP ที่ ISP ได้กำหนดมาให้
สังเกตุว่า แม้แต่ ISP เดียวกัน ใช้ Internet คนละแบบ ก็จะได้ DNS มาคนละชุด เช่น
CAT G.SHDSL 2/2 ได้รับ DNS มาเป็น
61.19.245.246,61.19.245.243
แต่พอเป็น CAT Fiber Onnet ได้ DNS มาเป็น
110.77.255.130,61.19.245.246
แต่อีกเส้น เป็น True Cable Modem ได้ DNS มาเป็น
203.144.206.29,203.144.206.49
ก่อนอื่น จะต้องจัดการ DNS ของเครื่องลูกข่ายทั้งหมด ให้ Redirect มาใช้งาน Service ของ DNS
โดยใช้ iptables ดังนี้
iptables -t nat -A PREROUTING -i eth0 -p udp --dport 53 -j REDIRECT --to-port 53
โดยที่เครื่อง Server นั้น รัน DNS Service ไว้ คือ Bind9
ขั้นตอนต่อไปก็คือ การกำหนดเพื่อ Redirect DNS เข้าไปยัง DNS ของแต่ละ ISP เช่น
ppp101 คือ เส้นเกมส์ G.SHDSL ของ CAT
iptables -t nat -A OUTPUT -o ppp101 -p udp --dport 53 -m statistic --mode nth --every 2 --packet 0 -j DNAT --to 61.19.245.246:53
iptables -t nat -A OUTPUT -o ppp101 -p udp --dport 53 -m statistic --mode nth --every 2 --packet 1 -j DNAT --to 61.19.245.243:53
เป็นต้น และกำหนดเส้นอื่น ๆ ด้วย เช่น
เส้น TRUE Cable Modem
iptables -t nat -A OUTPUT -o eth2 -p udp --dport 53 -m statistic --mode nth --every 2 --packet 0 -j DNAT --to 203.144.206.29:53
iptables -t nat -A OUTPUT -o eth2 -p udp --dport 53 -m statistic --mode nth --every 2 --packet 1 -j DNAT --to 203.144.206.49:53
เส้น CAT Fiber Onnet
iptables -t nat -A OUTPUT -o ppp103 -p udp --dport 53 -m statistic --mode nth --every 2 --packet 0 -j DNAT --to 110.77.255.130:53
iptables -t nat -A OUTPUT -o ppp103 -p udp --dport 53 -m statistic --mode nth --every 2 --packet 1 -j DNAT --to 61.19.245.246:53
เพียงเท่านี้ เราก็จะหมดปัญหาเรื่อง DNS อีกต่อไป
โดยสามารถดึง DNS ที่ ISP แจกมาให้โดยอัตโนมัติ ก็ไม่จำเป็นต้องระบุ DNS อีกต่อไป
ลองนำไปศึกษาเพิ่มเติมดูนะครับ สำหรับผู้ที่สนใจ