diff --git a/DOCKER_RUN.md b/DOCKER_RUN.md index 7c6c347..c4fcc37 100644 --- a/DOCKER_RUN.md +++ b/DOCKER_RUN.md @@ -22,6 +22,9 @@ mkdir data 203.0.113.0/24 198.51.100.0/24 "@ | Out-File -FilePath "data/prefixes.txt" -Encoding UTF8 + +# Проверка создания файла +Get-Content data/prefixes.txt ``` ### 2. Запуск контейнера из registry @@ -244,6 +247,35 @@ docker exec bgp-server cat /app/logs/prefixes.log docker exec bgp-server ps aux | findstr load_prefixes ``` +### Проблема: Ошибки ExaBGP конфигурации + +```powershell +# Проверьте конфигурацию ExaBGP +docker exec bgp-server cat /app/exabgp.conf + +# Валидация конфигурации +docker exec bgp-server exabgp --validate /app/exabgp.conf + +# Проверьте named pipes +docker exec bgp-server ls -la /app/run/ + +# Проверьте логи ExaBGP +docker exec bgp-server cat /app/logs/exabgp.log +``` + +### Проблема: Файл prefixes.txt не найден + +```powershell +# Проверьте монтирование volume +docker exec bgp-server ls -la /app/data/ + +# Создайте файл вручную +docker exec bgp-server bash -c "echo '192.168.1.0/24' > /app/data/prefixes.txt" + +# Перезапустите контейнер +docker restart bgp-server +``` + ## Примеры использования ### Пример 1: Простой запуск diff --git a/exabgp.conf b/exabgp.conf index 862dde0..e21ba5f 100644 --- a/exabgp.conf +++ b/exabgp.conf @@ -4,6 +4,12 @@ process load-prefixes { encoder json; } +# Настройки CLI +cli { + in /app/run/exabgp.in; + out /app/run/exabgp.out; +} + # Настройки BGP neighbor 192.168.1.1 { router-id 192.168.1.100; @@ -16,9 +22,8 @@ neighbor 192.168.1.1 { graceful-restart; } - # Настройки сессии + # Настройки сессии (hold-time автоматически рассчитывает keepalive) hold-time 90; - keepalive 30; # Логирование api { diff --git a/scripts/start.sh b/scripts/start.sh index 446720c..bf0924a 100644 --- a/scripts/start.sh +++ b/scripts/start.sh @@ -8,6 +8,14 @@ echo "Starting BGP Server..." # Создание директорий если не существуют mkdir -p /app/logs +mkdir -p /app/run + +# Создание named pipes для CLI +if [ ! -p "/app/run/exabgp.in" ] || [ ! -p "/app/run/exabgp.out" ]; then + echo "Creating named pipes for ExaBGP CLI..." + mkfifo /app/run/exabgp.in /app/run/exabgp.out + chmod 600 /app/run/exabgp.in /app/run/exabgp.out +fi # Проверка наличия файлов с префиксами if [ ! -f "/app/data/prefixes.txt" ]; then