iptables+CONNMARK [solved]

Есть трабла пакеты не хотят маркироваться...
Ядро пересобрал в соответсвии с мануалом.

Модуль подгружен

lsmod | grep conn
xt_connmark             1884  9 
nf_conntrack_ipv4      11524  18 iptable_nat,nf_nat
nf_conntrack           58908  7 ipt_MASQUERADE,xt_connmark,xt_CONNMARK,xt_state,iptable_nat,nf_nat,nf_conntrack_ipv4
nf_defrag_ipv4          1636  1 nf_conntrack_ipv4
x_tables               13816  8 ipt_MASQUERADE,xt_connmark,xt_CONNMARK,xt_state,xt_multiport,xt_tcpudp,iptable_nat,ip_tables

Код скрипта.

#!/bin/bash
IPT=/sbin/iptables
IPTS=/sbin/iptables-save
IPTR=/sbin/iptables-restore
LOC="eth1"	# lolal net 
PR1="eth0"	# пров 1
PR2="eth2"	# пров 2
$IPT -F
$IPT -t nat -F
$IPT -t mangle -F
#$IPTR -c /etc/iptables
# ICMP
$IPT -A INPUT -p icmp -j ACCEPT
# ssh
$IPT -A INPUT -p tcp --dport 22 -j ACCEPT
#IPSEC
$IPT -A INPUT -p esp -j ACCEPT
$IPT -A INPUT -p ah -j ACCEPT
$IPT -A INPUT -p gre
# NTP Network Time
$IPT -A INPUT -p udp -i eth1 --dport 123 -j ACCEPT
# Squid 
$IPT -A INPUT -p tcp -i eth1 --dport 3128 -j ACCEPT
# DNS 
$IPT -A INPUT -p tcp -i eth1 --dport 53 -j ACCEPT
$IPT -A INPUT -p udp -i eth1 --dport 53 -j ACCEPT
$IPT -A INPUT -i eth1 -p tcp -m tcp --dport 3128 -j ACCEPT
$IPT -A INPUT -d 224.0.0.251 -p udp -m udp --dport 5353 -j ACCEPT
$IPT -A INPUT -p udp -m udp --dport 631 -j ACCEPT
$IPT -A INPUT -p tcp -m tcp --dport 631 -j ACCEPT
$IPT -A INPUT -p udp -m udp -m multiport --ports 500,4500 -j ACCEPT
$IPT -A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -j ACCEPT
$IPT -A INPUT -p tcp -m tcp --dport 10000 -m state --state NEW -j ACCEPT
$IPT -A INPUT -p tcp -m tcp --dport 80 -m state --state NEW -j ACCEPT
$IPT -A INPUT -p tcp -m tcp --dport 443 -m state --state NEW -j ACCEPT
$IPT -A INPUT -p tcp -m tcp --sport 25 -m state --state NEW -j DROP
$IPT -A INPUT -p tcp -m tcp --dport 1723 -j ACCEPT
$IPT -A INPUT -s 10.0.0.240 -j ACCEPT
$IPT -A INPUT -d 10.0.0.240 -j ACCEPT
# Bootstrap Protocol Server
$IPT -A INPUT -p udp -m udp -m multiport --ports 67 -j ACCEPT
$IPT -A INPUT -p udp -m udp -m multiport --ports 68 -j ACCEPT
# Mark
$IPT -t mangle -A PREROUTING -s 10.0.0.0/24 -d $IP_ADDR -j MARK --set-mark 1
$IPT -t mangle -A PREROUTING -s 10.0.0.0/24 -d $IP_ADDR -j CONNMARK --save-mark
#
$IPT -A FORWARD -s 192.168.0.0/24 -d 10.0.0.0/24 -j ACCEPT
$IPT -A FORWARD -s 192.168.1.0/24 -d 10.0.0.0/24 -j ACCEPT
$IPT -A FORWARD -s 192.168.2.0/24 -d 10.0.0.0/24 -j ACCEPT
$IPT -A FORWARD -s 192.168.3.0/24 -d 10.0.0.0/24 -j ACCEPT
$IPT -A FORWARD -s 192.168.4.0/24 -d 10.0.0.0/24 -j ACCEPT
$IPT -A FORWARD -s 192.168.5.0/24 -d 10.0.0.0/24 -j ACCEPT
$IPT -A FORWARD -s 192.168.6.0/24 -d 10.0.0.0/24 -j ACCEPT
$IPT -t mangle -A OUTPUT -s 10.0.0.0/24 -j CONNMARK --restore-mark
$IPT -A FORWARD -i eth1 -o eth0 -m connmark --mark 1 -j ACCEPT
$IPT -A FORWARD -i eth1 -o eth2 -j ACCEPT
#
#
$IPT -t nat -A POSTROUTING -s 10.0.0.0/24 -d 192.168.0.0/24 -m connmark --mark 1 -j SNAT --to-source 10.0.0.200
$IPT -t nat -A POSTROUTING -s 10.0.0.0/24 -d 192.168.1.0/24 -m connmark --mark 1 -j SNAT --to-source 10.0.0.200
$IPT -t nat -A POSTROUTING -s 10.0.0.0/24 -d 192.168.2.0/24 -m connmark --mark 1 -j SNAT --to-source 10.0.0.200
$IPT -t nat -A POSTROUTING -s 10.0.0.0/24 -d 192.168.3.0/24 -m connmark --mark 1 -j SNAT --to-source 10.0.0.200
$IPT -t nat -A POSTROUTING -s 10.0.0.0/24 -d 192.168.4.0/24 -m connmark --mark 1 -j SNAT --to-source 10.0.0.200
$IPT -t nat -A POSTROUTING -s 10.0.0.0/24 -d 192.168.5.0/24 -m connmark --mark 1 -j SNAT --to-source 10.0.0.200
$IPT -t nat -A POSTROUTING -s 10.0.0.0/24 -d 192.168.6.0/24 -m connmark --mark 1 -j SNAT --to-source 10.0.0.200
$IPT -t nat -A POSTROUTING -m connmark --mark 1 -j MASQUERADE
$IPT -t nat -A POSTROUTING -o eth2 -j MASQUERADE
#
#

Все лыжи были решены, косяк в переменной $IP_ADDR

Кста готовый скрипт разделения трафика

по мотивам....
http://forum.interzet.ru/index.php?showtopic=24998&mode=threaded