news
Serverspace в «Рейтинге провайдеров IaaS Enterprise 2023» от Market.CNews
VB
24 октября 2022
Обновлено 27 июля 2023

Установка балансировщика HAProxy на PfSense

VPS

Используете другую ОС?

Выберите нужную версию или дистрибутив.

Что такое PfSense

PfSense — мощный программный комплекс, в основе которого лежит FreeBSD. Обычно его используют в качестве шлюза, брандмауэра, узла для перенаправления трафика, прокси и т.д. Несмотря на то, что «под капотом» установлена FreeBSD​, почти для всех операций достаточно браузера. Эта вот простота в сочетании с мощностью и возможностями кастомизации путем «доустановки» плагинов – та самая «киллер-фича» PfSense, благодаря которой он до сих пор популярен.

Что такое HAProxy

HAProxy — достаточно простой балансировщик нагрузки с открытым исходным кодом. Первоначально его можно было установить только на выделенный сервер под управлением Linux, но теперь HAProxy можно установить на виртуальные машины, большое количество маршрутизаторов бизнес-уровня, и т.д. В этой статье я опишу, как установить HAProxy на программный комплекс PfSense.

Подготовка инфраструктуры

Чтобы показать, как работает HAProxy, вам нужно подготовить как минимум три сервера: два в качестве серверов, обеспечивающих работу служб вашего проекта и «раздающих» контент, третий в качестве брандмауэра PfSense и балансировщика HAProxy.

Последовательность действий будет такой:

  • Войдите в личный кабинет Serverspace и создайте изолированную локальную сеть;

Вход в панель управления серверами

Создание изолированной локальной сети

  • Разверните три сервера, один из них под PfSense, другие под ОС, соответствующую требованиям вашего проекта. Важный момент – все три сервера должны находиться в одном датацентре. По окончании развертывания вы должны увидеть в списке серверов нечто похожее;

Развернутые три сервера

  • Выключите все три сервера и подключите их к только что созданной «приватной» сети;

Подключение серверов к приватной сети Подключение серверов к приватной сети

  • Залогиньтесь в веб-интерфейс сервера PfSense (учетные данные можно увидеть на вкладке Status сервера в личном кабинете), затем перейдите на страницу Interfaces > Assignments и назначьте интерфейс LAN на свободный сетевой порт;

Назначение интерфейса LAN в PfSense

  • Перейдите на страницу Interfaces > LAN и выполните настройки в соответствии с информацией о сетевом соединении сервера в личном кабинете;

Настройка сетевого соединения

  • Поскольку порты 80 и 443 впоследствии будут использоваться для обслуживания клиентов проекта, я изменю порт веб-интерфейса PfSense. Следует перейти в настройки брандмауэра PfSense и создать правило, разрешающее пропускать трафик на выбранный неиспользуемый порт, затем назначить этот порт на странице System > Advanced в качестве порта веб-интерфейса;

Назначение порта Назначение порта

  • Откройте интерфейс PfSense уже на «новом» порту, снова перейдите к настройкам брандмауэра и создайте правило, разрешающее весь трафик во «внутренней» сети;

Правило, разрешающее любой внутренний трафик в сети

  • На этом подготовительные работы в том, что касается PfSense, завершены, теперь нужно подключить будущие серверы контента к нашей локальной сети. Чтобы сделать это, можно добавить новый интерфейс в файлы конфигурации сети вручную, однако, поскольку на серверах еще нет контента, быстрее просто переустановить ОС сервера через личный кабинет уже после подключения к локальной сети. Результат будет тот же, “приватные” IP всех трех серверов будут доступны;

Подключаем серверы к локальной сети Подключаем серверы к локальной сети

Установка HAProxy

Чтобы установить и настроить HAProxy на сервере PfSense, нужно выполнить следующие действия:

  • Откройте веб-интерфейс сервера PfSense, перейдите на страницу System > Package Manager > Available Packages и установите последнюю доступную версию HAProxy;

Как установить HAProxy

  • Теперь создадим бэкенд. Перейдите на страницу Services > HAProxy > Backend и укажите в соответствующих полях «внутренние» IP-адреса ваших серверов контента и прослушиваемые сервисами порты;

Указание IP-адреса 1 сервера Указание IP-адреса 2 сервера Указание IP-адреса 3 сервера

  • Создайте фронтенд балансировщика. Для этого перейдите на страницу Services > HAProxy > Frontend, установите WAN-адрес в качестве «целевого» IP и настройте «транзит» трафика на ранее созданный бэкенд;

Настройка транзита трафика Настройка транзита трафика

  • На странице Services > HAProxy > Settings, установите лимит на количество одновременных подключений и можете включать сервис;

Включение сервиса

Размещение файлов проекта и проверка работы HAProxy

Не буду дублировать информацию, просто дам ссылку на эту статью. Разверните веб-сайт, как описано в разделе «Развертывание веб-сайта», для проверки работы HAProxy выполните шаги, указанные в разделе «Проверка работы балансера». Ожидается похожий результат.

Максимизация безопасности

Для повышения безопасности вы можете полностью блокировать любой трафик к вашим контент-серверам через «публичный» WAN-интерфейс, за исключением трафика, исходящего с вашего собственного IP-адреса. Вернитесь обратно в личный кабинет ServerSpace, откройте настройки каждого контент-сервера и добавьте два сетевых правила – одно должно разрешать трафик с вашего собственного IP-адреса, другое – запрещать сетевую активность с любых других адресов. Внимание, чтобы не потерять доступ к серверам, следует ставить «разрешающие» правила перед «запрещающими».

Выводы

Прочитав этот материал, вы узнали, что такое PfSense и теперь можете установить на нем балансировщик HAProxy, а также повысить безопасность данных вашего проекта.

Оценка:
4 из 5
Аverage rating : 4.6
Оценок: 12
191028 Санкт-Петербург Литейный пр., д. 26, Лит. А
+7 (812) 403-06-99
700 300
ООО «ИТГЛОБАЛКОМ ЛАБС»
700 300

Вам также может быть интересно...