140 lines
9.1 KiB
Markdown
140 lines
9.1 KiB
Markdown
# Перенос конфигурации 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)](vpn-vps-amneziawg.md).
|
||
|
||
---
|
||
|
||
## Параметры обфускации совпадают
|
||
|
||
На обоих серверах снят вывод `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 (вместо США или дополнительно), конфигурацию можно перенести полностью.
|
||
|
||
1. **Развернуть сервер:** Ubuntu (или другая ОС из [требований Amnezia](https://docs.amnezia.org/ru/documentation/supported-linux-os-for-vps)), Docker, доступ по SSH с твоего ключа.
|
||
2. **Установить AmneziaWG через приложение AmneziaVPN:** добавить новый сервер по IP, установить протокол AmneziaWG. В настройках протокола на сервере задать те же параметры обфускации, что и сейчас: **jc, jmin, jmax, s1, s2, h1–h4** (значения из таблицы выше).
|
||
3. **Клиенты:** для нового сервера в AmneziaVPN сгенерировать новые гостевые конфиги (или конфиг с полным доступом). В конфиге будет новый Endpoint = IP:порт нового VPS. Старые ключи/пиры с предыдущего сервера на новый не копировать — у нового сервера свой ключ; важны только параметры обфускации на сервере и в клиенте.
|
||
4. **Роутер:** создать второе 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](https://docs.amnezia.org/ru/documentation/supported-linux-os-for-vps)).
|
||
- Установить Docker, настроить SSH-доступ с твоего ключа (для AmneziaVPN).
|
||
- На хосте: скопировать `docs/vps/amnezia-awg/Dockerfile` в каталог на VPS (например `/opt/amnezia/amnezia-awg/`), собрать образ:
|
||
```bash
|
||
cd /opt/amnezia/amnezia-awg
|
||
docker build -t amnezia-awg .
|
||
```
|
||
|
||
### 2. Запуск контейнера AmneziaWG
|
||
|
||
**Германия (или новый сервер с портом 33118):**
|
||
|
||
```bash
|
||
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):**
|
||
|
||
```bash
|
||
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
|
||
|
||
1. В приложении AmneziaVPN добавь сервер по IP нового VPS (SSH по ключу).
|
||
2. Установи протокол **AmneziaWG** на этот сервер (приложение подключится по SSH и настроит контейнер).
|
||
3. В настройках протокола на сервере задай параметры обфускации из таблицы выше: **jc, jmin, jmax, s1, s2, h1–h4**.
|
||
4. Сгенерируй гостевые конфиги / конфиг с полным доступом — в них будет Endpoint = IP:порт нового VPS.
|
||
|
||
### 4. Метрики для Homepage (опционально)
|
||
|
||
Чтобы виджет метрик на Homepage показывал данные с этого VPS:
|
||
|
||
```bash
|
||
# Скопировать скрипт и юнит на 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 для метрик.
|