Помогите пожалуйста разобраться с маршрутизацией по меткам. Имеется 3 провайдера, 3 таблицы для них, префиксы v4 каждого из них метятся метками 1,2,3 и идут по соответствующим им таблицам. Соединения из вне к этим трет интерфейсам провайдеров метятся 4,5,6 и проходят первыми в правилах чтобы ответ пошел по тому же интерфейсу от куда и пришел, так как из вне пробрасываются порты на локальные машины. Как правильно сохранить метку входящих снаружи соединений? Допустим клиент с подсети 2-го провайдера стучится к нам через 3 провайдера, но ответ уходит через 2-го, т.к. все префиксы распиханы по таблицам, а должен уйти так же через 3-ий.
0: from all lookup local
1: from all lookup static
50: from all fwmark 0x4 lookup isp1
51: from all fwmark 0x5 lookup isp2
52: from all fwmark 0x6 lookup isp3
100: from all fwmark 0x1 lookup isp1
101: from all fwmark 0x2 lookup isp2
102: from all fwmark 0x3 lookup isp3
32766: from all lookup main
32767: from all lookup default
$IPT -t mangle -N incoming_connect
$IPT -t mangle -A incoming_connect -d $ISP1_V4 -j CONNMARK --set-mark 1
$IPT -t mangle -A incoming_connect -d $ISP2_V4 -j CONNMARK --set-mark 2
$IPT -t mangle -A incoming_connect -d $ISP3_V4 -j CONNMARK --set-mark 3
$IPT -t mangle -A incoming_connect -i $ISP1_IF -j CONNMARK --set-mark 4
$IPT -t mangle -A incoming_connect -i $ISP2_IF -j CONNMARK --set-mark 5
$IPT -t mangle -A incoming_connect -i $ISP3_IF -j CONNMARK --set-mark 6
$IPT -t mangle -A incoming_connect -j CONNMARK --restore-mark
$IPT -t mangle -I PREROUTING -j incoming_connect