Tôi có Ubuntu 18.04 chạy trên thiết bị Nvidia Tegra X1 (bộ xử lý armv8 rev1 (v8l)) (hệ thống được giao cho tôi để làm việc). Tôi đã tạo một mạng với nó và thiết bị hoạt động như một bộ định tuyến. Bây giờ tôi muốn thêm lớp DSCP vào các gói đang được thiết bị này chuyển tiếp.
Nhưng khi tôi làm
sudo iptables -t mangle -A FORWARD -d 192.168.x.x -p udp --dport xxxx -j DSCP --set-dscp-class EF
,
Nó đưa cho tôi iptables:Không có chuỗi/mục tiêu/khớp với tên đó
lỗi.
Bây giờ tôi đã kiểm tra phần nào của lệnh gây ra lỗi cho tôi bằng cách kiểm tra riêng lẻ -p udp
, -d 192.168.x.x
và -j DSCP
và hóa ra -j DSCP --set-dscp-class EF
tạo ra lỗi.
Tôi cũng kiểm tra những mô-đun iptable nào được tải vào acc. đến cái này.
mèo /proc/net/ip_tables_matches
cho conntrack, conntrack, conntrack, addrtype, udplite,udp, tcp,adrtype, icmp
.
& mèo /proc/net/ip_tables_target
cho GIẢ MẠO, LỖI
chỉ có. Khi tôi thực hiện lệnh nhắm mục tiêu này trên các máy tính xách tay Ubuntu 16 hoặc 14 khác, chúng sẽ hiển thị ĐKDV, DSCP
ngoài ra LỖI, GIẢ MẠO
. Tôi cho rằng điều này có nghĩa là mục tiêu cho iptables trên máy ubuntu 18 không được đặt cho DSCP.
Nhưng acc. đến cái này, iptables -j DSCP -h
hiển thị các tùy chọn mục tiêu có thể có, điều đó có nghĩa là iptables sẽ có thể nhắm mục tiêu DSCp mà không có bất kỳ lỗi nào.
tôi cũng tìm thấy cái này và khi tôi cố gắng làm grep -i NETFILTER_XT_TARGET_DSCP /boot/config-4.9.201-tegra
, nó nói rằng /boot/config-4.9.201-tegra: Không có tệp hoặc thư mục như vậy
. Và tôi không biết tập tin cấu hình hiện diện ở đâu trong Ubuntu đã sửa đổi của nvidia.
Nếu có ai biết cách thêm mục tiêu DSCP vào iptables, điều đó sẽ rất hữu ích. Hoặc nếu kernel sẽ phải được xây dựng lại với các tùy chọn khác nhau?