ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ WireGuard
ΠΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅
- Raspberry Pi 3 Ρ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ LTE ΠΈ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΌ IP-Π°Π΄ΡΠ΅ΡΠΎΠΌ. ΠΠ΄Π΅ΡΡ Π±ΡΠ΄Π΅Ρ VPN-ΡΠ΅ΡΠ²Π΅Ρ (Π΄Π°Π»Π΅Π΅ Π² ΡΠ΅ΠΊΡΡΠ΅ ΠΎΠ½ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ edgewalker)
- Π’Π΅Π»Π΅ΡΠΎΠ½ Π½Π° Android, ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ VPN Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΉ
- ΠΠΎΡΡΠ±ΡΠΊ Linux, ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ VPN ΡΠΎΠ»ΡΠΊΠΎ Π²Π½ΡΡΡΠΈ ΡΠ΅ΡΠΈ
ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊ VPN, Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΊΠΎ Π²ΡΠ΅ΠΌ Π΄ΡΡΠ³ΠΈΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅Π»Π΅ΡΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΊ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΡ Π½Π° Π½ΠΎΡΡΠ±ΡΠΊΠ΅, Π΅ΡΠ»ΠΈ ΠΎΠ±Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΡΠ²Π»ΡΡΡΡΡ ΡΠ°ΡΡΡΡ ΡΠ΅ΡΠΈ VPN. ΠΡΠ»ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΠΎΠ»ΡΡΠΈΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎΠΉ, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡΠΌΠ°ΡΡ ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΊ VPN ΠΈ Π΄Π΅ΡΠΊΡΠΎΠΏΠ° (ΠΏΠΎ Ethernet).
Π£ΡΠΈΡΡΠ²Π°Ρ, ΡΡΠΎ ΠΏΡΠΎΠ²ΠΎΠ΄Π½ΡΠ΅ ΠΈ Π±Π΅ΡΠΏΡΠΎΠ²ΠΎΠ΄Π½ΡΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ Π²ΡΡ ΠΌΠ΅Π½Π΅Π΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½Ρ (
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ
WireGuard ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ
Π£ ΠΌΠ΅Π½Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Fedora Linux 31, Π° ΠΏΠ΅ΡΠ΅Π΄ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ Ρ ΠΏΠΎΠ»Π΅Π½ΠΈΠ»ΡΡ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ. ΠΡΠΎΡΡΠΎ Π½Π°ΡΡΠ» ΠΏΠ°ΠΊΠ΅ΡΡ wireguard-tools
, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ» ΠΈΡ
, Π° ΠΏΠΎΡΠΎΠΌ Π½Π΅ ΠΌΠΎΠ³ ΠΏΠΎΠ½ΡΡΡ, ΠΏΠΎΡΠ΅ΠΌΡ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΠ°Π»ΡΠ½Π΅ΠΉΡΠ΅Π΅ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΎ, ΡΡΠΎ Ρ ΠΌΠ΅Π½Ρ Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΠΏΠ°ΠΊΠ΅Ρ wireguard-dkms
(Ρ ΡΠ΅ΡΠ΅Π²ΡΠΌ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠΌ), Π° Π΅Π³ΠΎ Π½Π΅ Π±ΡΠ»ΠΎ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΌΠΎΠ΅Π³ΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°.
ΠΡΠ»ΠΈ Π±Ρ Ρ ΠΏΡΠΎΡΠΈΡΠ°Π» ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ, ΡΠΎ ΡΠ΄Π΅Π»Π°Π» Π±Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅ ΡΠ°Π³ΠΈ:
$ sudo dnf copr enable jdoss/wireguard
$ sudo dnf install wireguard-dkms wireguard-tools
ΠΠ° Raspberry Pi Ρ ΠΌΠ΅Π½Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ² Raspbian Buster, ΡΠ°ΠΌ ΡΠΆΠ΅ Π΅ΡΡΡ ΠΏΠ°ΠΊΠ΅Ρ wireguard
, ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π΅Π³ΠΎ:
$ sudo apt install wireguard
ΠΠ° ΡΠ΅Π»Π΅ΡΠΎΠ½Π΅ Android Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ» ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΊΠ»ΡΡΠ΅ΠΉ
ΠΠ»Ρ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ·Π»ΠΎΠ² Wireguard ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΡΠΎΡΡΡΡ ΡΡ Π΅ΠΌΡ Π·Π°ΠΊΡΡΡΠΎΠ³ΠΎ/ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ΅ΠΉ Π΄Π»Ρ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ·Π»ΠΎΠ² VPN. ΠΠΎΠΆΠ΅ΡΠ΅ Π»Π΅Π³ΠΊΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ»ΡΡΠΈ VPN Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
$ 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
ΠΡΠΎ Π΄Π°ΡΡ Π½Π°ΠΌ ΡΡΠΈ ΠΏΠ°ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ (ΡΠ΅ΡΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²). ΠΠ΅ Π±ΡΠ΄Π΅ΠΌ ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° ΡΠ°ΠΉΠ»Ρ Π² ΠΊΠΎΠ½ΡΠΈΠ³Π°Ρ , Π° ΡΠΊΠΎΠΏΠΈΡΡΠ΅ΠΌ ΡΡΠ΄Π° ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅: ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΊΠ»ΡΡΒ β ΡΡΠΎ ΠΎΠ΄Π½Π° ΡΡΡΠΎΠΊΠ° Π² base64.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π΄Π»Ρ VPN-ΡΠ΅ΡΠ²Π΅ΡΠ° (Raspberry Pi)
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠ°Ρ, Ρ ΡΠΎΠ·Π΄Π°Π» ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°ΠΉΠ» /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
ΠΠ°ΡΡ Π·Π°ΠΌΠ΅ΡΠ°Π½ΠΈΠΉ:
- Π ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΌΠ΅ΡΡΠ° Π½ΡΠΆΠ½ΠΎ Π²ΡΡΠ°Π²ΠΈΡΡ ΡΡΡΠΎΠΊΠΈ ΠΈΠ· ΡΠ°ΠΉΠ»ΠΎΠ² Ρ ΠΊΠ»ΡΡΠ°ΠΌΠΈ
- ΠΠΎΡ ΡΠ΅ΡΡ VPN ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½
10.200.200.0/24
- ΠΠ»Ρ ΠΊΠΎΠΌΠ°Π½Π΄
PostUp
/PostDown
Ρ ΠΌΠ΅Π½Ρ ΡΠΊΠ°Π·Π°Π½ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ wwan0, Ρ Π²Π°Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄ΡΡΠ³ΠΎΠΉ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, eth0)
Π‘Π΅ΡΡ VPN Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Π΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
$ sudo wg-quick up wg0
ΠΠ΄Π½Π° ΠΌΠ°Π»Π΅Π½ΡΠΊΠ°Ρ Π΄Π΅ΡΠ°Π»Ρ: Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ DNS-ΡΠ΅ΡΠ²Π΅ΡΠ° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» dnsmasq
Ρ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΎΠΉ ΠΊ ΡΠ΅ΡΠ΅Π²ΠΎΠΌΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ br0
, Ρ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠ» ΡΡΡΡΠΎΠΉΡΡΠ²Π° wg0
Π² ΡΠΏΠΈΡΠΎΠΊ ΡΠ°Π·ΡΠ΅ΡΡΠ½Π½ΡΡ
ΡΡΡΡΠΎΠΉΡΡΠ². Π dnsmasq ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ ΠΏΡΡΡΠΌ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Ρ ΡΠ΅ΡΠ΅Π²ΡΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ Π² ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ /etc/dnsmasq.conf
, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
interface=br0
interface=wg0
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Ρ Π΄ΠΎΠ±Π°Π²ΠΈΠ» ΠΏΡΠ°Π²ΠΈΠ»ΠΎ iptable, ΡΡΠΎΠ±Ρ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΡΡΠ°ΡΠΈΠΊ Π½Π° ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°ΡΡΠΈΠΉ UDP-ΠΏΠΎΡΡ (51280):
$ sudo iptables -I INPUT -p udp --dport 51820 -j ACCEPT
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Π²ΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΠΏΠΈΡΠ°ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π·Π°ΠΏΡΡΠΊ VPN-ΡΡΠ½Π½Π΅Π»Ρ:
$ sudo systemctl enable [email protected]
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π½Π° Π½ΠΎΡΡΠ±ΡΠΊΠ΅
ΠΠ° Π½ΠΎΡΡΠ±ΡΠΊΠ΅ ΡΠΎΠ·Π΄Π°ΡΠΌ ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ /etc/wireguard/wg0.conf
Ρ ΡΠ°ΠΊΠΈΠΌΠΈ ΠΆΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ:
[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
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΡ:
- ΠΠΌΠ΅ΡΡΠΎ edgewalker Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΉ IP ΠΈΠ»ΠΈ Ρ ΠΎΡΡ VPN-ΡΠ΅ΡΠ²Π΅ΡΠ°
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΠ²
AllowedIPs
Π½Π°10.200.200.0/24
, ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ VPN ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΡΠ΅ΡΠΈ. Π’ΡΠ°ΡΠΈΠΊ Π½Π° Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ IP-Π°Π΄ΡΠ΅ΡΠ°/ΡΠ΅ΡΠ²Π΅ΡΡ Π±ΡΠ΄Π΅Ρ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΠΈΠ΄ΡΠΈ ΠΏΠΎ Β«ΠΎΠ±ΡΡΠ½ΡΠΌΒ» ΠΎΡΠΊΡΡΡΡΠΌ ΠΊΠ°Π½Π°Π»Π°ΠΌ. Π’Π°ΠΊΠΆΠ΅ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ DNS-ΡΠ΅ΡΠ²Π΅Ρ Π½Π° Π½ΠΎΡΡΠ±ΡΠΊΠ΅.
ΠΠ»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΠ΅ ΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ wg-quick
ΠΈ systemd
:
$ sudo wg-quick up wg0
$ sudo systemctl enable [email protected]
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π½Π° Android-ΡΠ΅Π»Π΅ΡΠΎΠ½Π΅
ΠΠ»Ρ ΡΠ΅Π»Π΅ΡΠΎΠ½Π° Android ΡΠΎΠ·Π΄Π°ΡΠΌ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ
ΠΎΠΆΠΈΠΉ ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ (Π½Π°Π·ΠΎΠ²ΡΠΌ Π΅Π³ΠΎ 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
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π½Π° Π½ΠΎΡΡΠ±ΡΠΊΠ΅, ΡΠ΅Π»Π΅ΡΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π°Ρ VPN-ΡΠ΅ΡΠ²Π΅Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ DNS-ΡΠ΅ΡΠ²Π΅ΡΠ° (ΡΡΡΠΎΠΊΠ° DNS
), Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠΏΡΡΠΊΠ°ΡΡ ΡΠ΅ΡΠ΅Π· VPN-ΡΡΠ½Π½Π΅Π»Ρ Π²Π΅ΡΡ ΡΡΠ°ΡΠΈΠΊ (AllowedIPs = 0.0.0.0/0
).
ΠΠΌΠ΅ΡΡΠΎ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»Π° Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π² QR-ΠΊΠΎΠ΄:
$ sudo apt install qrencode
$ qrencode -t ansiutf8 < mobile.conf
QR-ΠΊΠΎΠ΄ Π²ΡΠΉΠ΄Π΅Ρ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ ΠΊΠ°ΠΊ ASCII. ΠΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ· ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Android VPN ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π°ΡΡΡΠΎΠΈΡΡ VPN-ΡΡΠ½Π½Π΅Π»Ρ.
ΠΡΠ²ΠΎΠ΄
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° WireGuard ΠΏΡΠΎΡΡΠΎ Π²ΠΎΠ»ΡΠ΅Π±Π½Π° ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ OpenVPN.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com