У меня 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, это будет очень полезно. Или если ядро придется пересобирать с другими опциями?