Настройте eBGP-сессию своего роутера с нашим route-server — и вы будете получать только те префиксы, которые отметили на сайте. Сайт не раздаёт файлы: он управляет тем, какие префиксы анонсируются конкретно вам.
Значения загружаются с сервера — они всегда актуальны, ничего вручную править не нужно.
Именно с этого адреса должен устанавливаться ваш BGP-сессия. Адрес определяет сервер — вводить его на сайте не нужно.
По публичному IPv4: адрес, с которого вы открыли сайт, мы записываем как адрес вашего роутера. BGP-сессия с другого адреса ваш выбор не получит.
Поэтому открывайте сайт из той же сети, где стоит роутер, и без VPN и прокси — иначе выбор привяжется к адресу VPN-сервера. Адрес, который мы видим, показан в блоке «Ваш адрес».
Если адрес сменился. При динамическом IP зайдите на сайт снова и примените выбор заново.
CGNAT (серый IP) не подойдёт. За CGNAT несколько абонентов выходят в интернет с одного публичного адреса, и мы не можем их различить: выбор одного перезапишет выбор другого, а BGP-сессии будут конфликтовать. Проверить просто: сравните адрес на WAN-интерфейсе роутера с адресом в блоке «Ваш адрес». Если они разные, скорее всего, вы за CGNAT — закажите у провайдера белый (публичный) IPv4.
Выберите свою версию RouterOS, скопируйте сниппет и выполните команды в терминале роутера.
Версию можно узнать командой /system/resource/print (строка version).
В сниппете уже подставлен приватный ASN — можно оставить его или заменить на свой. Подойдёт любой ASN из приватного диапазона 64512–65534, если он не совпадает с нашим. Чужие публичные ASN не используйте.
Загрузка параметров…
prefix-service-in принимает маршруты от
route-server, prefix-service-out запрещает любые анонсы с вашей стороны.prefix-service с вашим ASN.
С версии 7.20 ASN задаётся в инстансе, а не в соединении. Отдельный инстанс не мешает другим вашим
BGP-сессиям.prefix-service с нашим route-server.local.role=ebgp — внешнее BGP-соединение (eBGP).multihop=yes — route-server находится не в вашей локальной сети, а в интернете. Без этого
параметра сессия не поднимется.hold-time — рекомендуемый hold timer (см. ниже).address-families=ip — только IPv4.input.filter и output.filter-chain — входящая и исходящая цепочки фильтров.reject в исходящей цепочке гарантирует, что ваш роутер ничего не
анонсирует route-server'у, даже если у вас настроены другие BGP-сессии.Hold timer. Рекомендуемое значение — … сек. Это время, после которого сессия считается разорванной, если от соседа не приходят ни keepalive, ни update. Стороны используют меньшее из двух значений, поэтому параметр можно убрать и оставить значение по умолчанию вашего роутера (в RouterOS — 3 минуты).
По умолчанию сниппет просто принимает маршруты. Чтобы трафик выбранных сервисов пошёл через туннель или другой шлюз, укажите его во входящем фильтре:
/routing/filter/rule set [find chain=prefix-service-in] rule="set gw wg0; accept"
Вместо wg0 укажите имя интерфейса туннеля (например, WireGuard) или IP-адрес шлюза.
Важно: сама BGP-сессия с route-server должна идти через основной канал, а не через туннель. Иначе route-server увидит другой адрес и сессия разорвётся.
/routing/bgp/connection remove [find name=prefix-service] /routing/filter/rule remove [find chain~"prefix-service"]
Если у вас не MikroTik, настройте пиринг по тем же параметрам. Роутер должен:
remote-as;FRR. Учтите две особенности:
ip nht resolve-via-default полученные
маршруты будут помечены как недоступные.Пример конфигурации (vtysh):
Загрузка параметров…
После настройки сессии проверьте её состояние. В RouterOS 7:
/routing/bgp/session print where name="prefix-service"
Статус established означает, что сессия работает; после этого вы начинаете
получать префиксы сервисов, отмеченных на сайте.