51 lines
1.3 KiB
Docker
51 lines
1.3 KiB
Docker
FROM ubuntu:22.04
|
|
|
|
# Установка системных зависимостей и FRR
|
|
RUN apt-get update && apt-get install -y \
|
|
frr \
|
|
frr-pythontools \
|
|
python3 \
|
|
python3-pip \
|
|
iproute2 \
|
|
iputils-ping \
|
|
net-tools \
|
|
procps \
|
|
vim \
|
|
curl \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Установка Python зависимостей
|
|
RUN pip3 install watchdog
|
|
|
|
# Создание структуры директорий
|
|
RUN mkdir -p /app/scripts /app/data /app/logs /etc/frr
|
|
|
|
# Копирование файлов
|
|
COPY frr.conf /etc/frr/frr.conf
|
|
COPY scripts/ /app/scripts/
|
|
COPY data/ /app/data/
|
|
|
|
# Установка прав доступа
|
|
RUN chmod +x /app/scripts/start.sh
|
|
RUN chmod +x /app/scripts/load_prefixes.py
|
|
RUN chmod +x /app/scripts/generate_config.py
|
|
RUN chmod +x /app/scripts/monitor.py
|
|
|
|
# Рабочая директория
|
|
WORKDIR /app
|
|
|
|
# Открытие BGP порта
|
|
EXPOSE 179
|
|
|
|
# Установка переменных окружения по умолчанию
|
|
ENV BGP_LOCAL_AS=65000
|
|
ENV BGP_ROUTER_ID=192.168.100.99
|
|
ENV BGP_NEIGHBOR_IP=192.168.0.254
|
|
ENV BGP_NEIGHBOR_AS=65001
|
|
ENV BGP_HOLD_TIME=90
|
|
ENV BGP_KEEPALIVE=30
|
|
ENV BGP_LOG_LEVEL=info
|
|
ENV FRR_DAEMONS="bgpd zebra"
|
|
|
|
# Команда запуска
|
|
ENTRYPOINT ["/app/scripts/start.sh"] |