# Настройка 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 сессию с сервером и начать получать маршруты. Регулярно проверяйте статус сессии и логи для обеспечения стабильной работы.