Files
denozord 5d4d24b49f
Build and Push Docker Image / build (push) Has been cancelled
Sure! Pl
2025-07-11 13:23:21 +07:00

5.1 KiB
Raw Permalink Blame History

Быстрый старт BGP сервера

Минимальные требования

  • Docker Desktop для Windows
  • PowerShell
  • RouterOS 7.14+ (на стороне клиента)

Быстрый запуск (5 минут)

1. Клонирование и подготовка

# Клонирование репозитория (если нужно)
git clone <repository-url>
cd bgp-server

# Создание необходимых директорий
mkdir logs

2. Настройка префиксов

Отредактируйте файл data/prefixes.txt:

192.168.1.0/24
10.0.0.0/8
172.16.0.0/12

3. Запуск сервера

# Запуск с автоматической сборкой
.\scripts\start-server.ps1 -Build

# Или вручную
docker-compose up -d --build

4. Проверка работы

# Проверка статуса
docker-compose ps

# Просмотр логов
docker-compose logs -f bgp-server

# Мониторинг
docker exec bgp-server python3 /app/scripts/monitor.py

5. Настройка RouterOS

Выполните в RouterOS:

/routing bgp instance add name=bgp-server as=65001 router-id=192.168.1.1
/routing bgp network add network=192.168.1.0/24
/routing bgp peer add name=bgp-server remote-address=192.168.1.100 remote-as=65000 instance=bgp-server
/routing bgp instance set bgp-server disabled=no

6. Проверка BGP сессии

В RouterOS:

/routing bgp peer print

Ожидаемый результат:

Flags: X - disabled, I - invalid, D - dynamic, E - established
 0   name="bgp-server" ... state=established uptime=1m30s prefix-count=8

Полезные команды

Управление сервером

# Запуск
.\scripts\start-server.ps1

# Остановка
.\scripts\stop-server.ps1

# Перезапуск
docker-compose restart

# Просмотр логов
docker-compose logs -f bgp-server

Мониторинг

# Проверка статуса
docker-compose ps

# Мониторинг ресурсов
docker stats bgp-server

# Проверка BGP сессии
docker exec bgp-server exabgpcli show neighbor

Обновление префиксов

# Перезагрузка префиксов без перезапуска
docker exec bgp-server python3 /app/scripts/reload_prefixes.py

# Или перезапуск сервера
docker-compose restart

Устранение неполадок

Проблема: Контейнер не запускается

# Проверка логов
docker-compose logs bgp-server

# Проверка портов
netstat -an | findstr :179

# Пересборка образа
docker-compose build --no-cache

Проблема: BGP сессия не устанавливается

# Проверка сетевого подключения
docker exec bgp-server ping 192.168.1.1

# Проверка конфигурации
docker exec bgp-server cat /app/exabgp.conf

# Проверка логов
docker-compose logs bgp-server

Проблема: Префиксы не анонсируются

# Проверка файлов с префиксами
docker exec bgp-server cat /app/data/prefixes.txt

# Проверка логов загрузки префиксов
docker exec bgp-server cat /app/logs/prefixes.log

# Перезагрузка префиксов
docker exec bgp-server python3 /app/scripts/reload_prefixes.py

Настройка сети

Изменение IP адресов

Отредактируйте docker-compose.yml:

environment:
  - BGP_ROUTER_ID=192.168.1.100  # IP сервера
  - BGP_NEIGHBOR_IP=192.168.1.1  # IP RouterOS

И exabgp.conf:

neighbor 192.168.1.1 {  # IP RouterOS
    router-id 192.168.1.100;  # IP сервера
    local-address 192.168.1.100;  # IP сервера
    # ...
}

Изменение AS номеров

В docker-compose.yml:

environment:
  - BGP_LOCAL_AS=65000    # AS сервера
  - BGP_NEIGHBOR_AS=65001 # AS RouterOS

В exabgp.conf:

neighbor 192.168.1.1 {
    local-as 65000;  # AS сервера
    peer-as 65001;   # AS RouterOS
}

Безопасность

MD5 аутентификация

В exabgp.conf:

neighbor 192.168.1.1 {
    # ... существующие настройки ...
    md5-password "your-secure-password";
}

В RouterOS:

/routing bgp peer set bgp-server tcp-md5-key="your-secure-password"

Firewall

# Windows Firewall (PowerShell)
New-NetFirewallRule -DisplayName "BGP Server" -Direction Inbound -Protocol TCP -LocalPort 179 -Action Allow

Готово!

После выполнения всех шагов у вас должен работать BGP сервер, который раздает префиксы из текстовых файлов в RouterOS.

Для получения дополнительной информации см. основной файл README.md.