Про сервис antifilter.download
Из-за большого наплыва пользователей после блокировки YouTube сервис испытывает перегрузки. Обещают починить.
Изначально я пользовался именно сервисом antifilter.download, но по непонятным для меня причинам он перестал у меня работать. Я пытался обращаться в группу данного сервиса, писал им на почту, но никакого ответа о проблеме не получил. Поэтому настройки этого сервиса в данной инструкции показаны не будут в полном объеме. Но у вас он наверняка заработает и держать его как запасной или основной хорошая идея.
В целом все настройки указаны на их сайте. Нужно просто прописать eBGP peer на адрес 45.154.73.71 и указать номер их автономной системы 65432. Номер собственной автономной системы можно взять любой от 64512 до 65535. Так же они рекомендуют настроить hold timer в 4 минуты. Если ваш провайдер блокирует BGP протокол, то нужно прописать статичный маршрут 45.154.73.71 через туннель.

По сути этот сервис очень простой, хотя там как и в следующем можно настраивать фильтрацию по комьюнити. Но каждый участник может добавлять различные сети в сервис путем голосования. Если проголосует 15 за, то сеть будет добавлена и все ее получат по BGP.
Про сервис antifilter.network
Из-за большого наплыва пользователей после блокировки YouTube сервис испытывает перегрузки. Обещают починить.
Основным сервисом сейчас для меня является antifilter.network. Я его считаю более функциональным. Настраивается он аналогично первому, но имеет ряд дополнений и особенностей.
Если у вас белый статический адрес, то прям на сайте указываете его и номер автономной системы. Отмечаете галочкой какие сети каких ресурсов хотите получать и настраиваете свое оборудование. Нужно просто прописать eBGP peer на адрес 51.75.66.20 и указать номер их автономной системы 65444. Номер собственной автономной системы 64999. Так же они рекомендуют настроить hold timer в 4 минуты. Если ваш провайдер блокирует BGP протокол, то нужно прописать статичный маршрут 51.75.66.20 через туннель.

Что делать если у вас нет белого статического адреса? Для решения этой задачи на сервисе есть специальный VPN. Не тот, через который будет ходить трафик, а для BGP соединения. Вообще наверно даже рекомендуется использовать VPN, а не через статический адрес, но тут я могу ошибаться.

Поднимаете VPN например PPTP, а данные для подключения получаете все у того же телеграм бота antifilter.vpn. Он пришлет вам куда подключаться, логин и пароль. Далее с помощью этого бота можно настроить сети, которые он будет вам анонсировать. Очень удобно на мой взгляд.
Нужно просто после поднятия их VPN прописать eBGP peer на адрес 10.75.66.20 и указать номер их автономной системы 65444. Номер собственной автономной системы можно любой от 64512 до 65535. Так же они рекомендуют настроить hold timer в 4 минуты.
Если вы изменили тут какие-то настройки, то для применения изменений достаточно сделать Refresh сессии BGP. Подробнее о настройках будет ниже.

Методом тыка я обнаружил, что для того что бы ютуб работал и шел без тормозов нужно отметить не только сам ютуб но и гугл.
Еще одним нюансом является, то что если у вас очень мощный роутер, то вместо 100 и 110 можно указать 200 и 210. Тогда прилетит более 140 тысяч маршрутов, но зато вы получите более точенную маршрутизацию.
Настройка Mikrotik
К настройкам, особенно базовым, я подойду формально. Перед собой ставлю задачу показать принцип, а не пошаговые действия. Так же это шпаргалка для меня на будущее, т.к. я точно уже скоро все это забуду.
Так же в этой инструкции я не затрону тему защиты, но в другом моем материале это рассказно Mikrotik настройка Firewall и QOS
Продвинутых настроек с фильтрацией комьюнити тут тоже не будет. Все максимально просто, на сколько это может быть.
Базовая настройка Mikrotik
По-хорошему нужно создать bridge и интерфейс bridge, но так как у меня всего два интерфейса то мне это не нужно
/interface ethernet
set [ find default-name=ether1 ] disable-running-check=no
set [ find default-name=ether2 ] disable-running-check=no
set [ find default-name=ether3 ] disable-running-check=no
/interface list
add name=LAN
add name=WAN
/interface list member
add interface=ether2 list=LAN
add interface=ether1 list=WAN
Я получаю IP адрес от провайдера по DHCP, поэтому первым делом настраиваю DHCP клиент
/ip dhcp-client
add interface=ether1 use-peer-dns=no

Настройка DHCP сервера
/ip pool
add name=VxNet ranges=10.17.68.100-10.17.68.200
# Включение DHCP сервера
/ip dhcp-server
add address-pool=VxNet interface=ether2 name=DHCP-VxNet
/ip address
add address=10.17.68.1/24 interface=ether2 network=10.17.68.0
/ip dhcp-server network
add address=10.17.68.0/24 dns-server=10.17.68.1 gateway=10.17.68.1 netmask=24

Настроим DNS сервер
/ip dns
set allow-remote-requests=yes servers=192.168.68.15

Настройка NAT для локальной сети
# Настрйока NAT
/ip firewall nat
# Правило для локальной сети
add action=masquerade chain=srcnat comment="NAT WAN" out-interface-list=WAN src-address=10.17.68.0/24

Другие незначительные настройки
/system clock
set time-zone-name=Asia/Omsk
/system note
set show-at-login=no
/system ntp client
set enabled=yes
/system ntp client servers
add address=192.168.68.10
Настройка WireGuard туннеля
Как я и говорил выше настройку как поднять WG туннель на Mikrotik подробно разбирать не буду. Если делаете первый раз и не понимаете, лучше поискать в интернете.
На самом деле принцип очень простой, создаете интерфейс и пир с прописанными ключами, адресами и портами и не забывайте настраивать NAT если необходимо в вашей ситуации как в моей.
# Создание интерфейса WG
/interface wireguard
add listen-port=13231 mtu=1420 name=wg0
# Настройка peer WG
/interface wireguard peers
add allowed-address=0.0.0.0/0 endpoint-address=IP-SERVER endpoint-port=55662 interface=wg0 name=VitrWG \
persistent-keepalive=5m preshared-key="ВАШ preshared-key" public-key=\
"ВАШ public-key"
# Правило для WG VPN
add action=masquerade chain=srcnat comment="NAT WG" out-interface=wg0

Настройка antifilter.network VPN
Как я и говорил, если нет белого статического адреса или просто так лучше вам, то сначала поднимаем туннель для стыка по BGP. Напоминаю, что данные для этого стыка нужно взять у бота.
Некоторые спросят для чего тут NAT?
Все дело в том, что у BGP пира я не прописывал локальный адрес, так как не знаю динамический он у данного соединения PPTP или нет. В результате при обращении роутра к BGP пиру (настройки будут ниже) он подставляет адрес источника наименьший адрес 172.16.66.13, который у него есть. Как результат соединение BGP не работает. Что бы этого избежать мне пришлось настроить NAT на PPTP туннеле.
Протокол BGP использует TCP транспорт, поэтому без каких либо проблем работает через NAT
# Создание интерфейса PPTP для BGP стыка с antifilter.network
/interface pptp-client
add connect-to=vpn.antifilter.network dial-on-demand=yes disabled=no name=antifilter.network user=UserName
# Правило NAT для PPTP VPN antifilter.network
add action=masquerade chain=srcnat comment="NAT WAN" out-interface=antifilter.network

Настройка antifilter.network BGP
Создание шаблонов вообще не обязательно. Это чисто мое желание. Тут можно задать вашу автономну систему, таймеры и некоторые другие параметры, которые будут повторятся в нескольких местах.
# Cоздание шаблонов для BGP
/routing bgp template
add as=64999 disabled=no hold-time=4m input.filter=bgp_in .ignore-as-path-len=yes keepalive-time=1m multihop=yes name=\
antifilter.network routing-table=main

Сама настройка BGP пира довольно простая. Указываете имя, шаблон при желании, номер автономной системы (есть в шаблоне), ID вашего роутера (обычно это loopback0, но так как в домашнем роутре его нет, то я указал его адрес из локальной сети), естественно что указываем адрес пира 10.75.66.20, удаленную автономную систему 65444. Hold time и Keepalive тоже можно оставить в темплейте.
Самая соль в bgp_in. Это то что будет обрабатывать и заворачивать маршруты полученные по этому BGP стыку в нужное место.
# BGP настройки
/routing bgp connection
add as=64999 comment="antifilter.network VPN" disabled=no hold-time=4m input.filter=bgp_in .ignore-as-path-len=yes \
keepalive-time=1m local.role=ebgp multihop=yes name="antifilter.network VPN" remote.address=10.75.66.20/32 .as=\
65444 router-id=10.17.68.1 routing-table=main templates=antifilter.network

Этим правилом завернем все полученные маршруты по BGP в интерфейс wg0.
Странным образом в конфиге интерфейс wg0 отображается как *0x6. Не знаю почему, но в графике отображается корректно.
/routing filter rule
add chain=bgp_in comment="set gw wg0; accept;" disabled=no rule="set gw *0x6; accept;"

В итоге вы должны увидеть рабочую сессию BGP и какое-то количество полученных префиксов. А так же очень большую таблицу маршрутизации примерно равную или равную количеству полученных по BGP префиксов. У меня она порой бывает более 35 тысяч штук.

Так как я пожелал получать сети ютуба и гугла, то сервис YouTube у меня открывается и работает без тормозов. Правда теперь в нем очень много рекламы. Не удивительно, т.к. для него я нахожусь далеко от того места где находится моя квартира. В то же время, все другие сайты, доступные только из России, остались доступными как и раньше через вашего провайдера и не используют туннель..

После того как у вас все разаботает я рекомендую запретить отдавать по BGP ваши маршруты. Это полезно для безопасности и корректной работы. Вам нужно создать соответствующее правило и привязать его к BGP пиру.
/routing filter rule
add chain=discard-all comment="ALL discard" disabled=no rule="reject;"
