Серверы в другом VRF
- Проверено на версии — 2.2.1
- Требуется — изолированная сеть на VLAN, вторая изолированная сеть с серверами приложения
Клиенты приходят в одну изолированную сеть, а приложение живёт в другой — например, во внутреннем контуре, куда клиентам доступа быть не должно.
Балансировщик принимает соединение в первой сети и открывает новое во второй; прямой связности между сетями при этом не появляется. Значения — из сквозного примера.
Что получится
- VIP
10.88.0.100будет принимать соединения в VRFdemo. - Балансировщик будет обращаться к серверу
10.89.0.200из VRFtenant2. - Узлы сети
demoне получат доступа к сетиtenant2: маршруты между VRF не добавляются.
Перед началом
- Профиль
demoсоздан по сценарию Изолированная сеть на VLAN. - Так же создан профиль
tenant2с сегментом на VLAN 301 и сетью10.89.0.0/24. - Сервер приложения
10.89.0.200доступен в сетиtenant2.
Настройка
Порядок важен: без политики конфигурацию балансировки создать не удастся.
- Откройте раздел VRF, перейдите на вкладку Cross-VRF политики и нажмите Создать политику.
- Заполните форму:
- Из VRF —
demo, то есть VRF, в котором находится VIP; - В VRF —
tenant2, то есть VRF, в котором находятся серверы; - Режим политики — Через балансировщик (bridge).
- Из VRF —
- Сохраните политику.
- Создайте клиентский сервер
10.89.0.200с VRFtenant2и группу серверов с тем же VRF. - Создайте конфигурацию балансировки с VRF
demo, VIP10.88.0.100/32и этой группой серверов.
Политика действует в одну сторону: она разрешает балансировщику обращаться из demo в tenant2, но не наоборот. Для встречного случая — VIP в tenant2, серверы в demo — создайте вторую политику tenant2→demo.
Проверка
В интерфейсе системы
- В группе серверов узлы перешли в состояние ОК: проверки доступности идут из VRF
tenant2и подтверждают, что путь к серверам есть. - На вкладке Cross-VRF политики пара
demo → tenant2присутствует с режимомbridge. - Обращение балансировщика к серверам видно инструментом TCP Dump на интерфейсе
ens19.301: источником будет адрес агента в сетиtenant2.
Трафиком
С узла сети demo обратитесь к VIP:
curl -sS -o /dev/null -w '%{http_code}\n' http://10.88.0.100:8080/В журнале сервера приложения источником запроса будет 10.89.0.11 или 10.89.0.12 — адрес агента в сети tenant2. Это и означает, что соединение открыл балансировщик, а не клиент.
Изоляция проверяется с того же узла сети demo — напрямую до сервера приложения дойти не должно:
ping -c3 10.89.0.200Частые ошибки
| Сообщение | Что означает | Что сделать |
|---|---|---|
Нужна cross-VRF политика demo→tenant2: VIP в VRF "demo", backend — в "tenant2" | Конфигурация балансировки связывает два VRF, а политики для этой пары нет | Создайте политику до сохранения конфигурации |
Cross-VRF политика demo→tenant2 используется cross-VRF сервисами (web) и не может быть удалена | Политику пытаются удалить, пока ею пользуется конфигурация балансировки | Сначала измените или удалите конфигурацию |
Указанный в Cross-VRF политике "tenant2" не существует в кластере | Один из концов политики не создан или переименован | Проверьте имя профиля в списке VRF |
Другие сочетания
Тот же механизм связывает изолированную сеть с общей таблицей маршрутизации — в обе стороны. Меняются только концы политики, порядок шагов остаётся прежним.
Приложение в изолированной сети, клиенты — в общей. Балансировщик принимает соединения на адресе в общей сети, серверы скрыты в изолированной и снаружи недоступны.
- Политика: Из VRF —
default (global), В VRF —demo, режим Через балансировщик. - Клиентский сервер и группа серверов — с VRF
demo. - Конфигурация балансировки — поле VRF оставьте пустым.
Балансировщик в изолированной сети, приложение — в общей. Обратный случай: сервис доступен только клиентам изолированной сети, а серверы приложения ещё не перенесены.
- Политика: Из VRF —
demo, В VRF —default (global), режим Через балансировщик. - Клиентский сервер и группа серверов — с VRF
default (global). - Конфигурация балансировки — поле VRF со значением
demo.
Политика нужна в обоих случаях. Общая таблица маршрутизации для этой проверки — такой же конец политики, как именованный VRF: без разрешения конфигурация балансировки не сохранится.
Дальше
- Выход из изолированной сети наружу — если нужна не связь через балансировщик, а маршрутизация между сетями.
- SNAT-группа в VRF — подмена адреса источника при обращении к серверам.