Глава 6 Надмірність, балансування навантаження і
відмовостійкість
У цьому розділі ми розглянемо:
- Конфігурація декількох WAN інтерфейсів (конфігурація multi-WAN)
- Конфігурація балансування навантаження в конфігурації multi-WAN
- Конфігурація відмовостійкості multi-WAN
- Конфігурація балансування навантаження WEB-сервера
- Конфігурація отказоустойчивого WEB-сервера
- Конфігурація відмовостійкості CARP брандмауера
Вступ
Надмірність, балансування навантаження і відмовостійкість є передовими особливостями сучасних мереж. Як правило вони застосовуються або потрібні у великих і важливих системах, тому не всі міжмережеві екрани і маршрутизатори підтримують ці можливості. pfSense підтримує всі конфігурації в повній мірі.
Надлишкові (резервні) WAN інтерфейси (milti-WAN) забезпечують брандмауер декількома незалежними підключеннями до мережі Інтернет. pfSense дозволяє зробити налаштування балансування навантаження і відмовостійкості інтерфейсів multi-WAN. Балансування навантаження (load-balance) розділяє весь трафік між інтерфейсами, в той час як відмовостійкість (failover) дозволяє автоматично перемикатися на інший інтерфейс в разі відмови поточного.
Балансування навантаження pfSense дозволяє розподіляти трафік певного типу (наприклад WEB-трафік) між безліччю серверів. Це дає можливість створення власної web ферми безпосередньо на pfSense.
Надмірність брандмауера, дозволяє реалізувати стійкість системи при фізичному виході з ладу конкретної машини. Використовуючи CARP конфігурацію, можна налаштувати pfSense на автоматичне перемикання на резервний брандмауер в разі виходу з ладу основного.
Конфігурація декількох WAN інтерфейсів
Цей рецепт описує, як налаштувати декілька WAN інтерфейсів в pfSense.
підготовка
Система pfSense з єдиним WAN інтерфейсом, фактично реалізує принцип plugplay, оскільки шлюз створюється автоматично. Однак, деякі з рецептів цього розділу вимагають декількох WAN з'єднань і ці шлюзи повинні налаштовуватися вручну. Наступний рецепт описує, як налаштувати два WAN інтерфейсу які можуть використовуватися
в подальшому для реалізації реалізації надмірності, балансування навантаження і / або відмовостійкості.
Як це зробити.
1. Переходимо на сторінку System | Routing
2. Вибираємо закладку Gateways
3. Зверніть увагу, що шлюз для нашого існуючого WAN інтерфейсу був створений автоматично, встановлений за замовчуванням і зазвичай встановлюється як динамічний:
4. Натисніть кнопку [+] для додавання нового шлюзу
5. Виберіть інтерфейс (Interface) для вашого створеного WAN з'єднання
6. Вкажіть ім'я (Name) шлюзу
10. Сохраніет (Save) зміни.
Як це працює.
Тільки перший WAN інтерфейс створений в pfSense буде автоматично генерувати шлюз. Створивши вручну шлюз для нашого нового WAN інтерфейсу, як ми тільки що зробили, ми можемо правильно налаштувати даний інтерфейс для використання функцій резервування описаних в іншій частині цієї глави.
Трохи більше.
Пам'ятайте про необхідність блокування приватних і богон мереж для WAN інтерфейсів в діапазонах публічних мереж.
Дивіться також
- Рецепт Конфігурація інтерфейсів в розділі 1
- Рецепт Створення шлюзу в розділі 5
- Рецепт Конфігурація балансування навантаження multi-WAN
- Рецепт Конфігурація відмовостійкості multi-WAN
Конфігурація балансування навантаження multi-WAN
Цей рецепт описує, як конфигурируется балансування навантаження milti-WAN в pfSense.
підготовка
Протягом цього рецепта ми будемо конфігурувати балансування навантаження для двох окремих WAN інтерфейсів. Переконайтеся, по-перше, що WAN інтерфейси правильно налаштовані; для цього зверніться до попереднього рецептом.
зауваження:
Коли працює балансування навантаження multi-WAN, фактично працює відмовостійкість. Якщо ви хочете включити тільки відмовостійкість, зверніться до наступним рецептом.
Як це зробити.
1. Переходимо на сторінку System | Routing
2. Вибираємо закладку Groups
3. Вводимо ім'я групи (Group Name)
4. Встановимо пріоритет шлюзу (Gateway Priority) для обох наших WAN шлюзів в значення Tier 1
5. Залишимо рівень тригера (Trigger Level) встановленим в Member Down (Учасник відключений)
6. Додамо опис (Description)
7. Збережемо (Save) зміни
8. Застосуємо (Apply) зміни, якщо необхідно.
Трохи більше.
Ми визначили для нашого шлюзу групи тригер Member Down, однак доступні і кілька інших опцій:
- Member Down: спрацьовує, коли Monitor IP встановлений для шлюзу перестає відповідати на ICMP ping
- Packet Loss: спрацьовує, коли пакети проходять через даний шлюз губляться
- High Latency. спрацьовує коли пакети проходять через даний шлюз мають високу затримку
- Packet Loss or High Latency. спрацьовує, коли пакети проходять через даний шлюз губляться або мають велику затримку
Дивіться також
- Рецепт Конфігурація декількох WAN інтерфейсів.
Конфігурація відмовостійкості multi-WAN
Цей рецепт описує як конфигурируется відмовостійкість multi-WAN на pfSense.
підготовка
Протягом цього рецепта, ми будемо конфігурувати відмовостійкість для наших двох WAN інтерфейсів. Переконайтеся, що інтерфейси правильно сконфігуровані; для цього зверніться до попередньому рецептами.
Як це зробити.
1. Переходимо на сторінку System | Routing
2. Вибираємо закладку Groups
3. Вводимо ім'я групи (Group Name)
4. Встановимо пріоритет шлюзу (Gateway Priority) для нашого шлюзу WAN в значення Tier 1
5. Встановимо пріоритет шлюзу (Gateway Priority) для нашого шлюзу WAN2 в значення Tier 2
6. Залишимо рівень тригера (Trigger Level) встановленим в Member Down (Учасник відключений)
18. Перейдіть на сторінку Firewall | Rules
19. натисніть кнопку [+] для додавання нового правила брандмауера
20. Виберіть дію pass
21. Виберіть закладку LAN інтерфейсу
22. Встановіть протокол (Protocol) в any
23. Встановіть джерело (Source) в LAN subnet
24. Встановіть призначення (Destination) в any
25. Додайте опис (Description)
26. У розширених можливостях (Advanced Features), під шлюзом (Gateway), натисніть кнопку Advanced для промотра додаткових можливостей
27. Встановіть шлюз (Gateway) в значення FailoverGroup
28. Збережіть (Save) зміни
29. Застосуйте (Apply) зміни, якщо необхідно
Як це працює.
Весь трафік з нашої LAN буде пропускатися через наш шлюз групи. Оскільки наш шлюз групи складається з двох WAN шлюзів мають різний рівень пріоритету, наш резервний шлюз (Tier 2) буде використовуватися замість нашого основного шлюзу (Tier 1) коли той відмовить.
Трохи більше.
Ми визначили для нашого шлюзу групи тригер Member Down, однак доступні і кілька інших опцій:
- Member Down: спрацьовує, коли Monitor IP встановлений для шлюзу перестає відповідати на ICMP ping
- Packet Loss: спрацьовує, коли пакети проходять через даний шлюз губляться
- High Latency. спрацьовує коли пакети проходять через даний шлюз мають високу затримку
- Packet Loss or High Latency. спрацьовує, коли пакети проходять через даний шлюз губляться або мають велику затримку
Дивіться також
- Рецепт Конфігурація декількох WAN інтерфейсів
- Рецепт Конфігурація балансування навантаження multi-WAN
Конфігурація балансування навантаження web-сервера
Цей рецепт описує як конфігурувати маленьку web-ферму на pfSense використовуючи балансування навантаження.
підготовка
Балансування навантаження дозволяє pfSense розподіляти деякі типи трафіку на безліч машин. Загальне використання даної можливості - розподіл вхідних HTTP запитів для декількох web-серверів і наступний рецепт описує як за допомогою балансування навантаження можна створити web-ферму.
28. Підтвердимо (Submit) зміни
29. Застосуємо (Apply) зміни, якщо необхідно
Трохи більше.
Липкі з'єднання (Sticky connections) можуть бути використані для досягнення того, щоб клієнт завжди звертався із запитами до того ж самому серверу протягом певного проміжку часу. Якщо наступний запит проводиться після закінчення "таймаута липкого з'єднання" (sticky connections timeout), то запит може бути оброблений кожним із серверів ферми. Розробникам часто необхідна ця можливість для забезпечення цілісності даних web-сервера (в кеш-пам'яті), проте вона не настільки надійна як використання загального сховища сесії (shared session storage).
Дивіться також
- Рецепт Створення правила форвардинга портів NAT в розділі 3
- Рецепт Створення правила брандмауера в розділі 3
- Рецепт Конфігурація відмовостійкості web-сервера
Конфігурація відмовостійкості web-сервера
Цей рецепт описує як конфігурувати маленьку web-ферму на pfSense використовуючи балансування навантаження.
підготовка
Балансування навантаження можна використовувати щоб дозволити pfSense передавати трафік до резервного сервера в разі виникнення простою. У наступному рецепті ми налаштуємо резервний сервер заміняє первинний в разі збою.
29. Підтвердимо (Submit) зміни
30. Застосуємо (Apply) зміни, якщо необхідно
Дивись також
- Рецепт Створення правила форвардинга портів NAT в розділі 3
- Рецепт Створення правила брандмауера в розділі 3
- Рецепт Конфігурація балансування навантаження web-сервера
Конфігурація відмовостійкості брандмауера з CARP
Цей рецепт описує як конфігурувати два брандмауера pfSense для реалізації відмовостійкості.
підготовка
Апаратне резервування вимагає додаткового обладнання, і це зрозуміло. Для конфігурації відмовостійкості брандмауера, нам знадобляться дві однакові машини pfSense. Крім того, для кожної машини необхідний додатковий інтерфейс, завданням якого буде процес синхронізації (який ми будемо називати pfsync). Для прикладу, в цьому рецепті будуть використані два брандмауера pfSense, кожен з яких
має три інтерфейсу (WAN, LAN і pfsync).
Як це зробити.
1. Конфігуріруем інтерфейси на нашій першій машині, primary-pfsense, в такий спосіб:
- WAN: 192.168.111.2
- SYNC: 192.168.222.2
- LAN: 192.168.1.2
2. Конфігуріруем інтерфейси на нашій першій машині, backup-pfsense, в такий спосіб:
- WAN: 192.168.111.3
- SYNC: 192.168.222.3
- LAN: 192.168.1.3
3. На обох машинах, додаємо правило брандмауера дозволяє весь трафік на SYNC інтерфейсі:
1. Переходимо на сторінку Firewall | Rules
2. Натискаємо ятати SYNC Interface
3. Натискаємо кнопку [+] для додавання нового правила брандмауера
4. Встановлюємо протокол (Protocol) в any
4. Додаємо опис (Description):
5. Збережемо (Save) зміни
6. Застосуємо (Apply) зміни, якщо необхідно
7. На машині backup-pfsense, вам необхідно включити синхронізацію CARP і
конфігурувати її як резервну:
1. Переходимо на сторінку Firewall | Virtual IPs
2. Натискаємо ятати CARP Settings
3. Відзначаємо прапор Synchronize Enable
4. Встановлюємо інтерфейс синхронізації (Synchronize Interface) в значення SYNC
8. Збережемо (Save) зміни
9. Ми закінчили конфігурацію резервного брандмауера
10. На основній машині нам необхідно включити синхронізацію CARP і конфігурувати її як основний брандмауер:
1. Переходимо на сторінку Firewall | Virtual IPs
2. Натискаємо ятати CARP Settings
3. Відзначаємо прапор Synchronize Enable
4. Встановлюємо інтерфейс синхронізації (Synchronize Interface) в значення SYNC
11. Збережемо (Save) зміни
12. Застосовуємо (Apply) зміни, якщо необхідно
11. Збережемо (Save) зміни
12. Застосовуємо (Apply) зміни, якщо необхідно
Як це працює.
Цей рецепт описує, як створити відмовостійкий брандмауер використовуючи CARP. Два брандмауера постійно синхронізують свої правила, NAT і установки віртуальних IP, т.ч. якщо первинний брандмауер несправний, резервний безперешкодно займає його місце. Хитрість синхронізації полягає в частоті заяви (advertising frequency) встановленої для кожного віртуального IP. Частота заяви основного сервера встановлена в 0, але, коли налаштування синхронізуються, частота заяви для резервного сервера збільшується (тобто частота заяви резервного сервера встановлюється в 1). Таким чином, тепер pfSense розрізняє машини і налаштування синхронізації.
Дивіться також
- Рецепт Створення правила форвардинга портів NAT в розділі 3
- Рецепт Створення правила брандмауера в розділі 3
- Рецепт Створення віртуальних IP в розділі 5.