Hadyai Internet R&D LAB
ผลงานของ Hadyai Internet R&D LAB => คุยกับทีมวิจัย => ข้อความที่เริ่มโดย: admin ที่ 10 สิงหาคม 2011, 23:02:32
-
ปฏิเสธไม่ได้เลยว่า 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 อีกต่อไป
ลองนำไปศึกษาเพิ่มเติมดูนะครับ สำหรับผู้ที่สนใจ
-
-m statistic --mode nth --every 2 --packet 0
-m statistic --mode nth --every 2 --packet 1
คำสั่งนี้หมายความว่างั้ยครับ
-
สมมุติ ถ้ามีเน็ต2เส้น เส้นเกมส์3bb 9เม็ก
เส้นเน็ตtrue 16 เม็ก
options {
directory "/var/cache/bind";
forwarders {
110.164.252.222;
110.164.252.223;
203.144.207.29;
203.144.207.49;
};
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
};
nameserver 127.0.0.1
nameserver 110.164.252.222
nameserver 110.164.252.223
nameserver 203.144.207.29
nameserver 203.144.207.49
เพิ่ม resolv.conf
iptables -t nat -A OUTPUT -o ppp103 -p udp --dport 53 -m statistic --mode nth --every 2 --packet 0 -j DNAT --to 110.164.252.222:53
iptables -t nat -A OUTPUT -o ppp103 -p udp --dport 53 -m statistic --mode nth --every 2 --packet 1 -j DNAT --to 110.164.252.223:53
iptables -t nat -A OUTPUT -o ppp103 -p udp --dport 53 -m statistic --mode nth --every 2 --packet 0 -j DNAT --to 203.144.207.29:53
iptables -t nat -A OUTPUT -o ppp103 -p udp --dport 53 -m statistic --mode nth --every 2 --packet 1 -j DNAT --to 203.144.207.49:53
ถูกต้องป่าวครับพี่กุ้ง(ความเข้าใจของผม)
-
ไม่น่าจะถูกนะครับ
คำสั่งพวกนี้เคยโผ่มาตอนการรวมเน็ตแล้ว 1 รอบ
การแบ่งแพกเกตออกเท่าๆกัน รอบนี้เจออีกครั้งครับ
ระบบมันจะทำงาน auto นะคับรอคุณกุ้งเขียนเสร็จคงได้ใช้กัน ^^'
-
ขอบคุณครับพี่
-
แล้วคำสั่ง iptable ผมต้องเอาไปใส่ไว้ที่ไหนหรอครับ
-
แล้วคำสั่ง iptable ผมต้องเอาไปใส่ไว้ที่ไหนหรอครับ
ตามความเข้าใจของผม คงจะนำไปใส่ใว้ใน 0route.sh ละมั้งครับ
-
Cable Modem ของ TRUE
config wan ยังงัยคับ
-
Cable Modem ของ TRUE
config wan ยังงัยคับ
มีแจ้งอยู่ใน บอร์ด ในแล้วครับ
-
Cable Modem ของ TRUE
config wan ยังงัยคับ
มีแจ้งอยู่ใน บอร์ด ในแล้วครับ
อยู่ link ไหนเหรอครับ ผมลอง search ดูแล้ว ไม่เจอ Y_Y