Sure! Pl
Build and Push Docker Image / build (push) Has been cancelled

This commit is contained in:
2025-07-11 13:23:21 +07:00
commit 5d4d24b49f
19 changed files with 2237 additions and 0 deletions
+228
View File
@@ -0,0 +1,228 @@
# Быстрый старт BGP сервера
## Минимальные требования
- Docker Desktop для Windows
- PowerShell
- RouterOS 7.14+ (на стороне клиента)
## Быстрый запуск (5 минут)
### 1. Клонирование и подготовка
```powershell
# Клонирование репозитория (если нужно)
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. Запуск сервера
```powershell
# Запуск с автоматической сборкой
.\scripts\start-server.ps1 -Build
# Или вручную
docker-compose up -d --build
```
### 4. Проверка работы
```powershell
# Проверка статуса
docker-compose ps
# Просмотр логов
docker-compose logs -f bgp-server
# Мониторинг
docker exec bgp-server python3 /app/scripts/monitor.py
```
### 5. Настройка RouterOS
Выполните в 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:
```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
```
## Полезные команды
### Управление сервером
```powershell
# Запуск
.\scripts\start-server.ps1
# Остановка
.\scripts\stop-server.ps1
# Перезапуск
docker-compose restart
# Просмотр логов
docker-compose logs -f bgp-server
```
### Мониторинг
```powershell
# Проверка статуса
docker-compose ps
# Мониторинг ресурсов
docker stats bgp-server
# Проверка BGP сессии
docker exec bgp-server exabgpcli show neighbor
```
### Обновление префиксов
```powershell
# Перезагрузка префиксов без перезапуска
docker exec bgp-server python3 /app/scripts/reload_prefixes.py
# Или перезапуск сервера
docker-compose restart
```
## Устранение неполадок
### Проблема: Контейнер не запускается
```powershell
# Проверка логов
docker-compose logs bgp-server
# Проверка портов
netstat -an | findstr :179
# Пересборка образа
docker-compose build --no-cache
```
### Проблема: BGP сессия не устанавливается
```powershell
# Проверка сетевого подключения
docker exec bgp-server ping 192.168.1.1
# Проверка конфигурации
docker exec bgp-server cat /app/exabgp.conf
# Проверка логов
docker-compose logs bgp-server
```
### Проблема: Префиксы не анонсируются
```powershell
# Проверка файлов с префиксами
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`:
```yaml
environment:
- BGP_ROUTER_ID=192.168.1.100 # IP сервера
- BGP_NEIGHBOR_IP=192.168.1.1 # IP RouterOS
```
И `exabgp.conf`:
```ini
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`:
```yaml
environment:
- BGP_LOCAL_AS=65000 # AS сервера
- BGP_NEIGHBOR_AS=65001 # AS RouterOS
```
В `exabgp.conf`:
```ini
neighbor 192.168.1.1 {
local-as 65000; # AS сервера
peer-as 65001; # AS RouterOS
}
```
## Безопасность
### MD5 аутентификация
В `exabgp.conf`:
```ini
neighbor 192.168.1.1 {
# ... существующие настройки ...
md5-password "your-secure-password";
}
```
В RouterOS:
```routeros
/routing bgp peer set bgp-server tcp-md5-key="your-secure-password"
```
### Firewall
```powershell
# Windows Firewall (PowerShell)
New-NetFirewallRule -DisplayName "BGP Server" -Direction Inbound -Protocol TCP -LocalPort 179 -Action Allow
```
## Готово!
После выполнения всех шагов у вас должен работать BGP сервер, который раздает префиксы из текстовых файлов в RouterOS.
Для получения дополнительной информации см. основной файл `README.md`.