2 канала и статическая маршрутизация в FreeBSD 8.0

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
DemonDm
проходил мимо
Сообщения: 4
Зарегистрирован: 2010-02-24 15:57:09

2 канала и статическая маршрутизация в FreeBSD 8.0

Непрочитанное сообщение DemonDm » 2010-02-25 1:50:38

Имею 2 канала в мир: скоростной и не очень.
Хотелось бы с помошью статической маршрутизации заставить работать оба канала (не распределение нагрузки).
Например прописать 2 default gateway и что чтоб в зависимости от исходящего интерефейса пакет уходил в нужный гейт (для каждого интерфейса свой gateway).
как вариант это нужно для Squid, чтоб определенного пользователя выпускать через соответствующий его привилегированности канал.
Кусок squid.conf:

Код: Выделить всё

...
tcp_outgoing_address 111.111.111.1 vipnet
udp_outgoing_address 111.111.111.1 vipnet

tcp_outgoing_address 222.222.222.2 localnet
udp_outgoing_address 222.222.222.2 localnet
...
Возможна ли реализация такой задачи на FreeBsd 8.0?

P.S. Сейчас это реализовано с помощью pf и route-to, но т.к. есть очень большой список маршрутов и в каждой из сетей несколько шлюзов, не хотелось бы это делать с помощью фаервола.
как по мне для чего-то ж придумали route add?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
DemonDm
проходил мимо
Сообщения: 4
Зарегистрирован: 2010-02-24 15:57:09

Re: 2 канала и статическая маршрутизация в FreeBSD 8.0

Непрочитанное сообщение DemonDm » 2010-02-25 1:59:40

если в ядре есть такое

Код: Выделить всё

options     RADIX_MPATH
удачно можно добавить 2 default gateway, но если бы можно было отключить балансировку нагрузки, а то он сам решает какой канал использовать.

может можно как-то использовать таблицы маршрутизации для моей задачи(options ROUTETABLES=2 в ядре), но я пока что не представляю как.

Буду рад любому совету или идее.
Заранее Спасибо.

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: 2 канала и статическая маршрутизация в FreeBSD 8.0

Непрочитанное сообщение terminus » 2010-02-25 10:18:22

Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Аватара пользователя
DemonDm
проходил мимо
Сообщения: 4
Зарегистрирован: 2010-02-24 15:57:09

Re: 2 канала и статическая маршрутизация в FreeBSD 8.0

Непрочитанное сообщение DemonDm » 2010-02-25 11:31:30

спасибо огромное много чего интересного подчерпнул из статьи, думаю паре примеров найду применение
*даже не знаю как я на нее раньше не наталкнулся ...

но хотелось бы только на статической маршрутизации решить это решить
реально ли для RADIX_MPATH отключить балансировку?

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: 2 канала и статическая маршрутизация в FreeBSD 8.0

Непрочитанное сообщение terminus » 2010-02-25 11:36:46

не работал с RADIX_MPATH - не могу утверждать.
По-идее нет, так как он как раз и придуман для обеспечения балансировки.
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Аватара пользователя
DemonDm
проходил мимо
Сообщения: 4
Зарегистрирован: 2010-02-24 15:57:09

Re: 2 канала и статическая маршрутизация в FreeBSD 8.0

Непрочитанное сообщение DemonDm » 2010-02-26 5:32:17

Если кому интересно, было найдено промежуточное решение для работы сразу двух каналов с сервера (без множественных таблиц маршрутизации)
Имеем двух провайдеров. интерфейсы vr0 и vr1, адреса 1.1.1.1 и 2.2.2.2, шлюзы 1.1.1.254 и 2.2.2.254.
rc.conf

Код: Выделить всё

defaultrouter="1.1.1.254"
добавляем в pf.conf 2 строчки route-to

Код: Выделить всё

...
pass out route-to (1.1.1.1 1.1.1.254) inet from vr0 to any keep state
pass out route-to (2.2.2.2 2.2.2.254) inet from vr1 to any keep state
...
При такой конфигурации на сервере запущено 2 торрент клиента, каждый привязан к одному из IP (1.1.1.1 или 2.2.2.2). Получается каждый идет только через свой канал.
Конечно можно было бы это сделать с помощью setfib и 2х таблиц маршрутов, но вот со сквидом бы не работали сразу на оба канала.

при таком squid.conf тоже все прекрасно работает

Код: Выделить всё

...
tcp_outgoing_address 1.1.1.1 vipnet
udp_outgoing_address 1.1.1.1 vipnet

tcp_outgoing_address 2.2.2.2 localnet
udp_outgoing_address 2.2.2.2 localnet
...
Если есть предложения по улудшению моей реализации или другой способ, готов выслушать