Kusabab WireGuard
pakakas
- Raspberry Pi 3 kalayan modul LTE sareng alamat IP umum. Bakal aya server VPN di dieu (saterusna dina téks disebut edgewalker)
- Telepon Android anu kedah nganggo VPN pikeun sadaya komunikasi
- Laptop Linux anu kedahna ngan nganggo VPN dina jaringan
Unggal alat anu nyambung ka VPN kedah tiasa nyambung ka sadaya alat anu sanés. Salaku conto, telepon kedah tiasa nyambung ka pangladén wéb dina laptop upami kadua alat éta bagian tina jaringan VPN. Upami setelanna rada saderhana, maka anjeun tiasa mikir ngeunaan nyambungkeun desktop kana VPN (via Ethernet).
Nganggap yén sambungan kabel sareng nirkabel janten kirang aman dina waktosna (
Pamasangan parangkat lunak
WireGuard nyadiakeun
Abdi gaduh Fedora Linux 31 panganyarna, sareng kuring puguh maca manual sateuacan dipasang. Kakara manggihan bungkusan wireguard-tools
, dipasang aranjeunna, lajeng teu bisa angka kaluar naha nanaon ieu jalan. Panaliti salajengna ngungkabkeun yén kuring henteu gaduh pakét dipasang wireguard-dkms
(kalayan supir jaringan), tapi teu aya dina gudang distribusi kuring.
Upami kuring parantos maca petunjukna, kuring bakal nyandak léngkah anu leres:
$ sudo dnf copr enable jdoss/wireguard
$ sudo dnf install wireguard-dkms wireguard-tools
Abdi gaduh distribusi Raspbian Buster anu dipasang dina Raspberry Pi kuring, parantos aya pakét wireguard
, pasang:
$ sudo apt install wireguard
Dina telepon Android kuring dipasang aplikasi
Pamasangan konci
Pikeun auténtikasi peer, Wireguard ngagunakeun skéma konci swasta/publik basajan pikeun nga-asténtikasi peers VPN. Anjeun tiasa sacara gampil nyiptakeun konci VPN nganggo paréntah ieu:
$ wg genkey | tee wg-laptop-private.key | wg pubkey > wg-laptop-public.key
$ wg genkey | tee wg-server-private.key | wg pubkey > wg-server-public.key
$ wg genkey | tee wg-mobile-private.key | wg pubkey > wg-mobile-public.key
Ieu masihan urang tilu pasangan konci (genep file). Kami moal ngarujuk kana file dina konfigurasi, tapi nyalin eusina di dieu: unggal konci mangrupikeun hiji garis dina base64.
Nyiptakeun file konfigurasi pikeun server VPN (Raspberry Pi)
Konfigurasi anu cukup basajan, Kuring dijieun file handap /etc/wireguard/wg0.conf
:
[Interface]
Address = 10.200.200.1/24
ListenPort = 51820
PrivateKey = <copy private key from wg-server-private.key>
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o wwan0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o wwan0 -j MASQUERADE
[Peer]
# laptop
PublicKey = <copy public key from wg-laptop-public.key>
AllowedIPs = 10.200.200.2/32
[Peer]
# mobile phone
PublicKey = <copy public key from wg-mobile-public.key>
AllowedIPs = 10.200.200.3/32
Sababaraha catetan:
- Di tempat anu pas anjeun kedah nyelapkeun garis tina file nganggo konci
- VPN abdi nganggo pita internal
10.200.200.0/24
- Pikeun tim
PostUp
/PostDown
Abdi gaduh antarmuka jaringan éksternal wwan0, anjeun tiasa gaduh anu béda (contona, eth0)
Jaringan VPN gampang diangkat ku paréntah di handap ieu:
$ sudo wg-quick up wg0
Hiji jéntré leutik: salaku server DNS I dipaké dnsmasq
dihijikeun ka panganteur jaringan br0
, Kuring ogé ditambahkeun alat wg0
kana daptar alat anu diidinan. Dina dnsmasq ieu dilakukeun ku nambahkeun garis panganteur jaringan anyar kana file konfigurasi /etc/dnsmasq.conf
Contona:
interface=br0
interface=wg0
Salaku tambahan, kuring nambihan aturan iptable pikeun ngijinkeun lalu lintas kana port déngékeun UDP (51280):
$ sudo iptables -I INPUT -p udp --dport 51820 -j ACCEPT
Ayeuna sadayana berpungsi, urang tiasa nyetél peluncuran otomatis torowongan VPN:
$ sudo systemctl enable [email protected]
Konfigurasi klien dina laptop
Jieun file konfigurasi dina laptop /etc/wireguard/wg0.conf
kalayan setélan anu sami:
[Interface]
Address = 10.200.200.2/24
PrivateKey = <copy private key from wg-laptop-private.key>
[Peer]
PublicKey = <copy public key from wg-server-public.key>
AllowedIPs = 10.200.200.0/24
Endpoint = edgewalker:51820
Katerangan:
- Gantina edgewalker anjeun kedah netepkeun IP umum atanapi host server VPN
- Sanggeus dipasang
AllowedIPs
dina10.200.200.0/24
, urang ngan ngagunakeun VPN pikeun ngakses jaringan internal. Lalu lintas ka sadaya alamat / server IP anu sanés bakal terus ngalangkungan saluran terbuka "normal". Éta ogé bakal nganggo server DNS anu tos dikonpigurasi dina laptop.
Pikeun nguji sareng peluncuran otomatis kami nganggo paréntah anu sami wg-quick
и systemd
:
$ sudo wg-quick up wg0
$ sudo systemctl enable [email protected]
Nyetél klien dina telepon Android
Pikeun telepon Android kami nyiptakeun file konfigurasi anu sami (nyaéta mobile.conf
):
[Interface]
Address = 10.200.200.3/24
PrivateKey = <copy private key from wg-mobile-private.key>
DNS = 10.200.200.1
[Peer]
PublicKey = <copy public key from wg-server-public.key>
AllowedIPs = 0.0.0.0/0
Endpoint = edgewalker:51820
Beda sareng konfigurasi dina laptop, telepon kedah nganggo server VPN kami salaku pangladén DNS (line DNS
), sareng ogé ngalangkungan sadaya lalu lintas ngalangkungan torowongan VPN (AllowedIPs = 0.0.0.0/0
).
Gantina nyalin file kana alat sélulér anjeun, anjeun tiasa ngarobih kana kode QR:
$ sudo apt install qrencode
$ qrencode -t ansiutf8 < mobile.conf
Kode QR bakal kaluaran kana konsol salaku ASCII. Éta tiasa diseken tina aplikasi Android VPN sareng bakal otomatis nyetél torowongan VPN.
kacindekan
Nyetél WireGuard ngan saukur magis dibandingkeun OpenVPN.
sumber: www.habr.com