Здравствуйте, заранее извеняюсь если вопрос уже обсуждался,но всеже.
Задача: разделить трафик по 2 каналам(земля и спутник).
Т.к. список ип которые должных ходить по земле постоянно меняется, то прописывать в таблицу роутинга не хочеться, прочитал что можно разрулить это операясь на метки.
Мечу пакеты в iptables
$1 - это ип получателя
$mark_eath - метка для земли
$mark_sate - метка для спутника
$t -A PREROUTING -t mangle -d $1 -j MARK --set-mark $mark_eath # for forward
$t -A OUTPUT -t mangle -d $1 -j MARK --set-mark $mark_eath # for output
$t -A PREROUTING -t mangle -d $1 -j MARK --set-mark $mark_sate # for forward
$t -A OUTPUT -t mangle -d $1 -j MARK --set-mark $mark_sate # for output
В iproute2 добавил 2 таблицы
#Id Name
220 eath.out
221 sate.out
Прописываю правила для меток
ip rule add fwmark $mark_eath table 220
ip rule add fwmark $mark_sate table 221
Добавляю дефолтный роутинг
$ip_gw_eath - шлюз по земле
$ip_gw_sate - шлюз по спутнику
$eth_eath ,$eth_sat_out - интерфейсы земли и спутника соответственно
ip route add default via $ip_gw_eath dev $eth_eath table 220
ip route add default via $ip_gw_sate dev $eth_sat_out table 221
Дефолтный роутинг в основной таблице стоит через спутник, и с ним впринципе проблем нет(метки на спутник изночально хотел отдельно роутить ну и считаю трафик по меткам:))
Но трафик по земле идти не хочет, судя по стату iptables пакеты метятся, и судя что они не идут через спутник, значит попадают в нужную таблицу роутинга но почему от туда не выходят.... незнаю уже голову сломал,хотя может они и выходят, даже скорее всего судя на стат фаера, но тогда почему не приходят обратно, хотя фаер все пропускает:( помогите плиз, а то голову уже сломал..
Заранее спасибо!