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

255 lines
6.5 KiB
Markdown

# Настройка RouterOS для работы с BGP сервером
## Требования
- RouterOS 7.14 или выше
- Доступ к командной строке RouterOS (WinBox, SSH, или Console)
- Сетевое подключение к BGP серверу
## Схема подключения
```
RouterOS (192.168.1.1) ←→ BGP Server (192.168.1.100)
AS: 65001 AS: 65000
```
## Пошаговая настройка
### Шаг 1: Проверка сетевого подключения
Убедитесь, что RouterOS может достичь BGP сервера:
```routeros
/ping 192.168.1.100 count=4
```
Ожидаемый результат:
```
HOST SIZE TTL TIME STATUS
192.168.1.100 56 64 0.5ms echo reply
192.168.1.100 56 64 0.4ms echo reply
192.168.1.100 56 64 0.5ms echo reply
192.168.1.100 56 64 0.4ms echo reply
sent=4 received=4 packet-loss=0% min-rtt=0.4ms avg-rtt=0.5ms max-rtt=0.5ms
```
### Шаг 2: Создание BGP экземпляра
```routeros
/routing bgp instance
add name=bgp-server as=65001 router-id=192.168.1.1
```
### Шаг 3: Настройка BGP сети
```routeros
/routing bgp network
add network=192.168.1.0/24
```
### Шаг 4: Настройка BGP пира
```routeros
/routing bgp peer
add name=bgp-server remote-address=192.168.1.100 remote-as=65000 instance=bgp-server
```
### Шаг 5: Включение BGP экземпляра
```routeros
/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" instance=bgp-server remote-address=192.168.1.100 remote-as=65000
tcp-md5-key="" nexthop-choice=default multihop=no route-reflect=no hold-time=3m
keepalive-time=1m address-families=ip,ipv6 default-originate=never remove-private-as=no
as-override=no passive=no use-bfd=no cisco-vpls-nlri-len-fmt=no add-path=0/0
remove-private-as-if-export=no in-filter="" out-filter=""
state=established uptime=1m30s prefix-count=8 updates-sent=8 updates-received=0
withdrawn-sent=0 withdrawn-received=0
```
## Дополнительные настройки
### Настройка MD5 аутентификации (рекомендуется)
```routeros
/routing bgp peer set bgp-server tcp-md5-key="your-secure-password"
```
### Настройка фильтров (опционально)
Создание фильтра для входящих маршрутов:
```routeros
/routing filter
add name=bgp-in chain=input protocol=bgp
add name=bgp-in chain=input protocol=bgp action=accept
```
Применение фильтра к BGP пиру:
```routeros
/routing bgp peer set bgp-server in-filter=bgp-in
```
### Настройка таймаутов
```routeros
/routing bgp peer set bgp-server hold-time=90s keepalive-time=30s
```
## Мониторинг и диагностика
### Проверка статуса BGP сессии
```routeros
/routing bgp peer print detail
```
### Просмотр полученных маршрутов
```routeros
/routing bgp routes print
```
### Просмотр логов BGP
```routeros
/log print where topics~"bgp"
```
### Проверка статистики BGP
```routeros
/routing bgp peer print stats
```
## Устранение неполадок
### Проблема: BGP сессия не устанавливается
1. Проверьте сетевое подключение:
```routeros
/ping 192.168.1.100
```
2. Проверьте настройки BGP пира:
```routeros
/routing bgp peer print detail
```
3. Проверьте логи:
```routeros
/log print where topics~"bgp"
```
### Проблема: Маршруты не получаются
1. Проверьте статус сессии:
```routeros
/routing bgp peer print
```
2. Проверьте фильтры:
```routeros
/routing filter print
```
3. Проверьте полученные маршруты:
```routeros
/routing bgp routes print
```
### Проблема: Неправильные AS номера
Убедитесь, что AS номера настроены правильно:
```routeros
/routing bgp instance print
/routing bgp peer print
```
## Полезные команды
### Экспорт конфигурации BGP
```routeros
/export compact where routing~"bgp"
```
### Сброс BGP сессии
```routeros
/routing bgp peer reset bgp-server
```
### Просмотр детальной информации о пире
```routeros
/routing bgp peer print detail where name="bgp-server"
```
### Мониторинг в реальном времени
```routeros
/routing bgp peer monitor bgp-server
```
## Безопасность
### Рекомендации по безопасности
1. **Используйте MD5 аутентификацию**
2. **Настройте фильтры для входящих маршрутов**
3. **Ограничьте доступ к BGP порту (179)**
4. **Регулярно проверяйте логи**
### Настройка firewall для BGP
```routeros
/ip firewall filter
add chain=input protocol=tcp dst-port=179 src-address=192.168.1.100 action=accept comment="BGP from server"
add chain=input protocol=tcp dst-port=179 action=drop comment="Block other BGP"
```
## Автоматизация
### Скрипт для автоматической настройки
Создайте файл `bgp-setup.rsc`:
```routeros
# BGP Setup Script
/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
:log info "BGP setup completed"
```
Загрузите и выполните скрипт:
```routeros
/import bgp-setup.rsc
```
## Заключение
После выполнения всех шагов RouterOS должен успешно установить BGP сессию с сервером и начать получать маршруты. Регулярно проверяйте статус сессии и логи для обеспечения стабильной работы.