После каких-то очередных манипуляций на Ростелекоме мой wireguarg туннель приказал долго жить (как и IPv6 почему-то), поэтому перехожу на amneziawg. Amneziawg - это форк wg поддерживающий добавление шума в стандартный протокол wireguard.

Понятно, что в час Х, когда государство решит закрутить гайки, этот протокол будет легко забанен, но пока он работает и можно пользоваться. На крайний случай останется wg через vless, хотя скорость в таком случае не очень.

Установка в Ubuntu

Включаем источники src пакетов (deb-src) в /etc/apt/sources.list.d/ubuntu.sources

Types: deb deb-src
URIs: http://cdn.archive.ubuntu.com/ubuntu/
Suites: noble noble-updates noble-backports
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

Types: deb deb-src
URIs: http://security.ubuntu.com/ubuntu
Suites: noble-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

Добавляем ppa amneziawg и устанавливаем пакеты:

sudo add-apt-repository -y ppa:amnezia/ppa
sudo apt update
sudo apt install amneziawg
sudo modprobe amneziawg

Установка в Arch

yay -S amneziawg-dkms amneziawg-tools

Настройка

Копируем текущий конфиг wireguard

sudo cp /etc/wireguard/wg0.conf /etc/amnezia/amneziawg/awg0.conf

В секцию Interface добавляем J, S, H параметры.

[Interface]
Address = 10.9.0.1/32
PrivateKey = ...
MTU = 1420
Jc = 112
Jmin = 20
Jmax = 500
S1 = 0
S2 = 0
H1 = 1
H2 = 2
H3 = 3
H4 = 4
  • Jc - от 1 до 128
  • Jmax < 1280
  • Jmin < Jmax

У разработчиков написано “параметры S1, S2 и H1, H2, H3, H4 должны оставаться равными указанным значениям (иначе ничего не заработает)” - хуй знает, что это значит. Вообще изъясняются очень странно, как-будто школота какая-то писала.

Запускаем:

sudo awg-quick up awg0

Должен подняться интерфейс awg0.

Systemd

Для запуска с помощью systemd создаем /etc/systemd/system/[email protected]

[Unit]
Description=AmneziaWG via awg-quick(8) for %I
After=network-online.target nss-lookup.target
Wants=network-online.target nss-lookup.target

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/awg-quick up %i
ExecStop=/usr/bin/awg-quick down %i
ExecReload=/bin/bash -c 'exec /usr/bin/awg syncconf %i <(exec /usr/bin/awg-quick strip %i)'
Environment=WG_ENDPOINT_RESOLUTION_RETRIES=infinity

[Install]
WantedBy=multi-user.target

Включаем сервис

sudo systemctl daemon-reload
sudo systemctl enable awg-quick@awg0
sudo systemctl start awg-quick@awg0

На клиенте делаем то же самое.

По крайней мере этот сепат работает на конченом Ростелекоме.