เฟิร์มแวร์เราเตอร์ dd-wrt การแก้ไขปัญหา QoS


18

ฉันใช้เฟิร์มแวร์dd-wrtกับเราเตอร์ของฉันและฉันชอบมันมาก!

แต่ - ฉันไม่แน่ใจว่าคุณภาพของการบริการ (QoS) กำลังทำงานอยู่หรือไม่ ฉันได้ตั้งค่าดังต่อไปนี้:

  • http, พอร์ต 80 - พรีเมียม
  • bittorrent พอร์ต 6969 - จำนวนมาก
  • https, พอร์ต 443 - พรีเมียม
  • dns, พอร์ต 53 - พรีเมี่ยม

ตามเอกสาร QoSระดับเหล่านี้คือ:

แบนด์วิดท์ถูกจัดสรรตามเปอร์เซ็นต์ของค่าอัปลิงค์และดาวน์ลิงค์สำหรับแต่ละคลาส:

  • ยกเว้น: 100mbps - ละเว้นข้อ จำกัด สากล
  • พรีเมี่ยม: 75% - 100%
  • ด่วน: 15% - 100%
  • มาตรฐาน: 10% - 100%
  • เป็นกลุ่ม: 1.5% - 100%

สิ่งนี้ดูเหมือนจะไม่ได้ผลทั้งหมด - ด้วย torrents ที่กำลังยุ่งอยู่ฉันจะหยุดการท่องเว็บครั้งใหญ่ซึ่งมันแย่มาก!

เอกสาร QoSช่วยให้ขั้นตอนบางอย่างเพื่อตรวจสอบ QoS และ ...

สิ่งที่คุณสนใจจะดูคือชุดแรกของ IP ต้นทางและปลายทางรวมถึงหมายเลขพอร์ต ถัดไปการปรากฏตัวของ l7proto และฟิลด์ "เครื่องหมาย" รายการบ่งชี้ถึงลำดับความสำคัญของการเชื่อมต่อสดปัจจุบัน QoS ที่ใช้กับพวกเขาขึ้นอยู่กับฟิลด์ "เครื่องหมาย" ค่า "mark" สอดคล้องกับสิ่งต่อไปนี้

  • ยกเว้น: 100
  • พรีเมี่ยม: 10
  • ด่วน: 20
  • มาตรฐาน: 30
  • จำนวน: 40
  • (ไม่พบ QoS): 0

คุณอาจเห็น "mark = 0" สำหรับบริการ l7proto บางรายการแม้ว่าจะอยู่ในการกำหนดค่าในรายการของกฎ QoS นี่อาจหมายความว่าระบบจับคู่รูปแบบเลเยอร์ 7 ไม่ตรงกับส่วนหัวใหม่หรือที่เปลี่ยนแปลงสำหรับโปรโตคอลนั้น บริการที่กำหนดเองในการจับคู่พอร์ตมักจะดูแลสิ่งเหล่านี้

ที่พอร์ต 6969 (bittorrent) ฉันเห็นสิ่งแปลก ๆ ผสมกับmark=0และmark=40อย่างนั้น

cat / proc / net / ip_conntrack

udp 17 105 src = 98.162.182.42 dst = 1.2.3.4 sport = 64512 dport = 6969 แพ็คเก็ต = 3 ไบต์ = 290 src = 10.0.0.2 dst = 98.162.182.42 กีฬา = 6969 dport = 64512 แพ็ค = 4 ไบต์ = 202 [ASSURED] mark = 0 secmark = 0 use = 1
tcp 6 117 TIME_WAIT src = 98.248.173.174 dst = 1.2.3.4 sport = 51114 dport = 6969 แพ็คเก็ต = 12 ไบต์ = 704 src = 10.0.0.2 dst = 98.248.173.174 กีฬา = 6969 dport = 51114 แพ็คเก็ต = 10 bytes = 440 ] mark = 40 secmark = 0 use = 1
tcp 6 598 sabc = 165.132.128.201 ที่ถูกสร้างขึ้น dst = 1.2.3.4 sport = 57218 dport = 6969 แพ็คเก็ต = 8069 ไบต์ = 8019 ไบต์ = 9919881 src = 10.0.0.2 dst = 165.132.128.201 กีฬา = 6969 dport = 57218 แพ็กเกจ = 4211 bytes ] mark = 0 secmark = 0 use = 1
tcp 6 586 ESTABLISHED src = 68.46.9.24 dst = 1.2.3.4 sport = 64688 dport = 6969 แพ็คเก็ต = 6 ไบต์ = 490 src = 10.0.0.2 dst = 68.46.9.24 กีฬา = 6969 dport = 64688 แพ็ค = 8 bytes = 944 ] mark = 40 secmark = 0 use = 1
udp 17 45 src = 222.254.228.38 dst = 1.2.3.4 sport = 25438 dport = 6969 แพ็คเก็ต = 5 ไบต์ = 454 src = 10.0.0.2 dst = 222.254.228.38 กีฬา = 6969 dport = 25438 แพ็กเก็ต = 3 ไบต์ = 154 [154] mark = 0 secmark = 0 use = 1

(ไฟล์เต็มสามารถดูได้ที่http://pastebin.com/AZE6EtWm )

ฉันได้เล่นกับบันทึกนี้มาซักพักหนึ่งแล้วและฉันไม่เห็นรูปแบบใด ๆ เลย!

ทำไมบางพอร์ต 6969 bittorrent ปริมาณแท็กmark=0(ไม่ตรง) โดย QoS ของ dd-wrt ในขณะที่คนอื่นถูกแท็กmark=40(เป็นกลุ่ม) .. ความคิดใด ๆ


5
ควรติดอยู่กับเราเตอร์เก่าของคุณ: P ... ฉันไม่คิดว่าคำถามมากมายที่นี่จะได้รับการดูมากกว่า 15 ครั้งในช่วงสุดสัปดาห์ ... คุณโพสต์ลิงค์ใน Twitter ของคุณและรับมากกว่า 150 ในไม่กี่นาที!
William Hilsum

สิ่งนี้ไม่เกี่ยวข้องกับหัวข้อคำถามของคุณทั้งหมด แต่ฉันอยากรู้ ISP ของคุณมีแบนด์วิดธ์แบบใดให้คุณ
กา

1
ฉันยังพบไร้สายบนเราเตอร์ linksys ของฉัน (ใช้งาน DD-WRT v24-sp2 (04/23/10) ขนาดเล็ก) ก็ไม่สม่ำเสมอพร้อมกับ QoS คุณได้ลองสร้างทางเลือกของ dd-wrt สำหรับเราเตอร์ของคุณหรือมีเพียงตัวเดียว?
chunkyb2002

3
คุณได้อัพเดตค่าการหมดเวลา TCP และ UDP แล้วหรือยัง ควรเปลี่ยนจากค่าเริ่มต้นดังนั้นคุณจึงไม่พบปัญหาเกี่ยวกับจำนวนการเชื่อมต่อสูงสุด แต่นั่นจะไม่ส่งผลกระทบต่อปัญหา QoS ของคุณ
Joe

1
@ BlueRaja ใช่ในที่สุดฉันก็ซื้อ Asus rt-n16 และใช้มะเขือเทศกับมันตอนนี้
Jeff Atwood

คำตอบ:


8

แม้ว่าจะเป็นเพียงปริมาณการใช้ข้อมูลขาออกแต่คุณอาจพบว่าสคริปต์ QoS ที่ยอดเยี่ยมนี้ ( mirror บน pastebin ) บนบล็อกของ Alex Rice มีประโยชน์ มันผ่านหลายผู้เขียนและสาขา ให้แน่ใจว่าได้ตั้งค่า UPLINK รวมถึง DEV อย่างถูกต้อง สำหรับฉันค่าเริ่มต้นสำหรับ DEV ไม่ถูกต้องให้ใช้ความเห็น$(nvram get wan_ifname)แทนหรือค่าที่ถูกต้องจากการดำเนินการnvram get wan_iframeผ่าน SSH

นอกจากการใช้งานคุณสามารถทำซ้ำการกำหนดค่าภายใน QoS GUI คุณจะเห็นว่ามันใช้ 1024: 65535 สำหรับการเข้าชมจำนวนมากพร้อมการตั้งค่าอื่น ๆ (80,22,3389 ฯลฯ ) ที่มีความน่าสนใจ สคริปต์ทำงานได้ดีสำหรับฉันและใช้ HFSC ตามที่แนะนำ


นอกจากนี้หากคุณไม่ได้ใช้สคริปต์คุณอาจพบข้อบกพร่องที่เกี่ยวข้องสำหรับรุ่นของคุณ

ตัวอย่างเช่น: QoS ตั้งค่าเป็น WAN ส่งปริมาณการรับส่งข้อมูลไปยังคิว downlink
จากนั้นตระหนักถึงการแก้ไขนี้ล้มเหลวเพราะ: คำสั่งในสคริปต์ rc_firewall ไม่ได้ใช้ใน QoS

คุณสามารถแก้ไขปัญหาด้วยสคริปต์ที่ดำเนินการหลังจาก rc_firewallตามที่ระบุไว้ในตั๋ว ฉันลงเอยด้วยการเปิดใช้งาน JFFS เป็นการส่วนตัวและวางสคริปต์ด้วยการแก้ไข/jffs/etc/config/qos.ipupเช่นเดียวกับที่กล่าวถึง

ผมพบว่ามันสะดวกในการใช้คิตตี้และWinSCP คุณสามารถ SSH เข้าไปในเราเตอร์ที่มี KiTTY เพื่อแก้ไขปัญหา / ตรวจสอบเช่นเดียวกับตั๋วใบแรกและเปิดใช้งานการเรียกดูไฟล์บนเราเตอร์โดยตรงด้วยStart WinSCPคำสั่งภายใต้ไอคอนซ้ายบนของ KiTTY หากสิ่งนี้ล้มเหลว (เราเตอร์ไม่ได้ใช้ SFTP ตามค่าเริ่มต้น) คุณสามารถเปิดใช้งาน FTP และเชื่อมต่อด้วยตนเองหรือเพียงแค่เพิ่มไฟล์ด้วยคำสั่ง Unix อย่าลืมตั้งค่าให้เจ้าของดำเนินการอนุญาตบนสคริปต์


มันยอดเยี่ยมมากและฟังดูมีแนวโน้มมาก ฉันชอบ dd-wrt และมันก็ดูเหมือนว่ามันใกล้เคียงกับการทำงาน ..
Jeff Atwood

3
ฉันควรพูดถึง torrents และเช่นนั้นคุณจะต้องการ TCP หมดเวลาถึง 10 นาที (ค่าเริ่มต้นคือ 60!) ควรเตะ QoS ในเร็วเกินไป
Christopher Galpin

ลิงก์ไปยังเว็บไซต์ของ Alex Rice ไม่ทำงาน มีลิงค์ทางเลือกอื่นหรือไม่?
EightyEight

1
@eighty ฉันเพิ่มกระจก pastebin ลงในโพสต์
Jeff Atwood

KiTTY ก็ดูน่าสนใจเช่นกัน (โดยเฉพาะอย่างยิ่งเพราะมันสามารถเสนอ [การทดลอง] การรวม ZModem)
Randolf Richardson

13

ฉันสังเกตเห็นว่าผู้คนจำนวนมากบ่นเกี่ยวกับ QoS ที่ไม่ได้ทำงานใน DD-WRT ดังนั้นพวกเขาจึงเปลี่ยนมาใช้ Tomato แทน มันใช้งานได้ดีในมะเขือเทศ (ฉันใช้) มะเขือเทศยังมีกราฟที่ดีมากซึ่งมีประโยชน์สำหรับการปรับการตั้งค่า QoS ของคุณ

ข้อเสียของ Tomato เทียบกับ DD-WRT คือมันมีคุณสมบัติที่น้อยกว่าแม้ว่าจะมี mod บางตัวที่เพิ่มบางอย่างเช่นที่เก็บข้อมูล USB และ OpenVPN อย่างไรก็ตามดังที่ Jeff Atwood กล่าวถึงด้านล่างรองรับชิปเซ็ต Broadcom เท่านั้น

ฉันใช้เท็ดดี้แบร์ mod ใน Netgear WNR3500L ของฉัน ตอนนี้ฉันใช้ Toastman mod ซึ่งเป็นพื้นฐานของเท็ดดี้แบร์พร้อมคุณสมบัติเพิ่มเติมและคลาส QoS เริ่มต้นที่ดีกว่าซึ่งใช้งานได้กับคนส่วนใหญ่

โดยส่วนตัวสิ่งเดียวที่ฉันขาดหายไปใน Tomato คือการรองรับ VLAN และการออกอากาศหลาย SSID (mod ของ Toastman มีทั้งตอนนี้และ Captive Portal สำหรับ SSID สำรอง)


ตกลง มะเขือเทศนั้นยอดเยี่ยมและ QOS ทำงานได้อย่างยอดเยี่ยม นอกจากนี้ยังเป็นเรื่องง่ายที่จะเปลี่ยนกลับหากคุณไม่ชอบ
MJeffryes

2
มะเขือเทศสำหรับเราเตอร์ที่มีชิป Broadcom เท่านั้น เราเตอร์ที่ฉันมี (Buffalo WZR-HP-G300NH) ใช้ Atheros
Jeff Atwood

ฉันเปลี่ยนมาใช้ Tomato เป็นของตัวเอง (ใน Asus RT-N16) หลังจากเขียนคำตอบแล้วไม่นาน ฉันใช้ตัวดัดแปลงของ Shibbyซึ่งได้รับการปรับปรุงอย่างสม่ำเสมอและยังรวมถึงโครงการเสริม 'TomatoAnon' เพื่อความมั่นคงในการระดมทุนของธุรกิจและอื่น ๆ
Christopher Galpin

2

ฉันได้พบ DD-WRT v24 sp2 build 15362 เพื่อให้เสถียรบน Netgear WNDR3700 v1 BUT ของฉันแม้จะใช้เวลานานมากในการพยายามเซ็ตอัพทั้ง QoS และ TCP Vegas (การควบคุมความแออัด) ดูเหมือนว่ากลไกจะไม่ทำงานบนเฟิร์มแวร์ที่ยอดเยี่ยมนี้ สำหรับทราฟฟิกขาเข้า (ฉันไม่ต้องการการควบคุมขาออกเนื่องจากฉันไม่ได้ใช้ VOIP)

ตัวอย่างเช่นไม่ว่าตัวเลือกใด (Mac Control, Netmask, Service Control) ฉันใช้ในการพยายามจัดลำดับความสำคัญของการรับส่งข้อมูลวิดีโอขาเข้าและยกเลิกการจัดลำดับความสำคัญปริมาณการรับส่งข้อมูลฝนตกหนักบิตขาเข้า ฉันยืนยันเรื่องนี้ด้วย

Bottom Line: ใช้ DD-WRT หากคุณต้องการคุณสมบัติอื่น ๆ ทั้งหมด (โดยเฉพาะการออกอากาศของ SSIDs muliple) แต่ใช้Tomatoหากคุณมีชิปเซ็ตที่ใช้งานได้ (Tomato ไม่สามารถใช้งานได้กับ Atheros ที่ใช้ WNDR3700) และชอบคุณสมบัติ QoS


2
ฉันไม่คิดว่า QoS ขาเข้ามีจุดประสงค์ที่จะทำงาน - ฉันจำได้ว่าอ่านข้อความนี้ที่ไหนสักแห่ง ในที่สุดฉันก็จบลงที่จะเปลี่ยนเป็นAsus RT-N16และ Tomato
Jeff Atwood

@Jeff ปัญหาในการเปลี่ยน QoS เป็นสาเหตุหรือไม่
Piotr Dobrogost

@piotr บางส่วน แต่ฉันได้รับการแก้ไขส่วนใหญ่ตามคำตอบของฉัน - ฉันแค่อยากลองมะเขือเทศเป็นส่วนใหญ่ซึ่งมี QoS ที่ทำงานนอกกรอบอย่างน้อย
Jeff Atwood

0

ฉันสังเกตเห็นสิ่งเดียวกัน ฉันไม่สามารถหาโพสต์ที่ถูกต้องได้ในขณะนี้ แต่การขุดผ่านฟอรัมหนึ่งใน devs ระบุว่า QoS เนื่องจากใช้งานได้ดีกับการอัปโหลดไม่มากในการดาวน์โหลด เหตุผลที่อยู่เบื้องหลังคือเราเตอร์มีการควบคุมทราฟฟิกที่ออกจากเครือข่าย (อัปลิงค์) แต่ไม่ใช่ทราฟฟิกที่เข้ามาเนื่องจากไม่มีการควบคุมการไหลของข้อมูลที่เข้ามา

ฉันรู้ว่าคุณไม่ใช่แฟนตัวยงของการโพสต์กระทู้ในฟอรัม แต่คุณอาจต้องการโพสต์คำถามของคุณที่นั่น


ถูกต้องและนี่เป็นเรื่องปกติ - เป็นการอัปโหลดที่มักจะมีข้อ จำกัด อยู่แล้ว
Jeff Atwood

4
มันเป็นกรณีเดียวกันกับมะเขือเทศ การ จำกัด การดาวน์โหลดจะหมายถึงการยกเลิกเฟรมและจะไม่เร่งลำดับความสำคัญอื่น ๆ ดังนั้นจึงไม่มีประเด็น
Paradroid
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.