9.1 KiB
Перенос конфигурации AmneziaWG между серверами
Как развернуть тот же VPN на новом VPS и переключиться с одного сервера на другой без потери параметров обфускации. На роутере создаётся второе VPN-подключение, переключение — выбор нужного (Германия или США / новый сервер).
Два текущих сервера
| Параметр | Германия (основной) | США (второй) |
|---|---|---|
| IP | 185.103.253.99 | 147.45.124.117 |
| Порт AWG | 33118/UDP | 37135/UDP |
| Сеть | — | Netmask 255.255.254.0, Gateway 147.45.124.1 |
| Регион | Франкфурт-на-Майне | USA |
| Статус | Основной | Возможен отказ позже |
Подробнее про сервер в Германии: VPN-сервер (VPS, AmneziaWG).
Параметры обфускации совпадают
На обоих серверах снят вывод wg show (AmneziaWG). Параметры обфускации идентичны:
| Параметр | Значение |
|---|---|
| jc | 6 |
| jmin | 10 |
| jmax | 50 |
| s1 | 90 |
| s2 | 62 |
| h1 | 1455064900 |
| h2 | 852483043 |
| h3 | 2078090415 |
| h4 | 1981181588 |
Отличаются только: IP сервера, порт UDP, имя интерфейса (wg0 / awg0), ключи и список пиров. То есть один и тот же «профиль» обфускации можно воспроизвести на новом VPS — клиенты будут вести себя так же с точки зрения DPI.
Как перенести конфиг на новый сервер
Если позже арендуешь другой VPS (вместо США или дополнительно), конфигурацию можно перенести полностью.
- Развернуть сервер: Ubuntu (или другая ОС из требований Amnezia), Docker, доступ по SSH с твоего ключа.
- Установить AmneziaWG через приложение AmneziaVPN: добавить новый сервер по IP, установить протокол AmneziaWG. В настройках протокола на сервере задать те же параметры обфускации, что и сейчас: jc, jmin, jmax, s1, s2, h1–h4 (значения из таблицы выше).
- Клиенты: для нового сервера в AmneziaVPN сгенерировать новые гостевые конфиги (или конфиг с полным доступом). В конфиге будет новый Endpoint = IP:порт нового VPS. Старые ключи/пиры с предыдущего сервера на новый не копировать — у нового сервера свой ключ; важны только параметры обфускации на сервере и в клиенте.
- Роутер: создать второе VPN-подключение (второй профиль/интерфейс) с конфигом для нового сервера. Переключение — выбор активного подключения (Германия или США / новый хост).
Итог: параметры обфускации задаются вручную при настройке AmneziaWG на новом VPS так же, как на текущих; клиентские конфиги получаются из приложения уже с новым Endpoint.
Роутер: два подключения, переключение
- В настройках роутера создаётся дополнительное VPN-подключение (второй профиль AmneziaWG/WireGuard).
- Один профиль — Germany (185.103.253.99:33118), второй — USA (147.45.124.117:37135) или будущий новый сервер.
- Переключение: выбираешь активное подключение — либо одно, либо другое (или отключено). Маршруты/политики при необходимости те же для обоих (например, весь трафик в туннель или только часть по правилам).
Так можно в любой момент перейти с USA на новый VPS: добавляешь новый профиль с конфигом нового сервера и переключаешься на него.
Конфиги для полного восстановления сервера
Все файлы, чтобы поднять новый VPS с нуля (тот же образ и параметры контейнера). Ключи и пиры WireGuard создаются приложением AmneziaVPN при установке протокола — их не копируем.
Файлы в репозитории
| Назначение | Путь в репо |
|---|---|
| Dockerfile AmneziaWG | docs/vps/amnezia-awg/Dockerfile |
| Метрики для Homepage | scripts/vps-metrics-api.py |
| Systemd-юнит метрик | docs/vps/vps-metrics.service |
1. Подготовка VPS
- ОС: Ubuntu (или поддерживаемая Amnezia).
- Установить Docker, настроить SSH-доступ с твоего ключа (для AmneziaVPN).
- На хосте: скопировать
docs/vps/amnezia-awg/Dockerfileв каталог на VPS (например/opt/amnezia/amnezia-awg/), собрать образ:cd /opt/amnezia/amnezia-awg docker build -t amnezia-awg .
2. Запуск контейнера AmneziaWG
Германия (или новый сервер с портом 33118):
docker run -d --name amnezia-awg --restart=always \
-p 33118:33118/udp \
-v /lib/modules:/lib/modules \
--cap-add=NET_ADMIN --cap-add=SYS_MODULE \
--privileged \
--sysctl net.ipv4.conf.all.src_valid_mark=1 \
--security-opt label=disable \
amnezia-awg
США (или второй сервер с портом 37135):
docker run -d --name amnezia-awg2 --restart=always \
-p 37135:37135/udp \
-v /lib/modules:/lib/modules \
--cap-add=NET_ADMIN --cap-add=SYS_MODULE \
--privileged \
--sysctl net.ipv4.conf.all.src_valid_mark=1 \
--security-opt label=disable \
amnezia-awg
Важно: внутри контейнера AmneziaWG слушает тот порт, который задаётся при установке протокола через приложение (на Germany — 33118, на USA — 37135). Если поднимаешь новый сервер с другим портом, в команде меняй оба: -p ПОРТ:ПОРТ/udp и при установке AmneziaWG в приложении укажи тот же порт.
3. Установка протокола через AmneziaVPN
- В приложении AmneziaVPN добавь сервер по IP нового VPS (SSH по ключу).
- Установи протокол AmneziaWG на этот сервер (приложение подключится по SSH и настроит контейнер).
- В настройках протокола на сервере задай параметры обфускации из таблицы выше: jc, jmin, jmax, s1, s2, h1–h4.
- Сгенерируй гостевые конфиги / конфиг с полным доступом — в них будет Endpoint = IP:порт нового VPS.
4. Метрики для Homepage (опционально)
Чтобы виджет метрик на Homepage показывал данные с этого VPS:
# Скопировать скрипт и юнит на VPS
cp scripts/vps-metrics-api.py /usr/local/bin/
chmod +x /usr/local/bin/vps-metrics-api.py
cp docs/vps/vps-metrics.service /etc/systemd/system/
systemctl daemon-reload && systemctl enable --now vps-metrics
Порт 3497/tcp должен быть доступен с хоста, где крутится Homepage (или открыт в файрволе VPS).
5. Файрвол
На текущем сервере в Германии UFW не включён, политика iptables по умолчанию ACCEPT. Достаточно убедиться, что хостинг не режет входящий UDP на порт AmneziaWG (33118 или 37135) и при необходимости SSH (22) и 3497 для метрик.