Разделение трафика между шлюзами

Извиняюсь если вопрос уже обсуждался, но так в моей голове и не укладывается логика разделения трафика с помощью pf между 2 разными шлюзами.
сейчас настроен multipath routes

# route add -mpath default 10.130.128.1
# route add -mpath default 10.132.0.1

Но хотелось бы разделить трафик по шлюзам на основе портов, что бы к примеру порт 80 на один шлюз, а на второй 27015.
Или все порты на 1 шлюз кроме 27015 к примеру.
подскажите как это сделать и какими средствами.
очень не удобно получается играть в CS если сервер находится в одной сети провайдера, а route кидает то в ту то в другую под сеть и получается что, то работает, то не работает :(

Аватар пользователя test00

Извиняюсь если


Извиняюсь если вопрос уже обсуждался

Да, похожие вопросы поднимались в топиках:
http://www.obsd.ru/8/?q=node/1705
http://new.obsd.ru/8/?q=node/1632

Только... зачем вам multipath? Оный нужен, чтобы одни и те же пакеты (включая идентичные) могли идти по одному из нескольких маршрутов, в зависимости от нагрузки. Кстати, его не советуют использовать, т.к. wrong way - того же самого часто можно добиться настройкой балансировки между несколькими провайдерами безо всяких mpath, ЕМНИП.

В вашем случае есть "отличие" (порты) между пакетами, который вы хотите слать через разные шлюзы. Создаёте дополнительную таблицу маршрутизации, и, если нужно слать какой-то трафик через иной шлюз, пишете в pf:
pass in from ОТ_КОГО to any port 27015 rtable 1
В 1ой таблице прописываете маршрутизацию через нужный гейт и всё. + См. коменты к топику http://www.obsd.ru/8/?q=node/1705 - там много подобного обсуждалось.
PS Работать это будет с внешним трафиком, транслируемым машиной, но не с её генерируемым внутренним (тот разделить по гейтам посложнее будет).

Аватар пользователя unl0ck2

спасибо за

спасибо за подсказку.

Кстати, его не советуют использовать, т.к. wrong way - того же самого часто можно добиться настройкой балансировки между несколькими провайдерами безо всяких mpath, ЕМНИП.

Почему не советуете?
Какие есть ещё способы балансировки когда не требуется деление по портам?

Аватар пользователя test00

Почему не


Почему не советуете?

Не я не советую, а те, кто писали инструкции/мануалы в инете. Я-то не специалист :) Но как понял, стандартная балансировка нагрузки через altq даст тот же результат -- это и есть альтернатива. Возможно, это ошибочное мнение.