Это старая проблема. Вам нужно знать, как ваш дистрибутив обрабатывает модуль ядра netfilter. Иногда он загружается, и уловка состоит в том, чтобы создать правило, чтобы отметить их все, а затем разбить его. Цепочка выжимок довольно хитрая.
Добавьте это в качестве первого правила отметки:
iptables -t mangle -A POSTROUTING -m physdev --physdev-out interface-name -j MARK --set-mark 10
Вторая проблема заключается в том, что ваш дистрибутив может не компилировать и / или не загружать модуль ядра xt_mark
. Используйте lsmod | grep xt_mark
, чтобы проверить, есть ли он там.
Иногда у меня возникают проблемы с OVS и iptables. Я считаю iptables отличным инструментом для 90-х, но мне кажется, что в наши дни он уже устарел. «Проверить, как ваш дистрибутив обрабатывает модуль netfilter» очень важен для понимания вашей проблемы.
Если вы просто хотите пометить свои пакеты, а iptables не имеет другого назначения, вы можете использовать инструмент OVS под названием ovs-ofctl с опцией pkt_mark
.
Попробуйте сначала sudo apt update
или подобное, даже если он должен быть обновлен.
Помогло в моем случае.