Base de Coneixements Instruccions senzilles per treballar amb el servei Profitserver
Inici Base de Coneixements Guia de desplegament del servidor AmneziaWG

Guia de desplegament del servidor AmneziaWG


Cada cop més gent utilitza la seva pròpia VPN en comptes de dependre de serveis de pagament ja fets: és més barat, millor per a la privadesa i et dóna un control total del servidor. Una de les opcions més efectives per a regions amb bloqueig de xarxa agressiu és AmneziaWG, un protocol desenvolupat pel projecte Amnezia sobre WireGuard.

El WireGuard clàssic és ràpid i fiable, però té una estructura de paquets fixa i una handshake predictible, que els sistemes DPI (Deep Packet Inspection) poden detectar i bloquejar de manera fiable. AmneziaWG ho soluciona: afegeix paquets brossa a la connexió WireGuard ordinària, aleatoritza les capçaleres i canvia la mida dels camps d'handshake, de manera que la signatura característica de WireGuard desapareix i el trànsit ja no destaca del trànsit UDP ordinari.

Ja executes un túnel clàssic i et preguntes si val la pena canviar? Compara això amb una configuració OpenVPN/PPTP senzilla a Configuració del servidor VPN a Linux: PPTP o OpenVPN?, o amb WireGuard estàndard (sense ofuscació) a Com configurar Wireguard VPN al servidor.

Aquesta guia configura un servidor AmneziaWG manualment, sense Docker ni un panell web, la petjada més petita possible al propi VPS, configurat completament des de la línia d'ordres. És l'opció més lleugera i funciona bé en un VPS econòmic, ja que no necessita ni GUI, ni base de dades, ni proxy invers. El servidor d'exemple següent utilitza una adreça IP de marcador de posició; substituïu-la per l'adreça del vostre propi VPS allà on aparegui.

Què necessitareu: un VPS amb Ubuntu 22.04/24.04 o Debian 11/12, accés root i l'adreça IP del vostre VPS. No cal un nom de domini: AmneziaWG no utilitza certificats, de manera que no hi ha res a renovar ni res que DPI pugui marcar com a protocol de connexió TLS.

Encara no tens un servidor? Consulta Com demanar un servidor

Connexió al servidor

Windows (PuTTY)

Obriu PuTTY, introduïu l'adreça IP del vostre VPS al camp Nom de l'amfitrió, configureu el port a 22 i inicieu la sessió com a root amb la contrasenya que us ha enviat el vostre proveïdor de VPS per correu electrònic.

Adreça IP del servidor: la vostra adreça IP

iniciar sessió com a: root

Contrasenya: la teva contrasenya

1. Obriu PuTTY i introduïu l'adreça IP del vostre VPS al camp Nom de l'amfitrió.  

Finestra de configuració predeterminada de PuTTY, abans d'introduir els detalls de la connexió.

2. Configureu el port a 22. 

La sessió s'ha omplert amb l'adreça IP del VPS i el port 22, amb la sessió desada "El meu VPS" seleccionada i llesta per fer clic a Obre.

3. Introduïu inicieu sessió com a root. 

Una nova finestra de terminal PuTTY que obre la sessió SSH i demana el nom d'usuari d'inici de sessió.

4. Utilitzant la contrasenya que el teu proveïdor de VPS et va enviar per correu electrònic.

Després d'escriure root, PuTTY demana la contrasenya del compte.

El resultat hauria de ser el següent:

Un inici de sessió correcte: el bàner del missatge del dia de Debian seguit de l'indicador de l'intèrpret d'ordres de root (root@copywr:~#).

Per obtenir una guia detallada sobre com connectar-se mitjançant PuTTY/SSH, vegeu Com connectar-se a un servidor Linux mitjançant SSH.

Linux / macOS (terminal)

ssh root@YOUR_SERVER_IP

Totes les ordres següents s'executen al servidor, en aquesta mateixa sessió SSH, que cobreix les seccions 2 a 5, a més de les comprovacions del servidor de la secció 9. Les seccions 6 a 8 (instal·lació i configuració del client VPN) es duen a terme al vostre propi dispositiu Windows/macOS/Linux, ja que aquest és el dispositiu on la VPN ha d'executar-se; cadascuna d'aquestes seccions indica explícitament quines línies, si n'hi ha, encara toquen el servidor.

Preparant el servidor

Actualitza el sistema

Abans d'instal·lar res, actualitzeu la llista de paquets i actualitzeu els paquets instal·lats:

apt update -y && apt upgrade -y

Si això actualitza el nucli, reinicieu abans de compilar el mòdul del nucli AmneziaWG a la Secció 3; en cas contrari, DKMS pot compilar-se amb les capçaleres del nucli incorrectes i el mòdul no es podrà carregar. (Per a un repàs sobre apt i com funcionen els gestors de paquets de Linux, consulteu Gestors de paquets de Linux .) Consulteu amb:

cat /var/run/reboot-required
Actualització d'Apt descarregant un nou paquet del nucli (linux-image-6.1.0-52-amd64) durant l'actualització del sistema. Actualització d'Apt finalitzada: l'initramfs es regenera i els serveis afectats es reinicien.

Activa el reenviament d'IP

Aquesta configuració permet que el servidor reenviï els paquets dels clients a Internet; sense ella, el túnel s'activarà però no hi passarà trànsit.

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

La primera ordre crea un fitxer de configuració dedicat; la segona l'aplica sense reiniciar el servidor.

sysctl --system aplica cada fitxer de configuració sysctl.d, confirmant que net.ipv4.ip_forward = 1 ara està actiu.

Configura el tallafocs (UFW)

Per obtenir més informació sobre les regles d'UFW, vegeu Configuració del tallafoc a Linux.

Obriu els dos ports que necessitareu: 22/tcp per a SSH (si ometeu aquesta regla, us arrisqueu a perdre l'accés al servidor) i 42666/udp, el port que escoltarà AmneziaWG.

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

Ambdues regles haurien de mostrar-se com a ALLOW a la sortida d'estat d'ufw.

L'estat d'Ufw que confirma que 22/tcp i 42666/udp estan permesos tant per a IPv4 com per a IPv6, amb el tallafocs actiu.

Instal·lació d'AmneziaWG

Debian no admet directament els PPA d'estil Ubuntu, per la qual cosa el repositori s'ha d'afegir manualment en comptes de fer-ho amb add-apt-repository. Això funciona de la mateixa manera a Ubuntu.

Afegiu el repositori manualment

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

Afegiu la clau de signatura de GPG

Feu servir un fitxer de clauer dearmat en lloc de l'ordre obsoleta apt-key i obteniu la clau de signatura real del PPA (empremta digital 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

Actualitzar i instal·lar

apt update
apt install -y amneziawg
Sortida d'Apt install -y amneziawg: DKMS compila el mòdul del nucli amneziawg contra el nucli en execució i completa la instal·lació.

Verifica que el mòdul s'ha carregat

modprobe amneziawg
lsmod | grep amnezia
Modprobe amneziawg seguit de lsmod, confirmant que el mòdul amneziawg i les seves dependències (curve25519, chacha20poly1305, etc.) estan carregats.

Generació de la configuració del servidor i del client

Instal·leu les utilitats auxiliars

Instal·leu la dependència qrcode, creeu un directori de treball dedicat i descarregueu-hi l'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

Si python3-qrcode no està disponible als repositoris de la teva distribució, torna a pip3 install qrcode --break-system-packages (el senyalador és obligatori a Debian 12+/Ubuntu 24.04, que bloqueja les instal·lacions de pip no gestionades per defecte). No executis les dues instal·lacions; tria'n una.

Awgcfg.py és un script comunitari de tercers no oficial (de l'usuari "remittor" de GitHub), no una eina oficial del projecte Amnezia. L'URL anterior apunta al contingut brut del gist sense un hash de revisió, de manera que sempre extreu el que l'autor va enviar per última vegada; una actualització silenciosa (o l'eliminació del gist) podria trencar la configuració sense previ avís. Sempre que sigui possible, fixeu-lo a una revisió específica: obriu l'historial de revisions del gist, copieu el hash de commit per a la versió que heu provat i utilitzeu un URL del formulari d'aquesta guia. 

Generar la configuració del servidor

Crea /etc/amnezia/amneziawg/awg0.conf. Pots deixar la subxarxa interna i el port UDP del túnel amb els valors predeterminats o definir-ne els teus propis:

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

El senyalador -i estableix l'adreça de xarxa interna i la màscara del túnel; -p estableix el port UDP del servidor (el mateix que s'ha obert al pas 2.3).

Awgcfg.py --fa que es creï /etc/amnezia/amneziawg/awg0.conf i es detecti la interfície de xarxa principal del servidor (ens3).

Crea la plantilla de configuració del client

python3 awgcfg.py --create

Això desa una plantilla a la mateixa carpeta des de la qual es creen les configuracions individuals dels clients; ja inclou la clau pública del servidor, la seva adreça IP i els paràmetres d'ofuscació (Jc, Jmin, Jmax, S1, S2, H1–H4) que distingeixen AmneziaWG del WireGuard simple.

Awgcfg.py --create writing _defclient.config, la plantilla a partir de la qual es generaran les noves configuracions de client.

Afegeix clients

Crea una entrada per dispositiu; el nom pot ser qualsevol, per exemple, el nom del dispositiu:

python3 awgcfg.py -a "laptop"
python3 awgcfg.py -a "phone"
Awgcfg.py -a registra els clients "laptop" i "phone", cadascun amb la seva pròpia IP de túnel assignada (10.10.8.2/32 i 10.10.8.3/32).

Generar fitxers de clients i codis QR

python3 awgcfg.py -c -q

La carpeta ~/awg ara contindrà fitxers com ara laptop.conf i phone.conf, a més de codis QR PNG corresponents que podeu escanejar directament a una aplicació mòbil.

Aquest script de comunitat té una peculiaritat coneguda: executar-lo pot eliminar altres fitxers .init/state que hàgiu pogut col·locar a la mateixa carpeta. Mantingueu ~/awg dedicat només als fitxers AmneziaWG i feu una còpia de seguretat de les claus del servidor (la clau privada [Interface] a awg0.conf) en un altre lloc abans de regenerar les configuracions.
Contingut del laptop.conf generat: l'adreça del client, el DNS, els paràmetres d'ofuscació i la secció [Peer] que apunta al servidor.

La carpeta ~/awg ara contindrà fitxers com ara laptop.conf i phone.conf, a més de codis QR PNG corresponents que podeu escanejar directament a una aplicació mòbil.

Aquest script de comunitat té una peculiaritat coneguda: executar-lo pot eliminar altres fitxers .init/state que hàgiu pogut col·locar a la mateixa carpeta. Mantingueu ~/awg dedicat només als fitxers AmneziaWG i feu una còpia de seguretat de les claus del servidor (la clau privada [Interface] a awg0.conf) en un altre lloc abans de regenerar les configuracions.

Inici del servei i activació de l'inici automàtic

Obriu la interfície awg0 i activeu-la perquè s'iniciï automàticament en reiniciar:

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

L'estat hauria de mostrar actiu (tancat) amb la unitat habilitada a l'arrencada. Si la consola sembla que es "penja" mostrant registres, premeu Q per sortir.

L'estat del Systemctl confirma que awg-quick@awg0.service està actiu (tancat) i habilitat, amb les ordres de configuració ip/iptables de la interfície al registre.

Comproveu la llista de peers actius i el trànsit per peer amb:

awg show
L'Awg mostra una llista dels paràmetres d'ofuscació de la interfície awg0 i els seus dos aparells configurats (portàtil i telèfon), cadascun amb la seva IP permesa.

Connexió des de Windows

Tot el que s'explica en aquesta secció passa al vostre PC amb Windows, no a través de SSH; el client VPN ha d'estar instal·lat al dispositiu que realment utilitzarà el túnel. L'únic pas que afecta el servidor és la descàrrega de scp a la versió 6.2, i fins i tot aquesta ordre s'escriu al vostre PC, extreient un fitxer que el servidor ja ha generat a la secció 4.

Instal·leu el client

AmneziaWG té una aplicació dedicada per a Windows: la seva interfície reflecteix el client estàndard de WireGuard, però entén els paràmetres d'ofuscació. Baixeu l'instal·lador des del repositori oficial del projecte:

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

L'enllaç de dalt és la pàgina de versions del client de Windows actualitzat: descarregueu-vos l'últim fitxer .msi/.exe des d'allà. Aquesta és una pàgina per obrir al navegador, no una ordre per enganxar a un terminal.

Executeu l'instal·lador i seguiu les instruccions de l'assistent de configuració; no cal canviar els valors per defecte.

Importeu la configuració

Copieu el fitxer de configuració del client del servidor a l'ordinador. La manera més fàcil és executar scp al PowerShell a l'ordinador, no al servidor:

Una finestra buida del Windows PowerShell a l'ordinador client, a punt per executar l'ordre scp següent.
scp root@YOUR_SERVER_IP:~/awg/laptop.conf .

A l'aplicació AmneziaWG, feu clic a "Importa túnel(s) des del fitxer", seleccioneu laptop.conf i activeu el botó que hi ha al costat del nou túnel.

Connexió des de macOS

Tot això passa al vostre Mac, no a través de SSH. La línia scp següent s'escriu al propi Terminal del Mac, extreient la configuració que el servidor ja ha generat a la Secció 4; no s'executa dins de la vostra sessió SSH root al VPS.

Hi ha dues opcions compatibles:

  • AmneziaWG (Mac App Store): un client lleuger, funciona amb macOS 12 i posteriors. Cerqueu "AmneziaWG" a l'App Store, instal·leu-lo i, a continuació, utilitzeu "Importa túnel(s) des del fitxer" i seleccioneu el fitxer .conf; el mateix flux de treball que el client de Windows.
  • AmneziaVPN (aplicació completa, macOS 14+): descarrega el fitxer .pkg de github.com/amnezia-vpn/amnezia-client/releases/latest si prefereixes utilitzar l'aplicació completa d'Amnezia en lloc del client lleuger només per a AmneziaWG.

Copieu primer la configuració del client si cal, igual que al pas 6.2:

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

Connexió des de Linux

Ambdues opcions següents s'executen al vostre escriptori/portàtil Linux, és a dir, en una sessió SSH separada (o shell local) en aquesta màquina, no a la sessió SSH root del VPS de la Secció 1. Les ordres semblen idèntiques a les del servidor perquè s'utilitza el mateix paquet amneziawg-tools en ambdós extrems, però executar-les aquí instal·la i inicia un túnel de client a la vostra pròpia màquina, no al servidor.

En un ordinador de sobretaula o portàtil amb Linux teniu dues opcions:

  • GUI: instal·leu el client d'escriptori AmneziaVPN complet des de github.com/amnezia-vpn/amnezia-client/releases i, a continuació, importeu el fitxer .conf de la mateixa manera que a Windows/macOS.
  • CLI, utilitzant les mateixes eines amneziawg que s'utilitzen al servidor (awg / awg-quick):
apt install -y amneziawg
cp laptop.conf /etc/amnezia/amneziawg/awg0.conf
awg-quick up awg0

Executeu aquest codi per desconnectar.

awg-quick down awg0 

Perquè el túnel s'activi automàticament en iniciar la sessió, activeu-lo com a servei:

systemctl enable --now awg-quick@awg0

Verificació de la connexió

Amb el túnel actiu des de la secció 6, 7 o 8, torneu al vostre dispositiu (no a la sessió SSH) i obriu qualsevol verificador de "quina és la meva IP" en un navegador; l'adreça que es mostra hauria de coincidir amb l'adreça IP del vostre VPS. Per verificar-ho des de dins de la sessió SSH, executeu awg show al servidor i confirmeu que el peer del client mostra una handshake recent i un trànsit diferent de zero.

Referència:

Camp

Valor

Adreça

LA_IP_DE_LA_VOSTRA_TÚNEL (l'adreça del client dins del túnel, p. ex. 10.10.8.2/32 — assignada automàticament quan es va afegir el client al pas 4.4)

Punt final

IP_EL_VOTRE_SERVIDOR:42666 (L'adreça IP externa del servidor i el port UDP al qual es connecta el client.)

DNS

8.8.8.8

Jc / Jmín / Jmàx

nombre i mida dels paquets "brossa" enviats abans de la confirmació de connexió: poden variar entre el servidor i el client sense interrompre la connexió

S1/S2

mida dels camps de farciment de handshake: ha de coincidir byte per byte entre el servidor i cada client

H1 – H4

les capçaleres de tipus paquet que emmascaren el protocol com a trànsit ordinari, també han de coincidir exactament i han de ser úniques entre si

Només S1/S2 i H1–H4 han de ser idèntics a tots dos extrems del túnel; Jc, Jmin i Jmax tracten purament de com cada costat carrega el seu propi trànsit brossa de sortida, de manera que els valors del client i del servidor poden diferir legítimament, com passa a l'exemple anterior.

Conclusió

Seguint aquesta guia, el vostre VPS executa el seu propi servidor AmneziaWG: un protocol compatible amb WireGuard amb ofuscació del trànsit que és notablement més difícil de distingir del trànsit UDP ordinari per als sistemes DPI que amb WireGuard simple. El servei s'executa com a unitat systemd awg-quick@awg0 i sobreviu a un reinici del servidor sense cap acció per part vostra.

Els fitxers .conf i els codis QR resultants a ~/awg no només funcionen amb el client de Windows, sinó que també es poden importar a les aplicacions AmneziaWG o Amnezia per a Android, iOS, macOS i Linux, així com als encaminadors Keenetic i OpenWrt.

Afegiu nous clients en qualsevol moment repetint els passos 4.4–4.5 (python3 awgcfg.py -a "name", després awgcfg.py -c -q) i reiniciant la interfície amb systemctl restart [email protected].

Alguns hàbits que val la pena mantenir un cop el servidor estigui en funcionament:

  • Mantingueu el sistema actualitzat. Torneu a executar `apt update -y` i `apt upgrade -y` periòdicament i reinicieu després de les actualitzacions del nucli perquè DKMS reconstrueixi el mòdul amneziawg amb el nou nucli.
  • Fes una còpia de seguretat de ~/awg. Conté la clau privada de cada client i el parell de claus del servidor a awg0.conf; perdre-la significa regenerar les configuracions per a cada dispositiu.
  • Revoca els dispositius perduts immediatament. Elimina el bloc [Peer] corresponent de /etc/amnezia/amneziawg/awg0.conf i executa systemctl restart. [protegit per correu electrònic].

Si la connexió no s'estableix, comproveu-ho en aquest ordre:

  • l'estat del servei (estat del sistema) [protegit per correu electrònic])
  • les regles del tallafocs (estat d'ufw: el port 42666/udp ha d'estar obert)
  • l'estat del DKMS/mòdul si la interfície ni tan sols s'inicia (estat del dkms, lsmod | grep amnezia)
  • la llista de peers actius al servidor (awg show)
  • que la configuració del client apunta a l'adreça IP correcta del servidor extern

Voleu comparar AmneziaWG amb altres opcions abans de fer un commit? Vegeu Configuració del servidor VPN a Linux: PPTP o OpenVPN? i Com configurar una VPN Wireguard al vostre servidor . Si només necessiteu un proxy simple en lloc d'un túnel VPN complet, la configuració de 3proxy a CentOS/ArchLinux és una alternativa més lleugera. Per a un enduriment general del servidor un cop la VPN estigui activa, vegeu Usuaris de Linux: administració i permisos.

❮ Article anterior Configuració d'Hysteria2 i TUIC
Article següent ❯ Guia de realitat VLESS de raigs X: VPS, Windows, Mac, Android, iPhone

Pregunta'ns per VPS

Sempre estem preparats per respondre les vostres preguntes a qualsevol hora del dia o de la nit.