В этой статье расскажу как осуществляется балансировка нагрузки между двумя операторами связи средствами Juniper SRX.
Данный функционал поддерживается начиная с JunOS версии 12.1
По традиции сформулирую практическую задачу:
Есть 2 оператора связи ISP1 и ISP2, есть пользователи, которые хотят смотреть котиков и качать торренты иметь доступ в интернет. Требуется обеспечить балансировку нагрузки средствами граничного шлюза (в данном примере SRX 240).
Итак:
Первым делом создадим политику с именем, например, LoadBalance:
admin@srx# set policy-options policy-statement LoadBalance then load-balance per-packet
Не смотря на то, что в конфигурации указывается per-packet, Juniper говорит, что на современных SRX балансировка работает в режиме per-flow.
Следующим шагом указываем маршрут на шлюз обоих провайдеров:
admin@srx# set routing-options static route 0.0.0.0/0 next-hop [ 1.1.1.1 2.2.2.1 ]
Далее требуется экспортировать созданную нами политику в таблицу форвардинга:
admin@srx# set routing-options forwarding-table export LoadBalance
И напоследок, для определения транспортного протокола при пересылке пакетов выполняем команды:
admin@srx# set forwarding-options hash-key family inet layer-3 admin@srx# set forwarding-options hash-key family inet layer-4
по умолчанию JunOS использует только Layer 3 информацию для пересылки пакетов.
На этом настройку балансировки нагрузки можно считать законченной, проверяем конфигурацию командой
admin@srx# commit check
если сомнения еще остались выполняем
admin@srx# commit confirmed
для применения конфигурации на ограниченный период времени
убеждаемся, что всё ок и тогда уж
admin@srx# commit
и наслаждаемся балансировкой
А как быть если нужна балансировка, но каналы не стабильные. И нужно чтобы не рабочие каналы исключались из балансировки до восстановления?
В таком случае, думаю имеет смысл дополнительно настроить rpm-мониторинг, по аналогии как описано тут.
настроил как в статье. начались проблемы с интернетом. не открываются некоторые сайты и т.п.
Привет,
А как быть с NAT в сторону провайдеров? Если юзеры натятся за адрес интерфейса провайдера.
Или он будет выбирать нужное правило ната при форвардинге?
Добрый день.
Он будет балансировать по сессиям, для этого собственно и и используется балансировщик. Т.е. есть 2 оператора (2 ната) и трафик будет отправльяться то к одному то к другому.