ข่าว: ข่าวประกาศ

  • 24 พฤศจิกายน 2024, 17:14:01

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ผู้เขียน หัวข้อ: วิธีแก้ปัญหา DNS กับระบบ MultiWAN Server  (อ่าน 23819 ครั้ง)

admin

  • Administrator
  • Hero Member
  • *****
  • กระทู้: 3820
    • ดูรายละเอียด
    • อีเมล์
วิธีแก้ปัญหา DNS กับระบบ MultiWAN Server
« เมื่อ: 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 อีกต่อไป

« แก้ไขครั้งสุดท้าย: 13 กรกฎาคม 2010, 05:03:20 โดย admin »
<a href="http://www.hadyaiinternet.com/images/inetcafe.swf" target="_blank" rel="noopener noreferrer" class="bbc_link bbc_flash_disabled new_win">http://www.hadyaiinternet.com/images/inetcafe.swf</a>

ramjj

  • Customer Lv.4
  • Sr. Member
  • *****
  • กระทู้: 325
    • ดูรายละเอียด
Re: วิธีแก้ปัญหา DNS กับระบบ MultiWAN Server
« ตอบกลับ #1 เมื่อ: 12 กรกฎาคม 2010, 23:15:58 »
ตอนนี้ใช้8.8.8.8ของกูเกิลเป็นหลักเลยครับ
3bbไว้ใจไม่ได้เลยบางทีเข้าเวบไทยได้เวบนอกไม่ได้
 >:(

Man_Utd007

  • Customer Lv.1
  • Sr. Member
  • ***
  • กระทู้: 452
    • ดูรายละเอียด
    • อีเมล์
Re: วิธีแก้ปัญหา DNS กับระบบ MultiWAN Server
« ตอบกลับ #2 เมื่อ: 13 กรกฎาคม 2010, 00:27:56 »
ผมเน็ต tot แต่ผมใช้ของ true เจ้าเดียวเลย ใช่ dns 2 ตัว ใช้งานได้ดี ไม่มีปัญหาครับ
เอิ๊กๆๆ
ความรู้ ไม่ค้นหา ไม่มีวันเจอ

touch_111

  • Customer Lv.4
  • Newbie
  • *****
  • กระทู้: 40
    • ดูรายละเอียด
    • อีเมล์
Re: วิธีแก้ปัญหา DNS กับระบบ MultiWAN Server
« ตอบกลับ #3 เมื่อ: 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

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

★2@nswεr^^★™`

  • Customer Lv.4
  • Hero Member
  • *****
  • กระทู้: 637
  • Learning By Doing,,,,
    • ดูรายละเอียด
Re: วิธีแก้ปัญหา DNS กับระบบ MultiWAN Server
« ตอบกลับ #4 เมื่อ: 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
SmartCafe Z + Intel® SSD 910

ramjj

  • Customer Lv.4
  • Sr. Member
  • *****
  • กระทู้: 325
    • ดูรายละเอียด
Re: วิธีแก้ปัญหา DNS กับระบบ MultiWAN Server
« ตอบกลับ #5 เมื่อ: 01 มิถุนายน 2011, 17:38:55 »
วิธีนี้ยังใช้ได้ผลมั้ยครับ

singtoy

  • ตัวแทนที่ได้รับการแต่งตั้ง
  • Full Member
  • *****
  • กระทู้: 209
    • ดูรายละเอียด
Re: วิธีแก้ปัญหา DNS กับระบบ MultiWAN Server
« ตอบกลับ #6 เมื่อ: 03 มิถุนายน 2011, 07:44:10 »
เอ..อันนี้ก็อยากรู้คับ ยังใช้ได้ไม  อีกประการ มี isp เดียวกันอย่างละสองเส้น คับ

มีคนให้คำตัวได้ไม

Thaiheng

  • Newbie
  • *
  • กระทู้: 7
    • ดูรายละเอียด
    • อีเมล์
Re: วิธีแก้ปัญหา DNS กับระบบ MultiWAN Server
« ตอบกลับ #7 เมื่อ: 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 ต้องเข้าไปเซ็ต ตรงไหนหรอครับ