Александр, спасибо за интересное решение! Попробовал его реализовать, но в моем случае я пытаюсь завернуть трафик приложения не в VPN туннель, а во второго провайдера. У меня на одном порту через CLI на разных VLAN настроены два провайдера.
В выводе ifconfig они отображаются как eth3.10 и eth3.20 соответственно, при этом eth3.10 имеет бОльший приоритет, он основной. Сделал все в точности по инструкции, указал во втором скрипте интерфейс eth3.20.
По диагностике tcpdump не нулевой, ip rule list правило выдает
Маршрут так же есть
~ # ip route list table 1001
default dev eth3.20 scope link
Правило netfilter тоже есть
~ # iptables-save | grep dscp
-A PREROUTING -i br0 -m dscp --dscp 0x3f -j MARK --set-xmark 0x1/0xffffffff
Но при этом траффик все равно упорно идет через основного провайдера на интерфейсе eth3.10
Второй провайдера работает, настроен верно, если перекинуть хост в другую политику, он работает через провайдера eth3.20
Не знаете, в чем может быть дело? В какую сторону копать? Маскирование получается работает, просто почему-то не заворачивается траффик в нужный интерфейс