Base de Coñecemento Instrucións sinxelas para traballar co servizo Profitserver
Páxina Base de Coñecemento Guía de despregamento do servidor AmneziaWG

Guía de despregamento do servidor AmneziaWG


Cada vez máis xente usa a súa propia VPN en lugar de depender de servizos de pago predefinidos: é máis barata, mellor para a privacidade e dálle control total sobre o servidor. Unha das opcións máis eficaces para rexións con bloqueos de rede agresivos é AmneziaWG, un protocolo desenvolvido polo proxecto Amnezia sobre WireGuard.

O WireGuard clásico é rápido e fiable, pero ten unha estrutura de paquetes fixa e un handshake predicible, que os sistemas DPI (Inspección Profunda de Paquetes) poden detectar e bloquear de forma fiable. AmneziaWG resolve isto: engade paquetes lixo á conexión WireGuard ordinaria, aleatoriza as cabeceiras e cambia o tamaño dos campos do handshake, de xeito que a sinatura característica de WireGuard desaparece e o tráfico xa non destaca do tráfico UDP ordinario.

Xa estás a usar un túnel clásico e te preguntas se paga a pena cambialo? Compara isto cunha configuración simple de OpenVPN/PPTP en Configuración do servidor VPN en Linux: PPTP ou OpenVPN?, ou cunha configuración estándar de WireGuard (sen ofuscación) en Como configurar Wireguard VPN no teu servidor.

Esta guía configura un servidor AmneziaWG manualmente, sen Docker nin un panel web, o que supón o menor espazo posible no propio VPS, configurado completamente desde a liña de comandos. É a opción máis lixeira e funciona ben nun VPS económico, xa que non precisa nin GUI, nin base de datos, nin proxy inverso. O servidor de exemplo que aparece a continuación usa un enderezo IP provisional; substitúeo polo enderezo do teu propio VPS onde queira que apareza.

O que necesitarás: un VPS con Ubuntu 22.04/24.04 ou Debian 11/12, acceso root e o enderezo IP do teu VPS. Non se require un nome de dominio (AmneziaWG non usa certificados, polo que non hai nada que renovar nin nada que DPI poida marcar como un protocolo de enlace TLS).

Aínda non tes un servidor? Consulta Como pedir un servidor

Conectando ao servidor

Windows (PuTTY)

Abre PuTTY, introduce o teu enderezo IP do VPS no campo Nome do host, configura o porto en 22 e inicia sesión como root co contrasinal que che enviou o teu provedor de VPS por correo electrónico.

Enderezo IP do servidor: o teu enderezo IP

iniciar sesión como: root

Contrasinal: o teu contrasinal

1. Abre PuTTY e introduce o teu enderezo IP do VPS no campo Nome do host.  

1_7

2. Configura o porto en 22. 

2_7

3. Introduza iniciar sesión como root. 

3_7

4. Usando o contrasinal que che enviou o teu provedor de VPS por correo electrónico.

4_7

O resultado debería ser o seguinte:

5_7

Para obter unha guía detallada sobre a conexión mediante PuTTY/SSH, consulte Como conectarse a un servidor Linux mediante SSH.

Linux / macOS (terminal)

ssh root@YOUR_SERVER_IP

Todos os comandos seguintes execútanse no servidor, nesta mesma sesión SSH, que abrangue as seccións 2 a 5, ademais das comprobacións do servidor na sección 9. As seccións 6 a 8 (instalación e configuración do cliente VPN) realízanse no teu propio dispositivo Windows/macOS/Linux, xa que ese é o dispositivo no que a VPN necesita executarse; cada unha desas seccións indica explicitamente que liñas, se é o caso, aínda tocan o servidor.

Preparación do servidor

Actualiza o sistema

Antes de instalar nada, actualiza a lista de paquetes e actualiza os paquetes instalados:

apt update -y && apt upgrade -y

Se isto actualiza o kernel, reinicie antes de compilar o módulo do kernel AmneziaWG na Sección 3; se non, DKMS pode compilarse con cabeceiras do kernel incorrectas e o módulo non se cargará. (Para un repaso sobre apt e como funcionan os xestores de paquetes de Linux, consulte Xestores de paquetes de Linux ). Consulte con:

cat /var/run/reboot-required
6_7 7_7

Activar o reenvío de IP

Esta configuración permite que o servidor reenvíe os paquetes dos clientes a Internet; sen ela, o túnel activarase pero non pasará tráfico a través del.

echo "net.ipv4.ip_forward = 1" > /etc/sysctl.d/00-amnezia.conf
sysctl --system

O primeiro comando crea un ficheiro de configuración dedicado; o segundo aplícao sen reiniciar o servidor.

8_7

Configurar o cortafuegos (UFW)

Para obter máis información sobre as regras de UFW, consulte Configuración do cortafuegos en Linux.

Abre os dous portos que precisarás: 22/tcp para SSH (se omites esta regra, corres o risco de perder o acceso ao servidor) e 42666/udp, o porto polo que escoitará AmneziaWG.

apt install ufw -y
ufw allow 22/tcp
ufw allow 42666/udp
ufw --force enable
ufw status

Ambas as regras deberían mostrarse como PERMITIR na saída de estado de ufw.

9_7

Instalación de AmneziaWG

Debian non admite directamente os PPA ao estilo de Ubuntu, polo que o repositorio debe engadirse manualmente en lugar de con add-apt-repository. Isto funciona do mesmo xeito en Ubuntu.

Engadir o repositorio manualmente

Engadir o repositorio
echo "deb [arch=amd64] https://ppa.launchpadcontent.net/amnezia/ppa/ubuntu jammy main" > /etc/apt/sources.list.d/amnezia.list

Engadir a clave de sinatura de GPG

Usa un ficheiro de chaves deamored en lugar do comando obsoleto apt-key e obtén a chave de sinatura real do PPA (pegada dixital 75C9DD72C799870E310542E24166F2C257290828):

apt install -y gnupg2
gpg --keyserver keyserver.ubuntu.com --recv-keys 57290828
gpg --export 57290828 | tee /usr/share/keyrings/amnezia.gpg > /dev/null
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/amnezia.gpg] https://ppa.launchpadcontent.net/amnezia/ppa/ubuntu jammy main" > /etc/apt/sources.list.d/amnezia.list

Actualizar e instalar

apt update
apt install -y amneziawg
10_7

Verificar o módulo cargado

modprobe amneziawg
lsmod | grep amnezia
11_8

Xeración da configuración do servidor e do cliente

Instalar utilidades auxiliares

Instala a dependencia qrcode, crea un directorio de traballo dedicado e descarga nel o script community config-generator:

apt install -y python3-qrcode
mkdir -p ~/awg && cd ~/awg
wget -O awgcfg.py \
  https://gist.githubusercontent.com/remittor/8c3d9ff293b2ba4b13c367cc1a69f9eb/raw/awgcfg.py

Se python3-qrcode non está dispoñible nos repositorios da túa distribución, volve a pip3 install qrcode --break-system-packages (o indicador é necesario en Debian 12+/Ubuntu 24.04, que bloquean as instalacións de pip non xestionadas por defecto). Non executes as dúas instalacións; escolle unha.

Awgcfg.py é un script comunitario non oficial e de terceiros (do usuario de GitHub "remittor"), non unha ferramenta oficial do proxecto Amnezia. O URL anterior apunta ao contido bruto do gist sen un hash de revisión, polo que sempre extrae o último que o autor enviou: unha actualización silenciosa (ou a eliminación do gist) podería romper a configuración sen previo aviso. Sempre que sexa posible, anótao nunha revisión específica: abre o historial de revisións do gist, copia o hash de confirmación da versión que probaches e usa un URL do formulario desta guía. 

Xerar a configuración do servidor

Crea /etc/amnezia/amneziawg/awg0.conf. Podes deixar a subrede interna e o porto UDP do túnel nos seus valores predeterminados ou configurar os teus propios:

python3 awgcfg.py --make /etc/amnezia/amneziawg/awg0.conf \
  -i 10.10.8.1/24 -p 42666

O sinalizador -i define o enderezo de rede interno e a máscara do túnel; -p define o porto UDP do servidor (o mesmo que se abriu no paso 2.3).

12_8

Crear o modelo de configuración do cliente

python3 awgcfg.py --create

Isto garda un modelo no mesmo cartafol desde o que se crean as configuracións individuais dos clientes; xa inclúe a clave pública do servidor, o seu enderezo IP e os parámetros de ofuscación (Jc, Jmin, Jmax, S1, S2, H1–H4) que distinguen AmneziaWG de WireGuard simple.

13_8

Engadir clientes

Crea unha entrada por dispositivo; o nome pode ser calquera, por exemplo, o nome do dispositivo:

python3 awgcfg.py -a "laptop"
python3 awgcfg.py -a "phone"
14_8

Xerar ficheiros de clientes e códigos QR

python3 awgcfg.py -c -q

O cartafol ~/awg agora conterá ficheiros como laptop.conf e phone.conf, ademais de códigos QR PNG correspondentes que podes escanear directamente nunha aplicación móbil.

Este script da comunidade ten unha peculiaridade coñecida: ao executalo pódense eliminar outros ficheiros .init/state que puideses ter colocado no mesmo cartafol. Mantén ~/awg dedicado só aos ficheiros AmneziaWG e fai unha copia de seguridade das claves do servidor (a clave privada [Interface] en awg0.conf) noutro lugar antes de rexenerar as configuracións.
15_7

O cartafol ~/awg agora conterá ficheiros como laptop.conf e phone.conf, ademais de códigos QR PNG correspondentes que podes escanear directamente nunha aplicación móbil.

Este script da comunidade ten unha peculiaridade coñecida: ao executalo pódense eliminar outros ficheiros .init/state que puideses ter colocado no mesmo cartafol. Mantén ~/awg dedicado só aos ficheiros AmneziaWG e fai unha copia de seguridade das claves do servidor (a clave privada [Interface] en awg0.conf) noutro lugar antes de rexenerar as configuracións.

Inicio do servizo e activación do inicio automático

Abre a interface awg0 e permítea para que se inicie automaticamente ao reiniciar:

systemctl enable --now awg-quick@awg0
systemctl restart [email protected]
systemctl status [email protected]

O estado debería mostrar activo (pechado) coa unidade activada no arranque. Se a consola parece "colgarse" mostrando rexistros, prema Q para saír.

16_7

Consulta a lista de pares activos e o tráfico por par con:

awg show
17_7

Conectando desde Windows

Todo o contido desta sección ocorre no teu PC con Windows, non a través de SSH. O cliente VPN debe estar instalado no dispositivo que realmente usará o túnel. O único paso que afecta ao servidor é a descarga de scp na versión 6.2, e mesmo ese comando escríbese no teu PC, extraendo un ficheiro que o servidor xa xerou na sección 4.

Instalar o cliente

AmneziaWG ten unha aplicación dedicada para Windows: a súa interface é similar á do cliente estándar de WireGuard, pero entende os parámetros de ofuscación. Descarga o instalador desde o repositorio oficial do proxecto:

https://github.com/amnezia-vpn/amneziawg-windows-client/releases

A ligazón de arriba é a páxina de versións mantidas do cliente de Windows: descarga a última versión do recurso .msi/.exe desde alí. Esta é unha páxina para abrir no navegador, non un comando para pegar nun terminal.

Executa o instalador e segue o asistente de configuración paso a paso; non é necesario cambiar os valores predeterminados.

Importar a configuración

Copia o ficheiro de configuración do cliente do servidor ao teu ordenador. O xeito máis sinxelo é executar scp en PowerShell no teu ordenador, non no servidor:

18_7
scp root@YOUR_SERVER_IP:~/awg/laptop.conf .

Na aplicación AmneziaWG, fai clic en "Importar túneles desde ficheiro", selecciona laptop.conf e activa o botón que hai xunto ao novo túnel.

Conectando desde macOS

Todo isto ocorre no teu Mac, non a través de SSH. A liña scp que aparece a continuación escríbese no propio Terminal do Mac, extraendo a configuración que o servidor xa xerou na Sección 4; non se executa dentro da túa sesión SSH raíz no VPS.

Existen dúas opcións compatibles:

  • AmneziaWG (Mac App Store): un cliente lixeiro, funciona en macOS 12 e posterior. Busca "AmneziaWG" na App Store, instálao e, a seguir, usa "Importar túneles desde ficheiro" e selecciona o teu ficheiro .conf (o mesmo fluxo de traballo que o cliente de Windows).
  • AmneziaVPN (aplicación completa, macOS 14+): descarga o ficheiro .pkg desde github.com/amnezia-vpn/amnezia-client/releases/latest se prefires usar a aplicación completa de Amnezia en lugar do cliente lixeiro só para AmneziaWG.

Copia primeiro a configuración do cliente se é necesario, igual que no paso 6.2:

scp root@YOUR_SERVER_IP:~/awg/laptop.conf .

Conectando desde Linux

Ambas as opcións seguintes execútanse no teu ordenador de sobremesa/portátil Linux, é dicir, nunha sesión SSH separada (ou shell local) nesa máquina, non na sesión SSH raíz no VPS da Sección 1. Os comandos parecen idénticos aos do servidor porque se usa o mesmo paquete amneziawg-tools en ambos extremos, pero executalos aquí instala e inicia un túnel de cliente na túa propia máquina, non no servidor.

Nun ordenador de sobremesa ou portátil con Linux tes dúas opcións:

  • GUI: instala o cliente de escritorio completo de AmneziaVPN desde github.com/amnezia-vpn/amnezia-client/releases e, a seguir, importa o ficheiro .conf do mesmo xeito que en Windows/macOS.
  • CLI, usando as mesmas ferramentas amneziawg que se usan no servidor (awg / awg-quick):
apt install -y amneziawg
cp laptop.conf /etc/amnezia/amneziawg/awg0.conf
awg-quick up awg0

Executa este código para desconectar.

awg-quick down awg0 

Para que o túnel se active automaticamente ao iniciar sesión, habilíteo como servizo:

systemctl enable --now awg-quick@awg0

Verificando a conexión

Co túnel activo desde a Sección 6, 7 ou 8, volve ao teu propio dispositivo (non á sesión SSH) e abre calquera comprobador de "cal é o meu IP?" nun navegador; o enderezo mostrado debería coincidir co enderezo IP do teu VPS. Para verificar desde dentro da sesión SSH, executa awg show no servidor e confirma que o equipo do cliente mostra un handshake recente e tráfico distinto de cero.

referencia:

Campo

Valor

dirección

O_TEU_TÚNEL_IP (o enderezo do cliente dentro do túnel, por exemplo, 10.10.8.2/32, asignado automaticamente cando se engadiu o cliente no paso 4.4)

Endpoint

IP_DO_SERVIDOR:42666 (O enderezo IP externo do servidor e o porto UDP ao que se conecta o cliente.)

DNS

8.8.8.8

Jc / Jmín / Jmáx

número e tamaño dos paquetes "lixo" enviados antes do protocolo de conexión: poden variar entre o servidor e o cliente sen interromper a conexión

S1/S2

tamaño dos campos de recheo de handshake: debe coincidir byte por byte entre o servidor e cada cliente

H1 – H4

as cabeceiras de tipo paquete que enmascara o protocolo como tráfico ordinario, tamén deben coincidir exactamente e deben ser únicas entre si

Só S1/S2 e H1–H4 precisan ser idénticos en ambos extremos do túnel; Jc, Jmin e Jmax tratan puramente de como cada lado enche o seu propio tráfico lixo de saída, polo que os valores do cliente e do servidor poden diferir lexitimamente, como ocorre no exemplo anterior.

Conclusión

Seguir esta guía deixa o teu VPS executando o seu propio servidor AmneziaWG: un protocolo compatible con WireGuard con ofuscación do tráfico que é notablemente máis difícil de distinguir para os sistemas DPI do tráfico UDP ordinario que con WireGuard simple. O servizo execútase como a unidade systemd awg-quick@awg0 e sobrevive a un reinicio do servidor sen ningunha acción da túa parte.

Os ficheiros .conf e os códigos QR resultantes en ~/awg non só funcionan co cliente de Windows, senón que tamén se poden importar ás aplicacións AmneziaWG ou Amnezia para Android, iOS, macOS e Linux, así como para os enrutadores Keenetic e OpenWrt.

Engade novos clientes en calquera momento repetindo os pasos 4.4–4.5 (python3 awgcfg.py -a "name", despois awgcfg.py -c -q) e reiniciando a interface con systemctl restart [email protected].

Algúns hábitos que paga a pena manter unha vez que o servidor estea funcionando:

  • Mantén o sistema actualizado. Executa de novo apt update -y e apt upgrade -y periodicamente e reinicia despois das actualizacións do kernel para que DKMS reconstrua o módulo amneziawg co novo kernel.
  • Fai unha copia de seguridade de ~/awg. Contén a clave privada de cada cliente e o par de claves propio do servidor en awg0.conf; perdela significa rexenerar as configuracións para cada dispositivo.
  • Revogue os dispositivos perdidos canto antes. Elimine o bloque [Peer] correspondente de /etc/amnezia/amneziawg/awg0.conf e execute systemctl restart [protexido por correo electrónico].

Se a conexión non se establece, comprobe na seguinte orde:

  • o estado do servizo (estado do sistema) [protexido por correo electrónico])
  • as regras do cortafuegos (estado de ufw: o porto 42666/udp debe estar aberto)
  • o estado de DKMS/módulo se a interface nin sequera se inicia (estado de dkms, lsmod | grep amnezia)
  • a lista de pares activos no servidor (awg show)
  • que a configuración do cliente apunte ao enderezo IP correcto do servidor externo

Queres comparar AmneziaWG con outras opcións antes de facer un commit? Consulta Configuración do servidor VPN en Linux: PPTP ou OpenVPN? e Como configurar unha VPN Wireguard no teu servidor . Se só necesitas un proxy sinxelo en lugar dun túnel VPN completo, a configuración de 3proxy en CentOS/ArchLinux é unha alternativa máis lixeira. Para o reforzo xeral do servidor unha vez que a VPN estea activa, consulta Usuarios de Linux: Xestión e permisos.

❮ Artigo anterior Configuración de Hysteria2 e TUIC
Próximo artigo ❯ Guía de realidade VLESS de raios X: VPS, Windows, Mac, Android, iPhone

Pregúntanos por VPS

Sempre estamos preparados para responder ás súas preguntas a calquera hora do día ou da noite.