ฉันมี Ubuntu 18.04 ที่ทำงานบนอุปกรณ์ Nvidia Tegra X1 (ตัวประมวลผล armv8 rev1 (v8l)) (ระบบมอบให้ฉันทำงาน) ฉันได้สร้างเครือข่ายกับมันแล้ว และอุปกรณ์ทำงานเป็นเราเตอร์ ตอนนี้ฉันต้องการเพิ่มคลาส DSCP ให้กับแพ็กเก็ตที่อุปกรณ์นี้ส่งต่อ
แต่เมื่อฉันทำ
sudo iptables -t mangle -A FORWARD -d 192.168.x.x -p udp --dport xxxx -j DSCP --set-dscp-class EF
,
มันทำให้ฉัน iptables:ไม่มีเชน/เป้าหมาย/ตรงกับชื่อนั้น
ข้อผิดพลาด.
ตอนนี้ฉันตรวจสอบแล้วว่าส่วนใดของคำสั่งทำให้ฉันมีข้อผิดพลาดโดยการทดสอบทีละรายการ -p อู๊ด
, -d 192.168.x.x
และ -j DSCP
และปรากฎว่า -j DSCP --set-dscp-คลาส EF
สร้างข้อผิดพลาด
ฉันยังตรวจสอบโมดูล iptable ที่โหลดตาม ถึง นี้.
แมว /proc/net/ip_tables_match
ให้ conntrack, conntrack, conntrack, addrtype, udplite,udp, tcp, addrtype, icmp
.
& แมว /proc/net/ip_tables_targets
ให้ สวมหน้ากาก ข้อผิดพลาด
เท่านั้น. เมื่อฉันทำคำสั่งเป้าหมายบนแล็ปท็อป Ubuntu 16 หรือ 14 อื่น ๆ พวกเขาจะแสดง ทีโอเอส, ดีเอสซีพี
นอกจาก ข้อผิดพลาด สวมหน้ากาก
. ฉันคิดว่านี่หมายความว่าเป้าหมายสำหรับ iptables บนเครื่อง Ubuntu 18 ไม่ได้ตั้งค่าสำหรับ DSCP
แต่ตาม ถึง นี้, iptables -j DSCP -h
แสดงตัวเลือกเป้าหมายที่เป็นไปได้ ซึ่งหมายความว่า iptables ควรจะกำหนดเป้าหมาย DSCp ได้โดยไม่มีข้อผิดพลาดใดๆ
ฉันยังพบ นี้ และเมื่อฉันพยายามที่จะทำ grep -i NETFILTER_XT_TARGET_DSCP /boot/config-4.9.201-tegra
, มันบอกว่า /boot/config-4.9.201-tegra: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว
. และฉันไม่รู้ว่าไฟล์ปรับแต่งอยู่ที่ไหนใน nvidia modified ubuntu
ถ้าใครรู้ว่าจะเพิ่มเป้าหมาย DSCP ใน iptables ได้อย่างไร มันจะมีประโยชน์มาก หรือถ้าเคอร์เนลจะต้องสร้างใหม่ด้วยตัวเลือกอื่น