Files
hpnn-proto/backend/entrypoint.sh
T

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 "$@"