У меня 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.xx
и -j DSCP
и оказывается -j DSCP --set-dscp-класс EF
выдает ошибку.
Я также проверяю, какие модули iptable загружены в соотв. к это.
кот /proc/net/ip_tables_matches
дает conntrack, conntrack, conntrack, тип адреса, udplite, UDP, TCP, тип адреса, ICMP
.
& кот /proc/net/ip_tables_targets
дает МАСКАРАД, ОШИБКА
Только. Когда я делаю эту команду target на других ноутбуках 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 Ubuntu.
Если кто-нибудь знает, как можно добавить цель DSCP в iptables, это будет очень полезно. Или если ядро придется пересобирать с другими опциями?