Sorry...
Not mark... connmark...
iptables -t mangle -A PREROUTING -j CONNMARK -i eth0.10 -s 192.168.1.1
-d $firewal_virtual_ip_on_10 --set-mark 1
iptables -t mangle -A PREROUTING -j CONNMARK -i eth0.11 -s 192.168.1.1
-d $firewal_virtual_ip_on_11 --set-mark 2
...
iptables -t nat -A PREROUTING -j DNAT -m connmark --mark 1
--to-destination $firewal_real_ip_on_10
iptables -t nat -A PREROUTING -j DNAT -m connmark --mark 2
--to-destination $firewal_real_ip_on_11
...
iptables -t mangle -A OUTPUT -j CONNMARK -d 192.168.10.1 --set-mark 1
iptables -t mangle -A OUTPUT -j CONNMARK -d 192.168.11.1 --set-mark 2
...
iptables -t nat -A OUTPUT -j DNAT -m connmark ! --mark 0
--to-destination 192.168.1.1
iptables -t mangle -A POSTROUTING -j ROUTE -m connmark --mark 1 --oif
eth0.10
iptables -t mangle -A POSTROUTING -j ROUTE -m connmark --mark 2 --oif
eth0.11
...
iptables -t nat -A POSTROUTING -j SNAT -m connmark --mark 1 --to-source
$firewal_virtual_ip_on_10
iptables -t nat -A POSTROUTING -j SNAT -m connmark --mark 2 --to-source
$firewal_virtual_ip_on_12
...