История изменений
Исправление vel, (текущая версия) :
Создаем набор с опцией skbinfo
ipset create xxx hash:ip --skbinfo
#добавляем адрес с меткой
ipset -A xxx 10.0.0.1 skbmark 0x10
ipset -A xxx 10.0.0.2 skbmark 0x10
ipset -A xxx 10.0.0.5 skbmark 0x11 skbprio 1:11
#где-то в iptables
iptables -t mangle -A .... -j SET --map-set xxx src --map-mark
#Если src пакета есть в наборе, то пакет будет с меткой из набора.
#Если нужно маркировать conntrack то добавляем
iptables -t mangle -A .... -m mark ! --mark 0 -j CONNMARK --save-mark
кроме метки пакета можно задавать класс для шейпера через
iptables -t mangle -A .... -j SET --map-set xxx src --map-prio
Там много типов наборов, в т.ч. «hash:net,iface»
ipset create ccc hash:net,iface --skbinfo
ipset add ccc 0.0.0.0/0,ppp0 skbmark 0x20
ipset add ccc 0.0.0.0/0,ppp1 skbmark 0x21
Исходная версия vel, :
Создаем набор с опцией skbinfo
ipset create xxx hash:ip --skbinfo
#добавляем адрес с меткой
ipset -A xxx 10.0.0.1 skbmark 0x10
ipset -A xxx 10.0.0.2 skbmark 0x10
ipset -A xxx 10.0.0.5 skbmark 0x11
#где-то в iptables
iptables -t mangle -A .... -j SET --map-set xxx src --map-mark
#Если src пакета есть в наборе, то пакет будет с меткой из набора.
#Если нужно маркировать conntrack то добавляем
iptables -t mangle -A .... -m mark ! --mark 0 -j CONNMARK --save-mark
кроме метки пакета можно задавать класс для шейпера через
iptables -t mangle -A .... -j SET --map-set xxx src --map-prio
Там много типов наборов, в т.ч. «hash:net,iface»
ipset create ccc hash:net,iface --skbinfo
ipset add ccc 0.0.0.0/0,ppp0 skbmark 0x20
ipset add ccc 0.0.0.0/0,ppp1 skbmark 0x21