Semakin ramai orang menjalankan VPN mereka sendiri dan bukannya bergantung pada perkhidmatan berbayar yang sedia ada: ia lebih murah, lebih baik untuk privasi dan memberi anda kawalan penuh ke atas pelayan. Salah satu pilihan paling berkesan untuk kawasan yang mempunyai penyekatan rangkaian yang agresif ialah AmneziaWG, protokol yang dibangunkan oleh projek Amnezia di atas WireGuard.
Classic WireGuard pantas dan andal, tetapi ia mempunyai struktur paket tetap dan jabat tangan yang boleh diramal, yang mana sistem DPI (Deep Packet Inspection) boleh cap jari dan sekat dengan andal. AmneziaWG menyelesaikan masalah ini: ia menambah paket sampah pada sambungan WireGuard biasa, mengacakkan pengepala dan mengubah saiz medan jabat tangan — jadi tandatangan ciri WireGuard hilang dan trafik tidak lagi menonjol daripada trafik UDP biasa.
Sudah menjalankan terowong klasik dan tertanya-tanya sama ada ia berbaloi untuk ditukar? Bandingkan ini dengan persediaan OpenVPN/PPTP biasa dalam persediaan pelayan VPN di Linux: PPTP atau OpenVPN?, atau dengan WireGuard vanila (tiada kekeliruan) dalam Cara menyediakan Wireguard VPN pada pelayan anda.
Panduan ini menyediakan pelayan AmneziaWG secara manual, tanpa Docker atau panel web — jejak terkecil yang mungkin pada VPS itu sendiri, dikonfigurasikan sepenuhnya daripada baris arahan. Ia merupakan pilihan paling ringan dan berfungsi dengan baik pada VPS bajet, kerana ia tidak memerlukan GUI, tiada pangkalan data dan tiada proksi terbalik. Contoh pelayan di bawah menggunakan alamat IP ruang letak — gantikannya dengan alamat VPS anda sendiri di mana sahaja ia muncul.
Apa yang anda perlukan: VPS yang menjalankan Ubuntu 22.04/24.04 atau Debian 11/12, akses root dan alamat IP VPS anda. Nama domain tidak diperlukan — AmneziaWG tidak menggunakan sijil, jadi tiada apa yang perlu diperbaharui dan tiada apa yang perlu ditandai oleh DPI sebagai jabat tangan TLS.
Belum mempunyai pelayan? Lihat Cara memesan pelayan
Menyambung ke Pelayan
Tingkap (PuTTY)
Buka PuTTY, masukkan alamat IP VPS anda dalam medan Nama Hos, tetapkan port kepada 22, dan log masuk sebagai root menggunakan kata laluan yang dihantar oleh pembekal VPS anda melalui e-mel.
Alamat IP pelayan: alamat IP anda
log masuk sebagai: root
Kata Laluan: kata laluan anda
1. Buka PuTTY, masukkan alamat IP VPS anda dalam medan Nama Hos.
2. Tetapkan port kepada 22.
3. Masukkan log masuk sebagai root.
4. Menggunakan kata laluan yang diemelkan oleh penyedia VPS anda kepada anda.
Hasilnya sepatutnya seperti berikut:
Untuk panduan terperinci tentang cara menyambung melalui PuTTY/SSH, lihat Cara menyambung ke pelayan Linux melalui SSH
Linux / macOS (terminal)
ssh root@YOUR_SERVER_IP
Semua arahan di bawah dijalankan pada pelayan, dalam sesi SSH yang sama ini — yang merangkumi Bahagian 2 hingga 5, serta semakan bahagian pelayan dalam Bahagian 9. Bahagian 6–8 (memasang dan mengkonfigurasi klien VPN) berlaku pada peranti Windows/macOS/Linux anda sendiri, kerana itulah peranti yang perlu dijalankan oleh VPN; setiap bahagian tersebut menyatakan secara eksplisit baris mana, jika ada, yang masih menyentuh pelayan.
Menyediakan Pelayan
Kemas kini sistem
Sebelum memasang apa-apa, muat semula senarai pakej dan naik taraf pakej yang dipasang:
apt update -y && apt upgrade -y
Jika ini menaik taraf kernel, but semula sebelum membina modul kernel AmneziaWG dalam Bahagian 3, jika tidak, DKMS mungkin membina pada pengepala kernel yang salah dan modul akan gagal dimuatkan. (Untuk penyegaran tentang apt dan cara pengurus pakej Linux berfungsi, lihat Pengurus Pakej Linux .) Semak dengan:
cat /var/run/reboot-required
Dayakan penghantaran IP
Tetapan ini membolehkan pelayan menghantar paket klien ke internet — tanpanya, terowong akan muncul tetapi tiada trafik akan melaluinya.
echo "net.ipv4.ip_forward = 1" > /etc/sysctl.d/00-amnezia.conf
sysctl --system
Perintah pertama mencipta fail konfigurasi khusus; arahan kedua menggunakannya tanpa but semula pelayan.
Konfigurasikan tembok api (UFW)
Untuk maklumat lanjut tentang peraturan UFW, lihat Mengkonfigurasi Firewall pada Linux
Buka dua port yang anda perlukan: 22/tcp untuk SSH (langkau peraturan ini dan anda berisiko kehilangan akses ke pelayan) dan 42666/udp, port yang akan didengari oleh AmneziaWG.
apt install ufw -y
ufw allow 22/tcp
ufw allow 42666/udp
ufw --force enable
ufw status
Kedua-dua peraturan harus ditunjukkan sebagai ALLOW dalam output status ufw.
Memasang AmneziaWG
Debian tidak menyokong PPA gaya Ubuntu secara langsung, jadi repositori perlu ditambah secara manual dan bukannya dengan add-apt-repository. Ini berfungsi dengan cara yang sama pada Ubuntu.
Tambah repositori secara manual
echo "deb [arch=amd64] https://ppa.launchpadcontent.net/amnezia/ppa/ubuntu jammy main" > /etc/apt/sources.list.d/amnezia.list
Tambahkan kunci tandatangan GPG
Gunakan fail keyring dearmored dan bukannya arahan apt-key yang tidak digunakan lagi, dan dapatkan kunci tandatangan sebenar PPA (cap jari 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
Kemas kini dan pasang
apt update
apt install -y amneziawg
Sahkan modul yang dimuatkan
modprobe amneziawg
lsmod | grep amnezia
Menjana Konfigurasi Pelayan dan Klien
Pasang utiliti pembantu
Pasang kebergantungan qrcode, kemudian buat direktori kerja khusus dan muat turun skrip penjana konfigurasi komuniti ke dalamnya:
apt install -y python3-qrcode
mkdir -p ~/awg && cd ~/awg
wget -O awgcfg.py \
https://gist.githubusercontent.com/remittor/8c3d9ff293b2ba4b13c367cc1a69f9eb/raw/awgcfg.py
Jika python3-qrcode tidak tersedia pada repo distro anda, kembali kepada pip3 install qrcode --break-system-packages (bendera diperlukan pada Debian 12+/Ubuntu 24.04, yang menyekat pemasangan pip yang tidak diurus secara lalai). Jangan jalankan kedua-dua pemasangan — pilih satu.
Jana konfigurasi pelayan
Cipta /etc/amnezia/amneziawg/awg0.conf. Anda boleh membiarkan subnet dalaman terowong dan port UDP pada tetapan lalai atau tetapkan tetapan anda sendiri:
python3 awgcfg.py --make /etc/amnezia/amneziawg/awg0.conf \
-i 10.10.8.1/24 -p 42666
Bendera -i menetapkan alamat dan topeng rangkaian dalaman terowong; -p menetapkan port UDP pelayan (yang sama dibuka pada langkah 2.3).
Cipta templat konfigurasi klien
python3 awgcfg.py --create
Ini menyimpan templat dalam folder yang sama yang digunakan untuk membina konfigurasi klien individu — ia sudah termasuk kunci awam pelayan, alamat IPnya dan parameter obfuscation (Jc, Jmin, Jmax, S1, S2, H1–H4) yang membezakan AmneziaWG daripada WireGuard biasa.
Tambah pelanggan
Cipta satu entri bagi setiap peranti — nama boleh jadi apa sahaja, contohnya nama peranti:
python3 awgcfg.py -a "laptop"
python3 awgcfg.py -a "phone"
Jana fail klien dan kod QR
python3 awgcfg.py -c -q
Folder ~/awg kini akan mengandungi fail seperti laptop.conf dan phone.conf, serta kod QR PNG yang sepadan yang boleh anda imbas terus ke dalam aplikasi mudah alih.
Folder ~/awg kini akan mengandungi fail seperti laptop.conf dan phone.conf, serta kod QR PNG yang sepadan yang boleh anda imbas terus ke dalam aplikasi mudah alih.
Memulakan Perkhidmatan dan Mendayakan Autostart
Buka antara muka awg0 dan aktifkannya untuk dimulakan secara automatik semasa but semula:
systemctl enable --now awg-quick@awg0
systemctl restart [email protected]
systemctl status [email protected]
Status sepatutnya menunjukkan aktif (keluar) dengan unit diaktifkan semasa but. Jika konsol kelihatan "hang" menunjukkan log, tekan Q untuk keluar.
Semak senarai rakan sebaya aktif dan trafik setiap rakan sebaya dengan:
awg show
Menyambung dari Windows
Semua perkara dalam bahagian ini berlaku pada PC Windows anda, bukan melalui SSH — klien VPN perlu dipasang pada peranti yang benar-benar akan menggunakan terowong tersebut. Satu-satunya langkah yang menyentuh pelayan ialah muat turun scp dalam 6.2, dan arahan itu juga ditaip pada PC anda, menarik fail yang telah dijana oleh pelayan dalam Bahagian 4.
Pasang klien
AmneziaWG mempunyai aplikasi Windows khusus — antara mukanya mencerminkan klien WireGuard standard tetapi ia memahami parameter pengeliruan. Muat turun pemasang daripada repositori rasmi projek:
https://github.com/amnezia-vpn/amneziawg-windows-client/releases
Pautan di atas ialah halaman keluaran klien Windows yang diselenggara — muat turun aset .msi/.exe terkini dari sana. Ini ialah halaman untuk dibuka dalam pelayar anda, bukan arahan untuk ditampal ke dalam terminal.
Jalankan pemasang dan ikuti wizard persediaan; tetapan lalai tidak perlu diubah.
Import konfigurasi
Salin fail konfigurasi klien dari pelayan ke komputer anda — cara paling mudah ialah scp, jalankan dalam PowerShell pada komputer anda, bukan pelayan:
scp root@YOUR_SERVER_IP:~/awg/laptop.conf .
Dalam aplikasi AmneziaWG, klik "Import terowong daripada fail", pilih laptop.conf dan hidupkan togol di sebelah terowong baharu.
Menyambung dari macOS
Dua pilihan yang disokong wujud:
- AmneziaWG (Mac App Store): klien ringan, berfungsi pada macOS 12 dan yang lebih baharu. Cari "AmneziaWG" di App Store, pasangnya, kemudian gunakan "Import tunnel(s) from file" dan pilih fail .conf anda — aliran kerja yang sama seperti klien Windows.
- AmneziaVPN (aplikasi penuh, macOS 14+): muat turun .pkg dari github.com/amnezia-vpn/amnezia-client/releases/latest jika anda lebih suka menggunakan aplikasi Amnezia yang berciri penuh dan bukannya klien AmneziaWG yang ringan sahaja.
Salin konfigurasi klien terlebih dahulu jika perlu, sama seperti dalam langkah 6.2:
scp root@YOUR_SERVER_IP:~/awg/laptop.conf .
Menyambung dari Linux
Pada desktop atau komputer riba Linux, anda mempunyai dua pilihan:
- GUI: pasang klien desktop AmneziaVPN penuh daripada github.com/amnezia-vpn/amnezia-client/releases, kemudian import fail .conf dengan cara yang sama seperti pada Windows/macOS.
- CLI, menggunakan alat amneziawg yang sama yang digunakan pada pelayan (awg / awg-quick):
apt install -y amneziawg
cp laptop.conf /etc/amnezia/amneziawg/awg0.conf
awg-quick up awg0
Jalankan kod ini untuk memutuskan sambungan.
awg-quick down awg0
Untuk membuka terowong secara automatik semasa log masuk, dayakannya sebagai perkhidmatan:
systemctl enable --now awg-quick@awg0
Mengesahkan Sambungan
Dengan terowong aktif dari Bahagian 6, 7 atau 8, kembali ke peranti anda sendiri (bukan sesi SSH) dan buka sebarang pemeriksa “apakah IP saya” dalam pelayar — alamat yang ditunjukkan harus sepadan dengan alamat IP VPS anda. Untuk mengesahkan dari dalam sesi SSH, jalankan awg show pada pelayan dan sahkan rakan sebaya klien menunjukkan jabat tangan baru-baru ini dan trafik bukan sifar.
rujukan:
|
Bidang |
nilai |
|
Alamat |
YOUR_TUNNEL_IP (alamat klien di dalam terowong, contohnya 10.10.8.2/32 — diberikan secara automatik apabila klien ditambah dalam langkah 4.4) |
|
Titik akhir |
YOUR_SERVER_IP:42666 (Alamat IP luaran pelayan dan port UDP yang disambungkan oleh klien.) |
|
DNS |
8.8.8.8 |
|
Jc / Jmin / Jmax |
bilangan dan saiz paket "sampah" yang dihantar sebelum jabat tangan — mungkin berbeza antara pelayan dan klien tanpa memutuskan sambungan |
|
S1 / S2 |
saiz medan padding jabat tangan — mesti sepadan dengan bait demi bait antara pelayan dan setiap klien |
|
H1 – H4 |
pengepala jenis paket yang menutup protokol sebagai trafik biasa — juga mesti sepadan dengan tepat dan mesti unik antara satu sama lain |
Hanya S1/S2 dan H1–H4 perlu sama di kedua-dua hujung terowong; Jc, Jmin dan Jmax semata-mata tentang bagaimana setiap sisi menampung trafik sampah keluarnya sendiri, jadi nilai klien dan pelayan boleh berbeza secara sah, seperti yang berlaku dalam contoh di atas.
Kesimpulan
Mengikuti panduan ini membolehkan VPS anda menjalankan pelayan AmneziaWGnya sendiri: protokol serasi WireGuard dengan pengeliruan trafik yang ketara lebih sukar untuk sistem DPI membezakannya daripada trafik UDP biasa berbanding WireGuard biasa. Perkhidmatan ini berjalan sebagai unit systemd awg-quick@awg0 dan terselamat daripada but semula pelayan tanpa sebarang tindakan daripada pihak anda.
Fail .conf dan kod QR yang terhasil dalam ~/awg bukan sahaja berfungsi dengan klien Windows tetapi juga boleh diimport ke dalam aplikasi AmneziaWG atau Amnezia untuk Android, iOS, macOS dan Linux, serta penghala Keenetic dan OpenWrt.
Tambah klien baharu pada bila-bila masa dengan mengulangi langkah 4.4–4.5 (python3 awgcfg.py -a "name", kemudian awgcfg.py -c -q) dan mulakan semula antara muka dengan systemctl restart [email protected].
Beberapa tabiat yang perlu dikekalkan sebaik sahaja pelayan berjalan:
- Pastikan sistem sentiasa dikemas kini. Jalankan semula apt update -y && apt upgrade -y secara berkala dan but semula selepas naik taraf kernel supaya DKMS membina semula modul amneziawg terhadap kernel baharu.
- Sandarkan ~/awg. Ia menyimpan kunci peribadi setiap klien dan pasangan kunci pelayan sendiri dalam awg0.conf; kehilangannya bermakna menjana semula konfigurasi untuk setiap peranti.
- Batalkan peranti yang hilang dengan segera. Alih keluar blok [Peer] yang sepadan daripada /etc/amnezia/amneziawg/awg0.conf dan jalankan systemctl restart [e-mel dilindungi].
Jika sambungan tidak tersambung, semak mengikut urutan:
- status perkhidmatan (status systemctl [e-mel dilindungi])
- peraturan firewall (status ufw — port 42666/udp mesti dibuka)
- status DKMS/modul jika antara muka tidak dapat dimulakan (status dkms, lsmod | grep amnezia)
- senarai rakan sebaya aktif di pelayan (tunjukan awg)
- bahawa konfigurasi klien menunjukkan alamat IP pelayan luaran yang betul
Membandingkan AmneziaWG dengan pilihan lain sebelum melakukan komitmen? Lihat persediaan pelayan VPN di Linux: PPTP atau OpenVPN? dan Cara menyediakan Wireguard VPN pada pelayan anda . Jika anda hanya memerlukan proksi mudah dan bukannya terowong VPN penuh, konfigurasi 3proxy pada CentOS/ArchLinux adalah alternatif yang lebih ringan. Untuk pengerasan pelayan umum sebaik sahaja VPN diaktifkan, lihat Pengguna Linux: Pengurusan dan Kebenaran.