29 lines
1.3 KiB
Bash
Executable File
29 lines
1.3 KiB
Bash
Executable File
#!/bin/sh
|
|
# Маршруты бэкенда (профиль A дизайна hpnn_v1, §3.2):
|
|
# - default остаётся на шлюзе Docker (.254) — собственный исходящий трафик
|
|
# бэкенда идёт мимо балансировщика;
|
|
# - через балансировщик маршрутизируются только клиентские префиксы и
|
|
# соседний приватный сегмент, то есть ответы на балансируемые сессии и
|
|
# транзит между сегментами.
|
|
#
|
|
# С шага 3 порт сегмента создаёт гипервизор (в стенде —
|
|
# scripts/attach-segment.sh), он же назначает адрес и эти маршруты: внутри ОС
|
|
# бэкенда не настраивается ничего. Переменные ниже оставлены для запуска стенда
|
|
# в прежней схеме, с docker-сетями.
|
|
set -eu
|
|
|
|
: "${LB_GW:=}"
|
|
: "${VIA_LB_ROUTES:=}"
|
|
|
|
if [ -n "$LB_GW" ]; then
|
|
for net in $(echo "$VIA_LB_ROUTES" | tr ',' ' '); do
|
|
ip route replace "$net" via "$LB_GW"
|
|
echo "[backend] маршрут $net via $LB_GW"
|
|
done
|
|
fi
|
|
|
|
echo "[backend] таблица маршрутизации:"
|
|
ip route || true
|
|
|
|
exec /usr/local/bin/backend "$@"
|