История изменений
Исправление nstorm, (текущая версия) :
Наверное как-то так. Не проверяю, набрасываю прямо тут без проверки. Т.е. пример может быть и не рабочим, дальше сами :)
iptables -t mangle -A PREROUTING -m set --set ra src -j CONNMARK --set-mark 0x1 iptables -t mangle -A PREROUTING m set --set rb src -j CONNMARK --set-mark 0x2 iptables -t mangle -A PREROUTING -j CONNMARK --restore-mark iptables -N RA iptables -N RB iptables -A FORWARD -m connmark --mark 0x1 -j RETURN iptables -A FORWARD -m connmark --mark 0x2 -j RETURN iptables -A FORWARD -m statistic --mode random --probability 0.5 -j RA iptables -A FORWARD -j RB iptables -A RA -j SET --add-set ra src iptables -A RA -j CONNMARK --set-mark 0x1 iptables -A RB -j SET --add-set rb src iptables -A RB -j CONNMARK --set-mark 0x2 ip rule add fwmark 0x1 lookup ra ip rule add fwmark 0x2 lookup rb
Ес-но в ядре должна быть поддержка ipset.
Исходная версия nstorm, :
Наверное как-то так. Не проверяю, набрасываю прямо тут без проверки. Т.е. пример может быть и не рабочим, дальше сами :)
<pre> iptables -t mangle -A PREROUTING -m set --set ra src -j CONNMARK --set-mark 0x1 iptables -t mangle -A PREROUTING m set --set rb src -j CONNMARK --set-mark 0x2 iptables -t mangle -A PREROUTING -j CONNMARK --restore-mark
iptables -N RA iptables -N RB
iptables -A FORWARD -m connmark --mark 0x1 -j RETURN iptables -A FORWARD -m connmark --mark 0x2 -j RETURN iptables -A FORWARD -m statistic --mode random --probability 0.5 -j RA iptables -A FORWARD -j RB
iptables -A RA -j SET --add-set ra src iptables -A RA -j CONNMARK --set-mark 0x1
iptables -A RB -j SET --add-set rb src iptables -A RB -j CONNMARK --set-mark 0x2
ip rule add fwmark 0x1 lookup ra ip rule add fwmark 0x2 lookup rb </pre>
Ес-но в ядре должна быть поддержка ipset.