Помогите понять одну вещь.
Вот допустим я создаю две дополнительные таблицы маршрутизации, чтобы часть трафика пускать через другие шлюзы следующим образом:
ip route add default table 2 via 10.68.*.* dev eth0
ip rule add fwmark 2 table 2
ip route add default table 3 via 100.127.*.* dev ppp0
ip rule add fwmark 3 table 3
Где должны маркироваться пакеты при условии, что роутится через 3 таблицы должен как локальный трафик, так и проходящий.
Что-то подсказывает, что правила MARK должны быть одновременно в mangle-PREROUTING и mangle-OUTPUT, но вот открываю схему прохождения пакетов
https://upload.wikimedia.org/wikipedia/ru/thumb/f/f4/Iptables-traversal.svg/8... и вижу, что для проходящих пакетов перед routing decision находится сразу после mangle-PREROUTING, так что всё должно быть верно. А вот для локальных routing decision стоит перед mangle-OUTPUT так что похоже оно так не взлетит. Как же тогда правильно?