Yhä useammat ihmiset käyttävät omaa VPN-palvelua maksullisten, valmiiden palveluiden sijaan: se on halvempaa, yksityisyyden kannalta parempi ja antaa täyden hallinnan palvelimeen. Yksi tehokkaimmista vaihtoehdoista alueille, joilla on käytössä aggressiivinen verkon esto, on AmneziaWG, Amnezia-projektin WireGuardin päälle kehittämä protokolla.
Klassinen WireGuard on nopea ja luotettava, mutta sillä on kiinteä pakettirakenne ja ennustettava kättely, jonka DPI (Deep Packet Inspection) -järjestelmät pystyvät luotettavasti tunnistamaan ja estämään. AmneziaWG ratkaisee tämän: se lisää roskapaketteja tavalliseen WireGuard-yhteyteen, satunnaistaa otsikot ja muuttaa kättelykenttien kokoa – niin WireGuardin ominainen tunniste katoaa eikä liikenne enää erotu tavallisesta UDP-liikenteestä.
Käytätkö jo klassista tunnelia ja mietit, kannattaako vaihtaminen? Vertaa tätä tavalliseen OpenVPN/PPTP-asennukseen artikkelissa VPN-palvelimen asennus Linuxissa: PPTP vai OpenVPN? tai tavalliseen WireGuardiin (ei obfuskaatiota) artikkelissa Wireguard VPN:n asentaminen palvelimelle.
Tämä opas asentaa AmneziaWG-palvelimen manuaalisesti ilman Dockeria tai web-paneelia – pienin mahdollinen jalanjälki itse VPS:llä, konfiguroitaessa kokonaan komentoriviltä. Se on kevyin vaihtoehto ja toimii hyvin budjettiluokan VPS:llä, koska se ei tarvitse käyttöliittymää, tietokantaa eikä käänteistä välityspalvelinta. Alla oleva esimerkkipalvelin käyttää paikkamerkki-IP-osoitetta – korvaa se oman VPS:si osoitteella missä tahansa.
Tarvitset: virtuaalipalvelimen, jossa on Ubuntu 22.04/24.04 tai Debian 11/12, pääkäyttäjän oikeudet ja virtuaalipalvelimesi IP-osoitteen. Verkkotunnusta ei vaadita – AmneziaWG ei käytä varmenteita, joten sinun ei tarvitse uusia varmenteita eikä DPI:n tarvitse merkitä niitä TLS-kättelyksi.
Eikö sinulla ole vielä palvelinta? Katso ohjeet palvelimen tilaamiseen.
Yhdistetään palvelimeen
Windows (PuTTY)
Avaa PuTTY, kirjoita VPS:n IP-osoitteesi Host Name -kenttään, aseta portiksi 22 ja kirjaudu sisään root-käyttäjänä käyttämällä VPS-palveluntarjoajasi sinulle sähköpostitse lähettämää salasanaa.
Palvelimen IP-osoite: IP-osoitteesi
kirjaudu sisään käyttäjätunnuksella: root
Salasana: salasanasi
1. Avaa PuTTY ja kirjoita VPS:n IP-osoitteesi Host Name -kenttään.
2. Aseta portiksi 22.
3. Kirjaudu sisään pääkäyttäjänä.
4. Käyttämällä salasanaa, jonka VPS-palveluntarjoajasi lähetti sinulle sähköpostitse.
Tuloksen pitäisi olla seuraava:
Yksityiskohtaisen ohjeen PuTTY/SSH-yhteyden muodostamisesta löydät artikkelista Yhteyden muodostaminen Linux-palvelimeen SSH:n kautta.
Linux / macOS (pääte)
ssh root@YOUR_SERVER_IP
Kaikki alla olevat komennot suoritetaan palvelimella tässä samassa SSH-istunnossa – joka kattaa osiot 2–5 sekä osiossa 9 mainitut palvelinpuolen tarkistukset. Osiot 6–8 (VPN-asiakasohjelman asentaminen ja määrittäminen) suoritetaan omalla Windows/macOS/Linux-laitteellasi, koska VPN:n on toimittava siinä. Jokaisessa osiossa kerrotaan nimenomaisesti, mitkä rivit, jos mitkään, koskettavat edelleen palvelinta.
Palvelimen valmistelu
Päivitä järjestelmä
Ennen minkään asentamista, päivitä pakettiluettelo ja päivitä asennetut paketit:
apt update -y && apt upgrade -y
Jos tämä päivittää ytimen, käynnistä tietokone uudelleen ennen AmneziaWG-ydinmoduulin kääntämistä osiossa 3, muuten DKMS saattaa kääntää vääriä ytimen otsikoita käyttäen ja moduulin lataaminen epäonnistuu. (Lisätietoja apt:stä ja Linux-paketinhallintaohjelmien toiminnasta on kohdassa Linux-paketinhallintaohjelmat .) Tarkista:
cat /var/run/reboot-required
Ota IP-osoitteen edelleenlähetys käyttöön
Tämä asetus antaa palvelimen välittää asiakkaiden paketit internetiin – ilman sitä tunneli muodostuu, mutta liikennettä ei kulje sen läpi.
echo "net.ipv4.ip_forward = 1" > /etc/sysctl.d/00-amnezia.conf
sysctl --system
Ensimmäinen komento luo erillisen asetustiedoston; toinen ottaa sen käyttöön käynnistämättä palvelinta uudelleen.
Palomuurin (UFW) määrittäminen
Lisätietoja UFW-säännöistä on kohdassa Palomuurin määrittäminen Linuxissa
Avaa kaksi tarvitsemaasi porttia: 22/tcp SSH:lle (jos ohitat tämän säännön, saatat menettää palvelimelle pääsyn) ja 42666/udp, portti, jota AmneziaWG kuuntelee.
apt install ufw -y
ufw allow 22/tcp
ufw allow 42666/udp
ufw --force enable
ufw status
Molempien sääntöjen pitäisi näkyä ufw-tilatuloksessa ALLOW-muodossa.
AmneziaWG:n asentaminen
Debian ei tue Ubuntu-tyylisiä PPA-ohjelmia suoraan, joten repositorio on lisättävä manuaalisesti eikä add-apt-repository-komennolla. Tämä toimii samalla tavalla Ubuntussa.
Lisää arkisto manuaalisesti
echo "deb [arch=amd64] https://ppa.launchpadcontent.net/amnezia/ppa/ubuntu jammy main" > /etc/apt/sources.list.d/amnezia.list
Lisää GPG-allekirjoitusavain
Käytä vanhentuneen apt-key-komennon sijaan dearmored-avaintiedostoa ja hae PPA:n todellinen allekirjoitusavain (sormenjälki 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
Päivitä ja asenna
apt update
apt install -y amneziawg
Varmista, että moduuli on ladattu
modprobe amneziawg
lsmod | grep amnezia
Palvelimen ja asiakkaan konfiguraation luominen
Asenna apuohjelmat
Asenna qrcode-riippuvuus, luo sitten erillinen työhakemisto ja lataa siihen yhteisön konfigurointigeneraattorikomentosarja:
apt install -y python3-qrcode
mkdir -p ~/awg && cd ~/awg
wget -O awgcfg.py \
https://gist.githubusercontent.com/remittor/8c3d9ff293b2ba4b13c367cc1a69f9eb/raw/awgcfg.py
Jos python3-qrcode ei ole saatavilla jakelusi repositorioissa, palaa takaisin komentoon pip3 install qrcode --break-system-packages (lippu on pakollinen Debian 12+/Ubuntu 24.04 -käyttöjärjestelmissä, jotka estävät hallitsemattomat pip-asennukset oletuksena). Älä suorita molempia asennuksia – valitse toinen.
Luo palvelimen kokoonpano
Luo /etc/amnezia/amneziawg/awg0.conf. Voit jättää tunnelin sisäisen aliverkon ja UDP-portin oletusarvoihinsa tai asettaa omat asetukset:
python3 awgcfg.py --make /etc/amnezia/amneziawg/awg0.conf \
-i 10.10.8.1/24 -p 42666
-i-lippu asettaa tunnelin sisäisen verkko-osoitteen ja maskin; -p asettaa palvelimen UDP-portin (sama, joka avattiin vaiheessa 2.3).
Luo client-config-mallipohja
python3 awgcfg.py --create
Tämä tallentaa mallin samaan kansioon, josta yksittäiset asiakaskonfiguraatiot rakennetaan — se sisältää jo palvelimen julkisen avaimen, sen IP-osoitteen ja hämärrysparametrit (Jc, Jmin, Jmax, S1, S2, H1–H4), jotka erottavat AmneziaWG:n tavallisesta WireGuardista.
Lisää asiakkaita
Luo yksi merkintä laitetta kohden — nimi voi olla mikä tahansa, esim. laitteen nimi:
python3 awgcfg.py -a "laptop"
python3 awgcfg.py -a "phone"
Luo asiakastiedostoja ja QR-koodeja
python3 awgcfg.py -c -q
~/awg-kansio sisältää nyt tiedostoja, kuten laptop.conf ja phone.conf, sekä vastaavia PNG-muotoisia QR-koodeja, jotka voit skannata suoraan mobiilisovellukseen.
~/awg-kansio sisältää nyt tiedostoja, kuten laptop.conf ja phone.conf, sekä vastaavia PNG-muotoisia QR-koodeja, jotka voit skannata suoraan mobiilisovellukseen.
Palvelun käynnistäminen ja automaattisen käynnistyksen ottaminen käyttöön
Avaa awg0-käyttöliittymä ja ota käyttöön sen automaattinen käynnistyminen uudelleenkäynnistyksen yhteydessä:
systemctl enable --now awg-quick@awg0
systemctl restart [email protected]
systemctl status [email protected]
Tilan pitäisi näkyä aktiivisena (suljettu) ja laitteen ollessa käytössä käynnistyksen yhteydessä. Jos konsoli näyttää "jumiutuvan" ja lokeja, poistu painamalla Q-näppäintä.
Tarkista aktiivisten vertaiskoneiden ja vertaiskoneiden välisen liikenteen luettelo seuraavasti:
awg show
Yhdistäminen Windowsista
Kaikki tässä osiossa tapahtuu Windows-tietokoneellasi, ei SSH:n kautta – VPN-asiakasohjelma on asennettava laitteeseen, joka todellisuudessa käyttää tunnelia. Ainoa palvelimeen liittyvä vaihe on scp:n lataus versiossa 6.2, ja jopa tämä komento kirjoitetaan tietokoneellasi, jolloin palvelimen jo osiossa 4 luoma tiedosto ladataan.
Asenna asiakas
AmneziaWG:llä on oma Windows-sovellus — sen käyttöliittymä peilaa WireGuard-vakioasiakasohjelmaa, mutta se ymmärtää hämärrysparametrit. Lataa asennusohjelma projektin virallisesta arkistosta:
https://github.com/amnezia-vpn/amneziawg-windows-client/releases
Yllä oleva linkki on ylläpidetyn Windows-asiakasohjelman julkaisusivu – lataa uusin .msi/.exe-tiedosto sieltä. Tämä on selaimessa avattava sivu, ei komento, joka liitetään terminaaliin.
Suorita asennusohjelma ja suorita asennustoiminto askel askeleelta; oletusasetuksia ei tarvitse muuttaa.
Tuo kokoonpano
Kopioi asiakkaan asetustiedosto palvelimelta tietokoneellesi — helpoin tapa on scp, suorita se PowerShellissä tietokoneellasi, ei palvelimella:
scp root@YOUR_SERVER_IP:~/awg/laptop.conf .
Napsauta AmneziaWG-sovelluksessa "Tuo tunneli(t) tiedostosta", valitse laptop.conf ja kytke uuden tunnelin vieressä oleva kytkin päälle.
Yhdistäminen macOS:stä
Kaksi tuettua vaihtoehtoa on:
- AmneziaWG (Mac App Store): kevyt asiakasohjelma, toimii macOS 12:ssa ja uudemmissa. Hae App Storesta "AmneziaWG", asenna se ja valitse sitten "Tuo tunneli(t) tiedostosta" ja .conf-tiedostosi – sama työnkulku kuin Windows-asiakasohjelmassa.
- AmneziaVPN (täysi sovellus, macOS 14+): lataa .pkg-tiedosto osoitteesta github.com/amnezia-vpn/amnezia-client/releases/latest, jos haluat mieluummin käyttää täysimittaista Amnezia-sovellusta kevyen, vain AmneziaWG:hen perustuvan asiakasohjelman sijaan.
Kopioi tarvittaessa ensin asiakasohjelman asetukset, kuten vaiheessa 6.2:
scp root@YOUR_SERVER_IP:~/awg/laptop.conf .
Yhdistäminen Linuxista
Linux-pöytätietokoneella tai -kannettavalla sinulla on kaksi vaihtoehtoa:
- Käyttöliittymä: asenna täysi AmneziaVPN-työpöytäsovellus osoitteesta github.com/amnezia-vpn/amnezia-client/releases ja tuo sitten .conf-tiedosto samalla tavalla kuin Windowsissa/macOS:ssa.
- CLI, käyttäen samoja amneziawg-työkaluja kuin palvelimella (awg / awg-quick):
apt install -y amneziawg
cp laptop.conf /etc/amnezia/amneziawg/awg0.conf
awg-quick up awg0
Suorita tämä koodi katkaistaksesi yhteyden.
awg-quick down awg0
Jos haluat tunnelin avautuvan automaattisesti kirjautumisen yhteydessä, ota se käyttöön palveluna:
systemctl enable --now awg-quick@awg0
Yhteyden tarkistaminen
Kun tunneli on aktiivinen osiossa 6, 7 tai 8, palaa omalle laitteellesi (ei SSH-istuntoon) ja avaa selaimessa mikä tahansa "mikä on IP-osoitteeni" -tarkistus. Näytetyn osoitteen pitäisi vastata VPS:n IP-osoitetta. Voit tarkistaa tämän SSH-istunnon sisältä ajamalla palvelimella komennon "awg show" ja varmista, että asiakkaan vertaisverkko näyttää äskettäisen kättelyn ja nollasta poikkeavan liikenteen.
Viite:
|
Kenttä |
Arvo |
|
Osoite |
TUNNELISI_IP (asiakkaan osoite tunnelin sisällä, esim. 10.10.8.2/32 — määritetty automaattisesti, kun asiakas lisättiin vaiheessa 4.4) |
|
päätepiste |
YOUR_SERVER_IP:42666 (Palvelimen ulkoinen IP-osoite ja UDP-portti, johon asiakas muodostaa yhteyden.) |
|
DNS |
8.8.8.8 |
|
Jc / Jmin / Jmax |
ennen kättelyä lähetettyjen "roskapakettien" määrä ja koko — voivat vaihdella palvelimen ja asiakkaan välillä ilman yhteyden katkeamista |
|
S1 / S2 |
kättelyn täyttökenttien koko — palvelimen ja jokaisen asiakkaan on vastattava tavu tavulta |
|
H1 – H4 |
pakettityyppiset otsikot, jotka peittävät protokollan tavallisena liikenteenä – niiden on myös täsmälleen vastattava toisiaan ja oltava toisistaan ainutlaatuisia |
Vain S1/S2:n ja H1–H4:n tarvitsee olla identtiset tunnelin molemmissa päissä; Jc, Jmin ja Jmax koskevat pelkästään sitä, miten kumpikin puoli täyttää omaa lähtevää roskapostiliikennettään, joten asiakkaan ja palvelimen arvot voivat perustellusti erota toisistaan, kuten yllä olevassa esimerkissä.
Yhteenveto
Tämän oppaan noudattaminen jättää VPS:llesi oman AmneziaWG-palvelimen: WireGuard-yhteensopivan protokollan, jonka liikenteen hämärtäminen on huomattavasti vaikeampaa DPI-järjestelmille erottaa tavallista UDP-liikennettä kuin tavallisen WireGuardin. Palvelu toimii systemd-yksikkönä awg-quick@awg0 ja selviää palvelimen uudelleenkäynnistyksestä ilman sinun toimiasi.
Tuloksena olevat .conf-tiedostot ja QR-koodit hakemistossa ~/awg toimivat paitsi Windows-asiakasohjelman kanssa, myös tuodaan AmneziaWG- tai Amnezia-sovelluksiin Androidille, iOS:lle, macOS:lle ja Linuxille sekä Keenetic- ja OpenWrt-reitittimille.
Voit lisätä uusia asiakkaita milloin tahansa toistamalla vaiheet 4.4–4.5 (python3 awgcfg.py -a "nimi", sitten awgcfg.py -c -q) ja käynnistämällä käyttöliittymän uudelleen komennolla systemctl restart [email protected].
Muutamia tapoja, jotka kannattaa pitää yllä, kun palvelin on käynnissä:
- Pidä järjestelmä ajan tasalla. Suorita apt update -y && apt upgrade -y uudelleen säännöllisesti ja käynnistä järjestelmä uudelleen ytimen päivitysten jälkeen, jotta DKMS rakentaa amneziawg-moduulin uudelleen uutta ydintä vasten.
- Varmuuskopioi ~/awg. Se sisältää jokaisen asiakkaan yksityisen avaimen ja palvelimen oman avainparin tiedostossa awg0.conf; sen menettäminen tarkoittaa kokoonpanojen uudelleenluomista jokaiselle laitteelle.
- Peruuta kadonneiden laitteiden käyttöoikeudet viipymättä. Poista vastaava [Peer]-lohko tiedostosta /etc/amnezia/amneziawg/awg0.conf ja suorita systemctl restart. [sähköposti suojattu].
Jos yhteys ei toimi, tarkista asiat järjestyksessä:
- palvelun tila (systemctl status [sähköposti suojattu])
- palomuurisäännöt (ufw-tila — portin 42666/udp on oltava auki)
- DKMS/moduulin tila, jos rajapinta ei edes käynnisty (dkms status, lsmod | grep amnezia)
- palvelimen aktiivisten vertaiskoneiden luettelo (awg show)
- että asiakkaan kokoonpano osoittaa oikeaan ulkoisen palvelimen IP-osoitteeseen
Vertailetko AmneziaWG:tä muihin vaihtoehtoihin ennen sitoutumista? Katso VPN-palvelimen asennus Linuxissa: PPTP vai OpenVPN? ja Wireguard VPN:n asentaminen palvelimellesi . Jos tarvitset vain yksinkertaisen välityspalvelimen täyden VPN-tunnelin sijaan, 3proxy-kokoonpano CentOS/ArchLinuxissa on kevyempi vaihtoehto. Yleistä palvelimen suojauksen vahvistamisesta VPN:n käyttöönoton jälkeen on kohdassa Linux-käyttäjät: Hallinta ja käyttöoikeudet.