Enhance Docker setup with ExaBGP CLI support and troubleshooting steps. Added named pipes for CLI communication, updated configuration file, and included validation checks for prefixes.txt file creation.
Build and Push Docker Image / build (push) Successful in 3m10s

This commit is contained in:
2025-07-11 16:15:59 +07:00
parent f4050a5839
commit a7684e03a1
3 changed files with 47 additions and 2 deletions
+32
View File
@@ -22,6 +22,9 @@ mkdir data
203.0.113.0/24 203.0.113.0/24
198.51.100.0/24 198.51.100.0/24
"@ | Out-File -FilePath "data/prefixes.txt" -Encoding UTF8 "@ | Out-File -FilePath "data/prefixes.txt" -Encoding UTF8
# Проверка создания файла
Get-Content data/prefixes.txt
``` ```
### 2. Запуск контейнера из registry ### 2. Запуск контейнера из registry
@@ -244,6 +247,35 @@ docker exec bgp-server cat /app/logs/prefixes.log
docker exec bgp-server ps aux | findstr load_prefixes 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: Простой запуск ### Пример 1: Простой запуск
+7 -2
View File
@@ -4,6 +4,12 @@ process load-prefixes {
encoder json; encoder json;
} }
# Настройки CLI
cli {
in /app/run/exabgp.in;
out /app/run/exabgp.out;
}
# Настройки BGP # Настройки BGP
neighbor 192.168.1.1 { neighbor 192.168.1.1 {
router-id 192.168.1.100; router-id 192.168.1.100;
@@ -16,9 +22,8 @@ neighbor 192.168.1.1 {
graceful-restart; graceful-restart;
} }
# Настройки сессии # Настройки сессии (hold-time автоматически рассчитывает keepalive)
hold-time 90; hold-time 90;
keepalive 30;
# Логирование # Логирование
api { api {
+8
View File
@@ -8,6 +8,14 @@ echo "Starting BGP Server..."
# Создание директорий если не существуют # Создание директорий если не существуют
mkdir -p /app/logs 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 if [ ! -f "/app/data/prefixes.txt" ]; then