top
logo


Интернет от двух провайдеров (pfSense 2.x) PDF Печать E-mail
Автор: adm   
30.06.11 09:23

Интернет от двух провайдеров (pfSense 2.x)

 

Видео:

 

Обычно подключение к двум или более провайдерам преследует две цели (или одну из двух).

1) Разделение нагрузки. Вы можете более критичный для бизнеса трафик пускать через одного провайдера, а всё остальное через другого. Либо весь трафик просто делить между двумя провайдерами. Сразу заметим, что если Вы имеете два канала по 1 Мбит/с и вдруг заходите установить одно соединение с удалённым сервером и "прокачать" 2 Мбит/с, то ничего не выйдет. Дело в том, что весь трафик между компьютером в Вашей LAN и удалённым сервером будет проходить через одного и того же провайдера (если удалённый сервер не поддерживает несколько сессий одновременно). Однако это не означает, что два компьютера из Вашей LAN не смогут передавать данные с одним и тем же удалённым сервером каждый на скорости 1 Мбит/с, это вполне возможно. Всё вышесказанное относится к исходящему трафику, т.е. к случаю, когда локальный клиент инициирует подключение к удалённому серверу. Данная статья НЕ затрагивает вопроса разделения входящего трафика.

2) Резервный канал. Очень часто одного провайдера используют в качестве основного доступа в интернет, а второго только в случае обнаружения проблем на основном доступе. Причин для такого "неэффективного" использования каналов может быть множество - качество, стоимость каналов, наличие повременного учёта на одном из каналов и т.п.

Схема

Файл:MultiWanLB_1.PNG

Итак, предположим, что ISP1 выдал Вам IP-адрес 38.0.0.1, маску 255.255.255.0, шлюз по умолчанию 38.0.0.254, а второй соответственно 64.0.0.1/24 и 64.0.0.254. Для простоты мы полагаем, что адреса выданы статически. В принципе не имеет значения, как Вы подключаетесь к провайдеру, в любом случае у вас будут определены IP на стороне pfSense'а, маска и шлюз по умолчанию.

Создание шлюзов

Идём в System->Routing и нажимем на "плюсик", конфигурируем шлюз для ISP1. Пусть данный провайдер у нас будет "по умолчанию", т.е. будет использоваться, если никакой тип выбора провайдера в правила файрволла указан не будет:

Файл:MultiWanLB_2.PNG

Ещё раз нажимаем "плюсик" и конфигурируем шлюз для ISP2:

Файл:MultiWanLB_3.PNG

Заметим, что мы оставили пустыми поля "Monitor IP", т.е. pfSense будет принимать решение о том "живы" ли линке на основе того отвечают ли соответствующие шлюзы на ping или нет. Мы ещё вернёмся к вопросу о том, как конфигурировать другие "Monitor IP" ниже.

Естественно, кликаем "Apply changes":

Файл:MultiWanLB_4.PNG

Если шлюзы провайдеров отвечают на icmp-request, то мы должны в Status->Gateways увидеть такую приятную зелёненькую картинку:

Файл:MultiWanLB_5.PNG

Создание групп шлюзов

Теперь нам необходимо сконфигурировать правила распределения трафика между двумя провайдерами. Для этого существуют группы шлюзов. Группа шлюзов для разделения нагрузки (load balancing) создаётся в System->Routing->Groups следующим образом (опять через "плюсик"):

Файл:MultiWanLB_6.PNG

Кликаем "плюсик" опять и теперь создаём группу шлюзов для "резервного канала" (failover). У провайдера с меньшей Priority будет больший приоритет, т.е. если мы сконфигурируем согласно данной картинки, то если ISP1 "живой" трафик всегда будет маршрутизироваться к провайдеру ISP1. ISP2 будет задействован, если ISP1 "умрёт":

Файл:MultiWanLB_7.PNG

Кликаем "Apply changes", чтобы всё, что мы тут наконфигурили получило путёвку в жизнь. В Status->Gateways->Groups всё опять должно быть зелёненьким:

Файл:MultiWanLB_8.PNG

Создавая шлюзы и группы шлюзов, мы намеренно выбрали простейший вариант наблюдения - "Trigger level = Member down", т.е. отвечает шлюз на пинги, значит провайдер "живой", неотвечает - "мёртвый". Когда Вы поиграетесь и поймёте, как это дело работает, необходимо будет подстроить метод наблюдения под Ваши конкретные условия. Все варианты ("Packet loss", "High Latency") интуитивно понятны и здесь не рассматриваются. Отметим лишь, что величины метрик для "Packet loss", "High Latency" и "Member down" устанавливаются в Advanced секции шлюзов System->Routing->Gateways для каждого шлюза индивидуально.

Создание правил

Теперь нам осталось решить, какой трафик должен следовать какой логике. Для примера препдоложим нам нужно доступ к WEB (tcp port 80) сделать в режиме разделения нагрузки, чтобы все пользовали весь остальной трафик пустить через ISP1, если он в рабочем состоянии и через ISP2, если ISP1 вдруг поломался. Идём в Firewall->Rules и создаём следующие правила.

Для порта 80 разделение нагрузки:

Файл:MultiWanLB_9.PNG

И для всего остального резервный канал:

Файл:MultiWanLB_10.PNG

... не забываем нажать "Apply" и вобщем-то всё - должно работать, как задумано.

Файл:MultiWanLB_11.PNG

Немного лирики по поводу Monitoring IP

Не всегда выбор шлюза по умолчанию является хорошим вариантом отслеживания живучести провайдера. Представьте, что узел доступа, к которому Вы подключаетесь находится в рабочем состоянии (шлюз по умолчанию великолепно отвечает на пинги Вашего pfSense), однако, внутри своей инфраструктуры провайдер испытвает недетские проблемы - маршрутизация, падение линка без резерва, что угодно - и в результате, собственно, Вы получаете нерабочий Интернет.

Чтобы обойти данную проблему можно воспользоваться мониторингом каких-либо хостов в Интернете, которые условно "всегда доступны". Вернёмся к диаграмме, пусть для мониторинга здоровья ISP1 мы хотим использовать хост 1.1.1.1, а для мониторинга ISP2 соответственно хост 2.2.2.2. Для этого прописываем данные IP в System->Routing->Gateways и дело сделано:

Файл:MultiWanLB_12.PNG

Однако, в данном случае надо аккуратно с выбором метода мониторинга в System->Routing->Groups. Если поставить Trigger Level в Packet loss или в High Latency, то можно получить нежелательные результаты, т.к. интернет непредсказуем по своей сути, словом, экспериментируйте!

 

Дополнение:

Я фейловер и не настраивал на PF 2.1, просто создал два шлюза -
кабельный провайдер дефолт, вес 1 мониторю днс ip гугла,
радиоканал вес 2, мониторит днс яндекса
установлена галка "Allow default gateway switching", всё переключает сам, когда главный канал оживает, тоже сам его включает.
В правилах указано ходить через дефолт шлюз - т.е. кто исправен, тот и дефолт.

источник дополнения: https://forum.pfsense.org/index.php?topic=74756.msg408585#msg408585

 

 

источник: http://ru.doc.pfsense.org

ссылка на статью: http://www.thin.kiev.ua/router-os/50-pfsense/395-internet-providers-from-two-pfsense-2x.html


{jcomments on}

Последнее обновление 09.04.14 12:41
 
Интересная статья? Поделись ей с другими:

bottom

 

Unreal Commander PfSense по русски Яндекс.Метрика