Обновить

Каскад на AmneziaWG: собираем два сервера, чтобы российские сайты шли напрямую

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели6.4K
Всего голосов 6: ↑6 и ↓0+8
Комментарии15

Комментарии 15

Сложно все, я на домашнем роутере поднял VPN с учетом гео зон, на нем же поднял L2TP сервер и подключаюсь к нему со всех остальных устройств вне квартиры.

Хорошая схема, спасибо что поделились. Если дома белый IP и провайдер не режет L2TP - так и правда проще: одна коробка, без аренды, да и рунет видит домашний адрес, а не датацентр. Честный плюс.

Статья скорее для другого старта: серый IP за CGNAT (у нас это сплошь и рядом) или когда нужен туннель, переживающий DPI. L2TP легко опознаётся и его нередко режут, а без IPsec он ещё и не шифрует. AmneziaWG на современном WireGuard, полегче в настройке и с обфускацией под блокировки. Так что не сложнее, а под другую задачу.

Хорошая схема, спасибо что поделились

Это настолько очевидная схема, что не очень понятно, какие плюсы в том, чтобы использовать какие-либо другие. Если у вас есть домашний роутер/сервер, то вся логика маршрутизации должна реализовываться именно на нём, как для внутренних, так и для внешних клиентов. Любой VPS (российский или зарубежный) - это исключительно выходная нода с минимальным набором сетевых настроек в виде VPN сервера (где клиент только один - домашний сервер) с NAT-ом и пробросом портов на домашний сервер, если у него серый ip. Любой VPS сервер в этой схеме в любой момент можно безболезненно заменить, а вся маршрутизация продолжит прекрасно работать.

А вам не кажется очевидным, что не у всех есть возможность на роутере что-то подобное делать?

Окей, заменим

 Если у вас есть домашний роутер/сервер, то

на

Если у вас есть домашний роутер/сервер, который позволяет настраивать роутинг и поднимать VPN-клиенты/сервер, то

Так пойдёт?

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

не надо постоянно тыкать вкл и откл на квн телефонном, что бы скопировать что то на сайте и переслать в телегу

А как схема с подключением через домашний сервер этому помешает? Имеется в виду, что телефон, попадая в домашнюю сеть, будет продолжать держать VPN туннель до домашнего сервера? Ну, если прям супер лень настроить автоотключение VPN по названию точки доступа, то можно просто сделать VPN сервер доступным и для внутренних клиентов с теми же настройками.

Спасибо за интересную статью!

Какие преимущества этот вариант имеет перед использованием, например, клиента wgtunnel с включенной опцией App split tunneling и с одним vps?

Спасибо! Тут вопрос в том, что именно делить. У wgtunnel деление по приложениям: какие приложения пускать в туннель, какие мимо. А внутри одного браузера так уже не разделишь - и российские, и зарубежные сайты пойдут одинаково, либо всё через VPN, либо всё напрямую.

Каскад делит по адресу назначения и делает это на сервере: рунет напрямую, остальное за границу, сразу во всех приложениях и без настройки на каждом устройстве. Список российских подсетей обновляется в одном месте, а не гигантским AllowedIPs на каждом телефоне. И весь трафик уходит в туннель, так что провайдер видит только его.

Если App split с одним VPS закрывает задачу - он проще, тут без вопросов. Каскад берут, когда нужно деление по назначению и сразу на все устройства.

неделю гоняю такой, все работает, единственное gateway падал раз в 10 минут, на хостере play2go.cloud, они там udp не очень любят, я особо не разбираюсь) повесил на другого зарубежного хостера, рвет раз в полдня наверно, вечером вчера правда отвалы были, хз с чем связано, с утра полет нормальный, поставил Uptime Kuma, сижу мониторю )))

Спасибо, что поделился, приятно, что неделю уже держится. Судя по описанию, дело как раз в хостерах и UDP: дешёвые площадки его частенько режут или зажимают, отсюда и отвалы каждые 10 минут на первом. Так что тут хостер под UDP важнее железа. Uptime Kuma в тему, а если рвёт после простоя - помогает PersistentKeepalive на туннелях, чтобы соединение не засыпало.

Подскажите, чем интереснее использовать амнезию по сравнению с vless, который позволяет настроить точно так же все?

Тут не "интереснее", а разные инструменты под задачу, и VLESS я не принижаю. С Reality он отлично мимикрирует под обычный TLS на 443, часто устойчивее к серьёзному DPI и работает там, где режут UDP. Если он всё закрывает - хороший выбор.

По сути это разные вещи. AmneziaWG - L3-VPN на базе WireGuard: тянет весь трафик устройства, обычно быстрый и лёгкий, а сервер целиком поднимается установщиком. Гео-сплит при этом можно держать на самом сервере, и приложениям ничего настраивать не надо. VLESS чаще используют как прокси, где маршрутизация живёт на клиенте, хотя с TUN он тоже закрывает всё устройство.

Если совсем грубо: работает UDP и нужен простой быстрый VPN на всё устройство - AmneziaWG; давит UDP или важна незаметность под TLS - VLESS/Reality. Многие держат оба.

Единственный момент еще.... уважаемый @lked , а будет оно обновлять Амнезию при выходе новых версий? В родном их варианте, насколько мне известно, обновления не предусмотрены, что бы обновить на новую версию пакета, надо переустанавливать self-hosted, но там нет инструментов бэкапа, и слетают все выданные ключи. Есть вроде стороннее решение для бэкапа, но поставить не удалось.

Ключи не слетают, да. Само обновление AmneziaWG идёт через репозиторий: apt update && apt upgrade ставит новую версию, модуль DKMS пересобирается сам, а конфиг и ключи при этом не трогаются. После обновления ядра модуль тоже пересобирается автоматически.

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

И бэкап тут свой, встроенный, а не сторонний: команда manage_amneziawg.sh backup собирает в один архив серверный конфиг, клиентские конфиги, ключи и сроки, а restore разворачивает обратно. Так что перенос на другую машину или откат - без потери ключей.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации