PfSense обход блокировок РКН BGP



  • Здравствуйте уважаемые форумчане!

    Поставили задачу обойти блокировки РКН. На хабре есть статьи и мне приглянулось решение с получением всех маршрутов блокированных сетей по BGP и перенаправлением трафика для этих маршрутов в поднятый vpn тунель в места где нет такой жесткой цензуры.
    В моей практике я еще никогда не работал с BGP, хотел попросить помощи на форуме, в мануалах pfSense очень скудно описан пакет openbgp...

    Собственно проблема в том что бы подключится к сторонней AS и получить у нее маршруты...



  • @coldzeek что делали? куда подключаетесь? на antifilter.download?



  • @coldzeek

    Без BGP. Размышления:

    1. Развернуть вовне VPS.
    2. Поднять на vps опенвпн-сервер (pritunl, streisand, pivpn ). Рекомендую поднимать впн-сервер на 443\TCP.
    3. Настроить пф как впн-клиент. Проверить, что туннель работает.
    4. Создать алиас с antifilter.download для заблокированных ресурсов (URL Table Aliase).
    5. Создать на пф явные правила fw (можно и во floating), к-ые заворачивают ВЕСЬ днс-трафик и трафик к ресурсам выше в этот туннель. Обязательно явно указать шлюзом впн. Поставить эти правила выше всех.
    6. Сбросить на клиентах ДНС-кеш и проверить доступ к ресурсам выше.


  • Спасибо за интерес к теме и за скорые ответы

    @werter said in PfSense обход блокировок РКН BGP:

    @coldzeek

    Без BGP. Размышления:

    1. Развернуть вовне VPS.
    2. Поднять на vps опенвпн-сервер (pritunl, streisand, pivpn ). Рекомендую поднимать впн-сервер на 443\TCP.
    3. Настроить пф как впн-клиент. Проверить, что туннель работает.
    4. Создать алиас с antifilter.download для заблокированных ресурсов (URL Table Aliase).
    5. Создать на пф явные правила fw (можно и во floating), к-ые заворачивают ВЕСЬ днс-трафик и трафик к ресурсам выше в этот туннель. Обязательно явно указать шлюзом впн. Поставить эти правила выше всех.
    6. Сбросить на клиентах ДНС-кеш и проверить доступ к ресурсам выше.

    Мыслю абсолютно в вашем ключе. пункты 1-3 выполнены и понятны. п. 4 Алиас создан, проблема в обновлении списков внутри алиаса, как раз хотел наполнять список маршрутами пришедшими по BGP c antifilter.download. п.5 и 6 тоже понятны, но еще не реализованы.

    @rubic said in PfSense обход блокировок РКН BGP:

    @coldzeek что делали? куда подключаетесь? на antifilter.download?

    Пытался подключится к AS antifilter.download. Не понимаю как правильно настроить подключение к их AS.

    Постараюсь в после решения проблема написать мануал, думаю что не только у меня возникают такие проблемы.
    @rubic Прочитал ваш топик по SSLH, интересно, скорее всего это наше будущее :(



  • @coldzeek
    Здр
    а не проще написать скрипт , который бы

    1. по Cron-у тащил бы нужные файлы со стороны
    2. Извлекал бы ip адреса из этих файлов и добавлял бы в таблицу/цы PF
    3. На основе этой таблицы делать PBR правило через VPN


  • @coldzeek said in PfSense обход блокировок РКН BGP:

    Пытался подключится к AS antifilter.download. Не понимаю как правильно настроить подключение к их AS.

    Опыта работы с BGP к сожалению нет и тестировать сейчас негде. А чем вам идея @werter не угодила? URL Table Alias подкачивает список IP/подсетей с определенного URL (например с https://antifilter.download/list/subnet.lst), причем делает это переодически



  • @rubic
    Насколько я вижу , не рекомендуется подкачивать более 3000 записей за 1 раз

    Enter as many URLs as desired. After saving, the URLs will be downloaded and the items imported into the alias. Use only with small sets of IP addresses (less than 3000).



  • @Konstanti
    Вроде там и др. есть, к-ое >3к записей умеет.



  • @Konstanti Да, не знал. В алиас-то хоть сколько можно погрузить. pfBlockerHG 11000 записей в таблице имеет, но грузит он сам, а URL отдает локально.



  • @rubic
    Вообще непонятно , откуда взялось такое ограничение , но в целом , я бы пробовал скриптом качать и построчно добавлять через pfctl адреса в таблицы .
    У меня есть подозрение , что это связано с количеством потоков , которые одновременно создает софт.
    Или маленькую программку написать , которая одним блоком запихнула бы данные в таблицу .

    Читаю документацию , нигде не указаны ограничения на такие операции.


Log in to reply