Hadyai Internet R&D LAB

ผลงานของ Hadyai Internet R&D LAB => คุยกับทีมวิจัย => ข้อความที่เริ่มโดย: admin ที่ 12 กรกฎาคม 2010, 21:14:32

หัวข้อ: วิธีแก้ปัญหา DNS กับระบบ MultiWAN Server
เริ่มหัวข้อโดย: admin ที่ 12 กรกฎาคม 2010, 21:14:32
ผมไม่แน่ใจว่า หลาย ๆ ท่านยังมีปัญหาเรื่อง DNS กันอยู่อีกหรือเปล่า หัวข้อนี้จะอธิบายถึงสาเหตุ และแนวทางวิธีแก้ไข

ระบบ MultiWAN Server นั้น ส่วนใหญ่แล้ว จะเชื่อมต่อ Internet มากกว่า 1 ISP เพื่อป้องกันการล่มของ ISP

1 ISP ก็จะมี DNS มาให้ 2 IP หลายท่านอาจจะสงสัย ว่า IP DNS นั้นเอามาจากไหน เพราะบางครั้ง ถาม ISP ไป

ก็ยังไ่ม่สามารถบอก DNS มาได้ เพราะเนื่องจากว่าในแต่ละพื้นที่ หรือแต่ละ node จะได้รับ DNS ที่แตกต่างกันออกไป

เมื่อกำหนด  pppd  เป็นแบบ  usepeerdns เช่น

Jul 12 10:35:40 ubuntu pppd[16498]: peer from calling number 00:30:88:03:8D:FE authorized
Jul 12 10:35:40 ubuntu pppd[16498]: local  IP address 110.77.147.60
Jul 12 10:35:40 ubuntu pppd[16498]: remote IP address 110.77.147.1
Jul 12 10:35:40 ubuntu pppd[16498]: primary   DNS address 61.19.245.245
Jul 12 10:35:40 ubuntu pppd[16498]: secondary DNS address 202.129.27.133

หรือ

Jul 12 12:49:10 ubuntu pppd[22627]: peer from calling number 00:30:88:03:8E:06 authorized
Jul 12 12:49:10 ubuntu pppd[22627]: local  IP address 119.42.85.96
Jul 12 12:49:10 ubuntu pppd[22627]: remote IP address 119.42.85.1
Jul 12 12:49:10 ubuntu pppd[22627]: primary   DNS address 202.129.27.135
Jul 12 12:49:10 ubuntu pppd[22627]: secondary DNS address 61.19.245.245

สังเกตุว่า DNS ของแต่ละพื้นที่ ถึงแม้ว่าจะ ISP เดียวกัน ก็อาจจะไม่เหมือนกัน ซึ่งจะเป็น DNS ที่ ISP เลือกมาแล้วว่า

เหมาะสมที่สุด  หรืออาจจะมีการปรับเปลี่ยน เพื่อความเหมาะสมของแต่ละ ISP

เนื่องจากว่า ระบบ MultiWAN Server มีการเชื่อมต่อ หลาย ISP ดังนั้นจึงทำให้มี DNS หลายชุด

โดยส่วนใหญ่แล้ว packet DNS ของระบบ MultiWAN Server จะไม่มีการ config ให้ออกเส้นใด เส้นนึง ดังนั้น packet

DNS จึงมักจะวิ่งออกทางเส้นเวป  ถ้ามีเส้นเวปหลาย ๆ เส้น packet ก็จะวิ่งสุ่มออกไป ทุก ๆ เส้น

ปัญหาก็เลยเกิดขึ้นมา  เมื่อ  ISP  บล๊อกการใช้งาน DNS จาก IP ที่ไม่ใช่อยู่ในความดูแลของ DNS ตัวนั้น

แปลง่าย ๆ ก็คือว่า DNS ใคร DNS มัน ถ้าใช้ DNS ของ TRUE ก็ต้องใช้เน็ต TRUE เป็นต้น

ดังนั้น เราจะต้องทำการ mark packet DNS เพื่อให้วิ่งออกตรงตาม ISP ยกตัวอย่างเช่น ใช้ ip route เป็นตัวจัดการ

ip route add 61.19.245.245 dev ppp102
ip route add 202.129.27.133 dev ppp102

เป็นต้น

หรือจะใช้ iptables เป็นตัวจัดการ ก็ได้เหมือนกัน เช่น

iptables -A OUTPUT -t mangle -d 61.19.245.245 -p udp --dport 53 -j MARK --set-mark 0x102
iptables -A OUTPUT -t mangle -d 202.129.27.133 -p udp --dport 53 -j MARK --set-mark 0x102

ก็ได้เหมือนกัน

หรือวิธีแก้อีกวิธีนึง ก็คือ  การใช้  open dns  หรือ dns ที่เป็น public   สามารถใช้งานได้ทุก ISP เช่น

Free Public DNS Server
Service provider: Google

8.8.8.8
8.8.4.4

Service provider: ScrubIt
Public dns server address:

67.138.54.100
207.225.209.66

Service provider:dnsadvantage
Dnsadvantage free dns server list:

156.154.70.1
156.154.71.1

Service provider:OpenDNS
OpenDNS free dns server list:

208.67.222.222
208.67.220.220

Service provider: vnsc-pri.sys.gtei.net
Public Name server IP address:

4.2.2.1
4.2.2.2
4.2.2.3
4.2.2.4
4.2.2.5
4.2.2.6

เป็นต้น

วิธีการตรวจสอบว่า DNS ตัวนั้น สามารถใช้งานได้หรือไม่ ก็คือ ให้ใช้คำสั่ง

nslookup  [ชื่อเวป]  [IP ของ DNS]

ยกตัวอย่างเช่น

>nslookup www.google.com 8.8.8.8
Server:         8.8.8.8
Address:        8.8.8.8#53

Non-authoritative answer:
www.google.com  canonical name = www.l.google.com.
Name:   www.l.google.com
Address: 64.233.181.104

ถ้ามีการตอบกลับมาโดย IP Server นั้น ก็แสดงว่า DNS ตัวนั้น สามารถนำมาใช้งานได้

แต่ถ้าผลออกมาเป็น

>nslookup www.google.com 4.4.4.4
Server:         127.0.0.1
Address:        127.0.0.1#53

Non-authoritative answer:
www.google.com  canonical name = www.l.google.com.
Name:   www.l.google.com
Address: 64.233.181.104

ก็แสดงว่า DNS ตัวดังกล่าว ไม่สามารถนำมาใช้งานได้



แต่วิธีการที่ดีที่สุด สำหรับ MultiWAN Server นั้น ก็คือ การสร้างสคริปนำ DNS ที่ได้รับมาจาก ISP โดย usepeerdns

มาปรับแต่ง ให้เหมาุะสม และให้ packet DNS วิ่งออกตรงตาม ISP และการใช้ bind9 แทน dnsmasq  เป็นต้น

แล้ว MultiWAN Server ของท่าน จะหมดปัญหาเรื่อง DNS อีกต่อไป

หัวข้อ: Re: วิธีแก้ปัญหา DNS กับระบบ MultiWAN Server
เริ่มหัวข้อโดย: ramjj ที่ 12 กรกฎาคม 2010, 23:15:58
ตอนนี้ใช้8.8.8.8ของกูเกิลเป็นหลักเลยครับ
3bbไว้ใจไม่ได้เลยบางทีเข้าเวบไทยได้เวบนอกไม่ได้
 >:(
หัวข้อ: Re: วิธีแก้ปัญหา DNS กับระบบ MultiWAN Server
เริ่มหัวข้อโดย: Man_Utd007 ที่ 13 กรกฎาคม 2010, 00:27:56
ผมเน็ต tot แต่ผมใช้ของ true เจ้าเดียวเลย ใช่ dns 2 ตัว ใช้งานได้ดี ไม่มีปัญหาครับ
เอิ๊กๆๆ
หัวข้อ: Re: วิธีแก้ปัญหา DNS กับระบบ MultiWAN Server
เริ่มหัวข้อโดย: touch_111 ที่ 29 สิงหาคม 2010, 18:37:50
ดังนั้น เราจะต้องทำการ mark packet DNS เพื่อให้วิ่งออกตรงตาม ISP ยกตัวอย่างเช่น ใช้ ip route เป็นตัวจัดการ

ip route add 61.19.245.245 dev ppp102
ip route add 202.129.27.133 dev ppp102

เป็นต้น

หรือจะใช้ iptables เป็นตัวจัดการ ก็ได้เหมือนกัน เช่น

iptables -A OUTPUT -t mangle -d 61.19.245.245 -p udp --dport 53 -j MARK --set-mark 0x102
iptables -A OUTPUT -t mangle -d 202.129.27.133 -p udp --dport 53 -j MARK --set-mark 0x102

------------------ แล้วแก้ที่ไฟล์ ไหนเหรอครับ  
หัวข้อ: Re: วิธีแก้ปัญหา DNS กับระบบ MultiWAN Server
เริ่มหัวข้อโดย: ★2@nswεr^^★™` ที่ 30 สิงหาคม 2010, 00:28:32
ดังนั้น เราจะต้องทำการ mark packet DNS เพื่อให้วิ่งออกตรงตาม ISP ยกตัวอย่างเช่น ใช้ ip route เป็นตัวจัดการ

ip route add 61.19.245.245 dev ppp102
ip route add 202.129.27.133 dev ppp102

เป็นต้น

หรือจะใช้ iptables เป็นตัวจัดการ ก็ได้เหมือนกัน เช่น

iptables -A OUTPUT -t mangle -d 61.19.245.245 -p udp --dport 53 -j MARK --set-mark 0x102
iptables -A OUTPUT -t mangle -d 202.129.27.133 -p udp --dport 53 -j MARK --set-mark 0x102

------------------ แล้วแก้ที่ไฟล์ ไหนเหรอครับ  

/etc/init.d/custommark.sh ก็ได้ครับ สำหรับ iptables
หัวข้อ: Re: วิธีแก้ปัญหา DNS กับระบบ MultiWAN Server
เริ่มหัวข้อโดย: ramjj ที่ 01 มิถุนายน 2011, 17:38:55
วิธีนี้ยังใช้ได้ผลมั้ยครับ
หัวข้อ: Re: วิธีแก้ปัญหา DNS กับระบบ MultiWAN Server
เริ่มหัวข้อโดย: singtoy ที่ 03 มิถุนายน 2011, 07:44:10
เอ..อันนี้ก็อยากรู้คับ ยังใช้ได้ไม  อีกประการ มี isp เดียวกันอย่างละสองเส้น คับ

มีคนให้คำตัวได้ไม
หัวข้อ: Re: วิธีแก้ปัญหา DNS กับระบบ MultiWAN Server
เริ่มหัวข้อโดย: Thaiheng ที่ 15 มิถุนายน 2011, 12:59:02
ผมใช้เน็ต tot กับ 3bb อยู่ตอนนี้มีปัญหานี้อ่ะครับ เส้นtotจะตัดตลอดเลย


ดังนั้น เราจะต้องทำการ mark packet DNS เพื่อให้วิ่งออกตรงตาม ISP ยกตัวอย่างเช่น ใช้ ip route เป็นตัวจัดการ

ip route add 61.19.245.245 dev ppp102
ip route add 202.129.27.133 dev ppp102

ใช้ rv042 ต้องเข้าไปเซ็ต ตรงไหนหรอครับ