LINUX.ORG.RU

История изменений

Исправление vel, (текущая версия) :

У каждого аплинка своя заданная метка на основе номера таблицы маршрутизации в rt_tables.

Вся маркировка пакетов/соединений и классификация может быть сделана через ipset

Ну я не совсем понимаю надобность некоторых действий

-A PREROUTING_MARK -m set --match-set vlan7_257 src -j vlan7_257_mark
...
-A vlan7_257_mark -j SET --add-set vlan7_257 src --exist
в vlan7_257_mark мы попадаем из-за "-m set --match-set vlan7_257 src"

Зачем еще пытаться добавить в vlan7_257 src ? Или там есть timeout ?

А зачем в этой конструкции что-то изменять в iptables ? тут же все статика!

Есть полезный match «condition» из xtables-addons. При вкл/откл интерфейса достаточно изменять соответствующий «condition», а в iptables добавить эту проверку. Типа

-A PREROUTING_BALANCING -m condition --condition ppp1_on \
  -m statistic --mode random --probability 0.11111111101 -j ppp1_259
при подъеме ppp1 в proc/net/nf_condition/ppp1_on пишем 1, а при выключении пишем туда 0.

или проверять состояние интерфейса при помощи iface из xtables-addons.

Исходная версия vel, :

У каждого аплинка своя заданная метка на основе номера таблицы маршрутизации в rt_tables.

Вся маркировка пакетов/соединений и классификация может быть сделана через ipset

Ну я не совсем понимаю надобность некоторых действий

-A PREROUTING_MARK -m set --match-set vlan7_257 src -j vlan7_257_mark
...
-A vlan7_257_mark -j SET --add-set vlan7_257 src --exist
в vlan7_257_mark мы попадаем из-за "-m set --match-set vlan7_257 src"

Зачем еще пытаться добавить в vlan7_257 src ? Или там есть timeout ?

А зачем в этой конструкции что-то изменять в iptables ? тут же все статика!

Есть полезный match «condition» из xtables-addons. При вкл/откл интерфейса достаточно изменять соответствующий «condition», а в iptables добавить эту проверку. Типа

-A PREROUTING_BALANCING -m condition --condition ppp1_on \
  -m statistic --mode random --probability 0.11111111101 -j ppp1_259
при подъеме ppp1 в proc/net/nf_condition/ppp1_on пишем 1, а при выключении пишем туда 0.