Pull to refresh

Настройка BGP для обхода блокировок, версия 3, без VPS

Reading time3 min
Views79K

UPDATE: Статья перестала быть актуальной, новую версию читайте здесь.


Зачем всё это делается в принципе и как оно устроено логически — описано в первой и второй статьях.


После их публикации я получил несколько вопросов от людей, которые пользуются VPN с не принадлежащих им ресурсов (например, приобретающих коммерческую услугу VPN). Этим людям раньше я советовал завести VPS для развертывания BGP-сервиса или каким-то еще образом получить доступ к серверу на Linux.


Но с сегодняшнего дня для них (и для всех остальных) есть более удобный вариант — на бесплатном сервисе antifilter.download появилась возможность автоматически настраивать BGP-сессию с вашим маршрутизатором.


Для его использования вам необходимо иметь всего лишь:


  • фиксированный маршрутизируемый IP-адрес (т.н. "белый". Он может выделяться динамически, но должен быть всегда одним и тем же); UPD. Уже не важно, см. ниже по тексту.
  • маршрутизатор с поддержкой протокола BGP (в статье, традиционно, пример построен на базе RouterOS маршрутизаторов Mikrotik);
  • уже настроенный туннель VPN с этого маршрутизатора.

Умолчания в тексте статьи


  • имя интерфейса туннеля на маршрутизаторе — gre-tunnel1
  • номер автономной системы с вашей стороны — 64512 (выбираете сами в соответствии с RFC6996 — из диапазона 64512-65534 включительно).
  • внешний IP-адрес вашего маршрутизатора — 81.117.103.94

Последовательность действий, если вы хотите управлять сервисом и у вас есть фиксированный маршрутизируемый IP-адрес


Делаем раз


заходим из вашей сети (это важно) на сайт antifilter.download, проматываем до раздела BGP, нажимаем "Активировать управление BGP".


Делаем два


проверяем, что сайт показывает именно наш IP, вводим выбранный номер своей автономной системы, помечаем чекбоксы, какие именно маршруты отдавать, подтверждаем капчу, нажимаем "Создать пиринг". После этого сайт покажет, что для вашего адреса настройки существуют. Время применения настроек в сервисе — не более 5 минут.


Делаем три


заходим на свой маршрутизатор Mikrotik и настраиваем на нем BGP-пиринг с сервисом:


/ip route add dst-address=163.172.210.8/32 gateway=gre-tunnel1
/routing bgp instance set default as=64512 ignore-as-path-len=yes router-id=81.117.103.94
/routing bgp peer add hold-time=4m in-filter=bgp_in keepalive-time=1m multihop=yes name=antifilter remote-address=163.172.210.8 remote-as=65432 ttl=default
/routing filter add action=accept chain=bgp_in comment="Set nexthop to VPN" set-in-nexthop-direct=gre-tunnel1

Не забываем поменять умолчательные AS, IP и имя интерфейса на ваши. В вышеприведенных командах должно быть сделано четыре замены — не больше и не меньше.


… и всё работает


Если с момента нажатия кнопки "Создать пиринг" прошло более 5 минут и вы всё правильно настроили — у вас уже всё работает.


Если вы захотели поменять список выгружаемых в вашу сторону префиксов — это делается через удаление настроек на веб-странице и создание их вновь, благо — из настроек там одно число и три галочки.


Префиксы от сервиса маркируются соответствующими комьюнити, поэтому если захочется строить более сложные правила обработки — всё в ваших руках.


Настоятельно не рекомендую подключать список одиночных IP — даже топовым SOHO-маршрутизаторам Mikrotik от него не очень хорошо, а средние, например hAP lite, ведут себя крайне непредсказуемо.


UPD. Последовательность действий, если у вас нет фиксированного IP или вас устраивают настройки по умолчанию


Делаем раз


заходим на свой маршрутизатор Mikrotik и настраиваем на нем BGP-пиринг с сервисом:


/ip route add dst-address=163.172.210.8/32 gateway=gre-tunnel1
/routing bgp instance set default as=64999 ignore-as-path-len=yes router-id=81.117.103.94
/routing bgp peer add hold-time=4m in-filter=bgp_in keepalive-time=1m multihop=yes name=antifilter remote-address=163.172.210.8 remote-as=65432 ttl=default
/routing filter add action=accept chain=bgp_in comment="Set nexthop to VPN" set-in-nexthop-direct=gre-tunnel1

Не забываем поменять умолчательные router-id и имя интерфейса на ваши. В вышеприведенных командах должно быть сделано три замены — не больше и не меньше. В качестве router-id можете написать в принципе любое тридцатидвухбитное число в формате IP-адреса, но чтобы не вызвать спецэффектов при совпадении, я бы рекомендовал использовать ваш текущий внешний IP-адрес. При его изменениях менять его необходимости не будет.
Номер AS в этом случае фиксированный, 64999, как и набор анонсируемых префиксов (ipsum+subnet), если кому-то этого чересчур много — всегда можно при приеме фильтровать по комьюнити или другими способами манипулировать анонсами.


… и всё работает


Если после активации настроек на вашем роутере прошло более 5 минут и вы всё правильно настроили — у вас уже всё работает.
При смене IP-адреса сессия будет восстанавливаться ориентировочно в течение 5 минут.


Заключение


Да, я понимаю, что уже "горшочек, не вари", и надеюсь, что на этом для меня тема обхода блокировок закрыта.


На вопросы в комментариях, традиционно, отвечу, с настройкой помогу.

Tags:
Hubs:
If this publication inspired you and you want to support the author, do not hesitate to click on the button
Total votes 27: ↑27 and ↓0+27
Comments100

Articles