Различия
Показаны различия между двумя версиями страницы.
— | balansirovka_nagruzki_isxodjaschego_trafika_mezhdu_dvumja_i_bolee_vneshnimi_kanalami_internet [2022/07/27 10:34] (текущий) – создано - внешнее изменение 127.0.0.1 | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== Балансировка нагрузки исходящего трафика между двумя и более внешними каналами ====== | ||
+ | |||
+ | Пулы адресов могут использоваться для балансировки нагрузки между двумя и более внешними каналами с использованием опции route-to в случае невозможности организовать динамическую маршрутизацию (например, | ||
+ | |||
+ | В качестве дополнительной информации необходимо указать адреса маршрутизаторов для каждого Интернет-соединения. Это нужно для опции **route-to**, | ||
+ | |||
+ | Следующий пример иллюстрирует балансировку нагрузки между двумя каналами: | ||
+ | < | ||
+ | lan_net = " | ||
+ | int_if | ||
+ | ext_if1 = " | ||
+ | ext_if2 = " | ||
+ | ext_gw1 = " | ||
+ | ext_gw2 = " | ||
+ | |||
+ | pass in on $int_if route-to \ | ||
+ | { ($ext_if1 $ext_gw1), ($ext_if2 $ext_gw2) } round-robin \ | ||
+ | from $lan_net to any keep state | ||
+ | </ | ||
+ | Опция route-to используется для приёма трафика на внутреннем интерфейсе и назначения ему внешнего сетевого интерфейса и шлюза, таким образом обеспечивая балансировку. Обратите внимание, | ||
+ | |||
+ | Для гарантии того, что пакеты с $ext_if1 всегда направляются к $ext_gw1 (и соответственно для $ext_if2 к $ext_gw2), в правилах можно указать следующее: | ||
+ | < | ||
+ | pass out on $ext_if1 route-to ($ext_if2 $ext_gw2) from $ext_if2 to any | ||
+ | pass out on $ext_if2 route-to ($ext_if1 $ext_gw1) from $ext_if1 to any | ||
+ | </ | ||
+ | ====== 2 ====== | ||
+ | * Пример настройки PF для балансировка нагрузки исходящего трафика | ||
+ | Пулы адресов могут использоваться для балансировки нагрузки между двумя и более внешними каналами с использованием опции route-to в случае невозможности организовать динамическую маршрутизацию (например, | ||
+ | |||
+ | В качестве дополнительной информации необходимо указать адреса маршрутизаторов для каждого Интернет-соединения. Это необходимо для опции route-to, дабы управлять исходящими пакетами. | ||
+ | |||
+ | Этот пример покажет нам балансировку нагрузки между двумя каналами: | ||
+ | < | ||
+ | lan_net = " | ||
+ | int_if | ||
+ | ext_if1 = " | ||
+ | ext_if2 = " | ||
+ | ext_gw1 = " | ||
+ | ext_gw2 = " | ||
+ | |||
+ | pass in on $int_if route-to \ | ||
+ | { ($ext_if1 $ext_gw1), ($ext_if2 $ext_gw2) } round-robin \ | ||
+ | from $lan_net to any keep state | ||
+ | </ | ||
+ | Опция route-to используется для приема трафика на внутреннем интерфейсе и назначения ему внешнего сетевого интерфейса и шлюза, таким образом обеспечивая балансировку. Обратите внимание, | ||
+ | |||
+ | Для гарантии того, что пакеты с $ext_if1 всегда направляются к $ext_gw1 (и соответственно для $ext_if2 к $ext_gw2), в правилах можно указать следующее: | ||
+ | < | ||
+ | pass out on $ext_if1 route-to ($ext_if2 $ext_gw2) from $ext_if2 \ | ||
+ | to any | ||
+ | pass out on $ext_if2 route-to ($ext_if1 $ext_gw1) from $ext_if1 \ | ||
+ | to any | ||
+ | </ | ||
+ | В заключение хочу сказать, | ||
+ | < | ||
+ | nat on $ext_if1 from $lan_net to any -> ($ext_if1) | ||
+ | nat on $ext_if2 from $lan_net to any -> ($ext_if2) | ||
+ | </ | ||
+ | Полный пример балансировки исходящего трафика будет выглядеть так: | ||
+ | < | ||
+ | lan_net = " | ||
+ | int_if | ||
+ | ext_if1 = " | ||
+ | ext_if2 = " | ||
+ | ext_gw1 = " | ||
+ | ext_gw2 = " | ||
+ | |||
+ | # nat outgoing connections on each internet interface | ||
+ | nat on $ext_if1 from $lan_net to any -> ($ext_if1) | ||
+ | nat on $ext_if2 from $lan_net to any -> ($ext_if2) | ||
+ | |||
+ | # default deny | ||
+ | block in from any to any | ||
+ | block out from any to any | ||
+ | |||
+ | # pass all outgoing packets on internal interface | ||
+ | pass out on $int_if from any to $lan_net | ||
+ | # pass in quick any packets destined for the gateway itself | ||
+ | pass in quick on $int_if from $lan_net to $int_if | ||
+ | # load balance outgoing tcp traffic from internal network. | ||
+ | pass in on $int_if route-to \ | ||
+ | { ($ext_if1 $ext_gw1), ($ext_if2 $ext_gw2) } round-robin \ | ||
+ | proto tcp from $lan_net to any flags S/SA modulate state | ||
+ | # load balance outgoing udp and icmp traffic from internal network | ||
+ | pass in on $int_if route-to \ | ||
+ | { ($ext_if1 $ext_gw1), ($ext_if2 $ext_gw2) } round-robin \ | ||
+ | proto { udp, icmp } from $lan_net to any keep state | ||
+ | |||
+ | # general "pass out" rules for external interfaces | ||
+ | pass out on $ext_if1 proto tcp from any to any flags S/SA modulate state | ||
+ | pass out on $ext_if1 proto { udp, icmp } from any to any keep state | ||
+ | pass out on $ext_if2 proto tcp from any to any flags S/SA modulate state | ||
+ | pass out on $ext_if2 proto { udp, icmp } from any to any keep state | ||
+ | |||
+ | # route packets from any IPs on $ext_if1 to $ext_gw1 and the same for | ||
+ | # $ext_if2 and $ext_gw2 | ||
+ | pass out on $ext_if1 route-to ($ext_if2 $ext_gw2) from $ext_if2 to any | ||
+ | pass out on $ext_if2 route-to ($ext_if1 $ext_gw1) from $ext_if1 to any | ||
+ | |||
+ | |||
+ | </ | ||
📌 Удобный подбор VPS по параметрам доступен на DIEGfinder.com - официальном инструменте проекта DIEG. Это часть единой экосистемы, созданной для того, чтобы помочь быстро найти подходящий VPS/VDS сервер для любых задач хостинга.
📌 Для тестирования скриптов, установщиков VPN и Python-ботов рекомендуем использовать надежные VPS на короткий срок. Подробнее о быстрой аренде VPS для экспериментов - читайте здесь.
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Nginx простые примеры конфигурации
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах
7 Самых Популярных Обзоров
- Хостинг для Python-скриптов и приложений
- ТОП 4 лучших антидетект браузеров (Бесплатные & Платные)
- Подборка купонов (промокоды) на хостинг, антидетект браузеры
- Обзор THE.Hosting (PQ Hosting): надежный хостинг с профессиональной поддержкой
- Хостинг в России
- Хостинг в Европе
- Обзор браузера Dolphin {anty} для мультиаккаунтинга