У меня есть EdgeRouter ER-8 со следующей настройкой: 3 WAN (eth0 — это ISP1, eth1 — это ISP2, eth2 — это беспроводная связь с другим кампусом с собственным ISP, и она используется для доступа к удаленной локальной сети, а также в качестве третьего и восходящий канал только для аварийного переключения); и 2 локальные сети (eth6-192.168.1.1/24; eth7-172.18.16.1/22).
Только что добавили локальную сеть на eth6. Независимый устаревший маршрутизатор вышел из строя, и мы решили интегрировать эту локальную сеть в основные службы. Балансировка нагрузки настроена и работает должным образом для клиентов в обеих локальных сетях. PBR настроен, но видимо работает только для клиентов на eth7, а не для клиентов во второй локалке, на eth6.
Я создал пару групп адресов, чтобы заставить IP-адреса, перечисленные в первой, всегда использовать ISP1/eth0, а IP-адреса, указанные во второй, использовать ISP2/eth1.
Если добавить в списки IP из сети 172.18.16.0/22, то все работает как надо. Если я добавлю IP-адреса из сети 192.168.1.0/24, эти клиенты продолжат возвращаться к поведению по умолчанию (lb-группа G).
Правила 95 и 96 брандмауэра коверкают, но следя за статистикой (показать статистику модификации брандмауэра
) Я понял, что запросы с IP-адресов (в группах адресов) из сети 172... действительно попадают под эти правила, НО запросы с IP-адресов (опять же, в тех же группах адресов) из сети 192... нет.
Я также проверил это, выполнив смотреть -n 1 'curl api.ipify.org'
на клиентах в обеих сетях. Те, кто находится в сети 172..., показывают IP-адрес соответствующего интернет-провайдера, а те, кто находится в другой сети, показывают чередующиеся IP-адреса (это означает, что они действительно следуют параметрам балансировки нагрузки).
Что мне не хватает? Должно быть что-то, чего я не вижу или не применяю к интерфейсу eth6.
Буду признателен за любую оказанную помощь.
Вот моя конфигурация:
брандмауэр {
включить все ping
широковещательный пинг отключить
группа {
адресная группа OUT-WAN-ETH0 {
адрес 192.168.1.251
описание "Выйти через eth0"
}
адресная группа OUT-WAN-ETH1 {
адрес 192.168.1.252
описание "Выйти через eth1"
}
сетевая группа Old_LAN {
описание "Устаревшие сети"
сеть 192.168.1.0/24
}
сетевая группа PRIVATE_NETS {
сеть 172.18.16.0/22
сеть 172.18.20.0/22
сеть 172.18.24.0/29
сеть 172.18.24.8/29
сеть 172.18.24.16/29
сеть 192.168.1.0/24
}
группа портов servicios_proxy {
порт 80
порт 443
порт 873
порт 11194
порт 22
}
}
ipv6-receive-redirects отключить
ipv6-src-маршрут отключить
ip-src-маршрут отключить
Лог-марсиане отключают
изменить баланс {
правило 10 {
действие изменить
описание "НЕ балансировать нагрузку между локальными сетями"
пункт назначения {
группа {
сетевая группа PRIVATE_NETS
}
}
изменить {
главная таблица
}
}
правило 20 {
действие изменить
описание «НЕ балансировать нагрузку на общедоступный адрес назначения»
пункт назначения {
группа {
адресная группа ADDRv4_eth0
}
}
изменить {
главная таблица
}
}
правило 30 {
действие изменить
описание «НЕ балансировать нагрузку на общедоступный адрес назначения»
пункт назначения {
группа {
адресная группа ADDRv4_eth1
}
}
изменить {
главная таблица
}
}
правило 40 {
действие изменить
описание «НЕ балансировать нагрузку на общедоступный адрес назначения»
пункт назначения {
группа {
адресная группа ADDRv4_eth2
}
}
изменить {
главная таблица
}
}
правило 95 {
действие изменить
описание "Выход через WAN-eth0"
изменить {
lb-группа WAN-eth0
}
источник {
группа {
адресная группа OUT-WAN-ETH0
}
}
}
правило 96 {
действие изменить
описание "Выход через WAN-eth1"
изменить {
lb-группа WAN-eth1
}
источник {
группа {
адресная группа OUT-WAN-ETH1
}
}
}
правило 110 {
действие изменить
изменить {
lb-группа G
}
}
}
имя WAN_IN {
падение действия по умолчанию
описание "WAN на внутренний"
включить-по-умолчанию-журнал
правило 10 {
действие принять
описание "Разрешить установленные/связанные"
государство {
установленный включить
связанные включить
}
}
правило 20 {
действие принять
описание v-прокси
пункт назначения {
адрес 192.168.1.253
группа {
группа портов servicios_proxy
}
}
журнал отключить
протокол tcp_udp
}
правило 40 {
падение действия
описание "Удалить недопустимое состояние"
государство {
недопустимое включение
}
}
}
имя WAN_LOCAL {
падение действия по умолчанию
описание "WAN к роутеру"
включить-по-умолчанию-журнал
правило 10 {
действие принять
описание "Разрешить установленные/связанные"
государство {
установленный включить
связанные включить
}
}
правило 30 {
падение действия
описание "Удалить недопустимое состояние"
государство {
недопустимое включение
}
}
}
имя Wireless_backhaul {
падение действия по умолчанию
описание ""
правило 10 {
действие принять
описание «Разрешить транзитное соединение»
пункт назначения {
адрес 0.0.0.0/0
}
журнал отключить
протоколировать все
государство {
установленный включить
недействительное отключение
новый включить
связанные включить
}
}
правило 20 {
падение действия
описание "Удалить недопустимое состояние"
журнал отключить
протоколировать все
государство {
установлено отключить
недопустимое включение
новое отключение
связанное отключение
}
}
}
прием-перенаправления отключить
включить переадресацию отправки
проверка источника отключена
синхронизация файлов cookie
}
интерфейсы {
Ethernet eth0 {
адрес dhcp
описание WAN1
DHCP-параметры {
обновление маршрута по умолчанию
маршрутное расстояние по умолчанию 3
сервер имен без обновлений
}
дуплекс авто
брандмауэр {
в {
имя WAN_IN
}
местный {
имя WAN_LOCAL
}
}
скорость авто
}
Ethernet eth1 {
адрес dhcp
описание WAN2
DHCP-параметры {
обновление маршрута по умолчанию
маршрутное расстояние по умолчанию 3
сервер имен без обновлений
}
дуплекс авто
брандмауэр {
в {
имя WAN_IN
}
местный {
имя WAN_LOCAL
}
}
скорость авто
}
ethernet eth2 {
адрес 172.18.24.1/29
описание Wireless-SB448-In
дуплекс авто
брандмауэр {
в {
имя Wireless_backhaul
}
местный {
имя Wireless_backhaul
}
вне {
имя Wireless_backhaul
}
}
скорость авто
виф 2 {
адрес 172.18.24.10/29
описание Wireless-SB448-out
брандмауэр {
в {
имя Wireless_backhaul
}
местный {
имя Wireless_backhaul
}
вне {
имя Wireless_backhaul
}
}
}
виф 3 {
адрес 172.18.24.18/29
описание Wireless-SB448-LAN
брандмауэр {
в {
имя Wireless_backhaul
}
местный {
имя Wireless_backhaul
}
вне {
имя Wireless_backhaul
}
}
}
}
Ethernet eth6 {
адрес 192.168.1.1/24
описание LAN-старый
дуплекс авто
брандмауэр {
в {
изменить баланс
}
}
скорость авто
}
Ethernet eth7 {
адрес 172.18.16.1/22
описание ЛВС
дуплекс авто
брандмауэр {
в {
изменить баланс
}
}
скорость авто
}
петля вот {
}
}
баланс нагрузки {
группа G {
исключить-локальные-dns отключить
смыв при активной активации
интервал обновления шлюза 1
интерфейс eth0 {
маршрут-тест {
считать {
провал 3
успех 2
}
начальная задержка 1
интервал 2
тип {
пинг {
цель 8.8.4.4
}
}
}
вес 100
}
интерфейс eth1 {
маршрут-тест {
считать {
провал 3
успех 2
}
начальная задержка 1
интервал 2
тип {
пинг {
цель 8.8.8.8
}
}
}
вес 100
}
интерфейс eth2.2 {
только отказоустойчивость
маршрут-тест {
считать {
провал 3
успех 5
}
начальная задержка 1
интервал 2
тип {
пинг {
цель 172.18.24.9
}
}
}
вес 1
}
lb-local включить
lb-local-metric-change отключить
липкий {
адрес назначения включить
исходный адрес включить
}
}
группа WAN-eth0 {
исключить-локальные-DNS включить
смыв при активной активации
интервал обновления шлюза 5
интерфейс eth0 {
маршрут-тест {
начальная задержка 1
интервал 10
тип {
пинг {
цель 8.8.8.8
}
}
}
вес 100
}
lb-локальное отключение
lb-local-metric-change отключить
липкий {
адрес назначения включить
исходный адрес включить
}
}
группа WAN-eth1 {
исключить-локальные-DNS включить
смыв при активной активации
интервал обновления шлюза 5
интерфейс eth1 {
маршрут-тест {
начальная задержка 1
интервал 10
тип {
пинг {
цель 8.8.8.8
}
}
}
вес 100
}
lb-локальное отключение
lb-local-metric-change отключить
липкий {
адрес назначения включить
исходный адрес включить
}
}
}
протоколы {
статический {
маршрут 0.0.0.0/0 {
следующий переход 172.18.24.9 {
описание "SB448"
расстояние 5
}
следующий переход 192.168.2.254 {
описание "ISP2"
расстояние 4
}
}
маршрут 172.18.20.0/22 {
следующий переход 172.18.24.17 {
описание LAN-SB448
расстояние 2
}
}
}
}
услуги {... ОПУЩЕНО ...}
система {... ПРОПУЩЕНО ...}