เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ VPN เบ‡เปˆเบฒเบเป†เบเบฑเบš WireGuard เปเบฅเบฐ Raspberry Pi เป€เบ›เบฑเบ™เป€เบŠเบตเบšเป€เบงเบต

เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒ WireGuard เบˆเบฐเบเบฒเบเป€เบ›เบฑเบ™เบชเปˆเบงเบ™เบซเบ™เบถเปˆเบ‡ เบ‚เบญเบ‡ Linux kernel 5.6 เบ—เบตเปˆเบˆเบฐเบกเบฒเป€เบ–เบดเบ‡, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเป€เบšเบดเปˆเบ‡เบงเบดเบ—เบตเบเบฒเบ™เบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบชเบธเบ”เปƒเบ™เบเบฒเบ™เบฅเบงเบก VPN เบ™เบตเป‰เบเบฑเบšเบ‚เบญเบ‡เบ‚เป‰เบญเบ. เป€เบฃเบปเบฒเป€เบ•เบต LTE/เบˆเบธเบ”เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เปƒเบ™ Raspberry Pi.

เบญเบธเบ›เบฐเบเบญเบ™

  • Raspberry Pi 3 เบเบฑเบšเป‚เบกเบ”เบนเบ™ LTE เปเบฅเบฐเบ—เบตเปˆเบขเบนเปˆ IP เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐ. เบˆเบฐเบกเบตเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ VPN เบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰ (เบ•เปเปˆเป„เบ›เบ™เบตเป‰เปƒเบ™เบ‚เปเป‰เบ„เบงเบฒเบกเบ—เบตเปˆเบกเบฑเบ™เบ–เบทเบเป€เบญเบตเป‰เบ™เบงเปˆเบฒ เบ„เบปเบ™เบเปˆเบฒเบ‡เปเบ„เบกเบ—เบฒเบ‡)
  • เป‚เบ—เบฅเบฐเบชเบฑเบš Android เบ—เบตเปˆเบ•เป‰เบญเบ‡เปƒเบŠเป‰ VPN เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเบทเปˆเบชเบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”
  • เปเบฅเบฑเบšเบ—เบฑเบญเบš Linux เบ—เบตเปˆเบ„เบงเบ™เปƒเบŠเป‰ VPN เบžเบฒเบเปƒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบเป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™

เบ—เบธเบเบญเบธเบ›เบฐเบเบญเบ™เบ—เบตเปˆเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบš VPN เบˆเบฐเบ•เป‰เบญเบ‡เบชเบฒเบกเบฒเบ”เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเบญเบธเบ›เบฐเบเบญเบ™เบญเบทเปˆเบ™เบ—เบฑเบ‡เปเบปเบ”เป„เบ”เป‰. เบ•เบปเบงเบขเปˆเบฒเบ‡, เป‚เบ—เบฅเบฐเบชเบฑเบšเบ„เบงเบ™เบˆเบฐเบชเบฒเบกเบฒเบ”เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเป€เบงเบฑเบšเปƒเบ™เปเบฅเบฑเบšเบ—เบฑเบญเบšเป„เบ”เป‰เบ–เป‰เบฒเบญเบธเบ›เบฐเบเบญเบ™เบ—เบฑเบ‡เบชเบญเบ‡เป€เบ›เบฑเบ™เบชเปˆเบงเบ™เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เป€เบ„เบทเบญเบ‚เปˆเบฒเบ VPN. เบ–เป‰เบฒโ€‹เบซเบฒเบโ€‹เบงเปˆเบฒโ€‹เบเบฒเบ™โ€‹เบ•เบฑเป‰เบ‡โ€‹เบ„เปˆเบฒโ€‹เปเบกเปˆเบ™โ€‹เบ‡เปˆเบฒเบโ€‹เบ”เบฒเบโ€‹เบ—เบตเปˆโ€‹เบ‚เป‰เบญเบ™โ€‹เบ‚เป‰เบฒเบ‡โ€‹, เบซเบผเบฑเบ‡โ€‹เบˆเบฒเบโ€‹เบ™เบฑเป‰เบ™โ€‹เบ—เปˆเบฒเบ™โ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบ„เบดเบ”โ€‹เบเปˆเบฝเบงโ€‹เบเบฑเบšโ€‹เบเบฒเบ™โ€‹เป€เบŠเบทเปˆเบญเบกโ€‹เบ•เปเปˆ desktop เบเบฑเบš VPN (เบœเปˆเบฒเบ™ Ethernetโ€‹)โ€‹.

เบžเบดโ€‹เบˆเบฒโ€‹เบฅเบฐโ€‹เบ™เบฒโ€‹เบงเปˆเบฒโ€‹เบเบฒเบ™โ€‹เป€เบŠเบทเปˆเบญเบกโ€‹เบ•เปเปˆโ€‹เปเบšเบšโ€‹เบกเบตโ€‹เบชเบฒเบโ€‹เปเบฅเบฐโ€‹เป„เบฎเป‰โ€‹เบชเบฒเบโ€‹เปเบกเปˆเบ™โ€‹เบกเบตโ€‹เบซเบ™เป‰เบญเบโ€‹เปเบฅเบฐโ€‹เบ„เบงเบฒเบกโ€‹เบ›เบญเบ”โ€‹เป„เบžโ€‹เบซเบ™เป‰เบญเบโ€‹เปƒเบ™โ€‹เป„เบฅโ€‹เบเบฐโ€‹เป€เบงโ€‹เบฅเบฒ (เบเบฒเบ™โ€‹เป‚เบˆเบกโ€‹เบ•เบตโ€‹เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบโ€‹, เบเบฒเบ™เป‚เบˆเบกเบ•เบตเปเบ•เบ KRACK WPA2 ะธ เบเบฒเบ™เป‚เบˆเบกเบ•เบตเป€เบฅเบทเบญเบ”เบกเบฑเบ‡เบเบญเบ™เบ•เปเปˆเบเบฑเบš WPA3), เบ‚เป‰เบญเบเบเปเบฒเบฅเบฑเบ‡เบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเบขเปˆเบฒเบ‡เบˆเบดเบ‡เบˆเบฑเบ‡เบเบฑเบšเบเบฒเบ™เปƒเบŠเป‰ WireGuard เบชเปเบฒเบฅเบฑเบšเบญเบธเบ›เบฐเบเบญเบ™เบ‚เบญเบ‡เบ‚เป‰เบญเบเบ—เบฑเบ‡เบซเบกเบปเบ”, เบšเปเปˆเบงเปˆเบฒเบžเบงเบเป€เบ‚เบปเบฒเบขเบนเปˆเปƒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเปƒเบ”เบเปเปˆเบ•เบฒเบก.

เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบŠเบญเบšเปเบง

WireGuard เปƒเบซเป‰ เบซเบธเป‰เบกเบซเปเปˆ precompiled เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เปเบˆเบเบขเบฒเบ Linux, Windows เปเบฅเบฐ macOS เบชเปˆเบงเบ™เปƒเบซเบเปˆ. เปเบญเบฑเบš Android เปเบฅเบฐ iOS เบ–เบทเบเบชเบปเปˆเบ‡เบœเปˆเบฒเบ™เบฅเบฒเบเบเบฒเบ™เบ‚เบญเบ‡เปเบญเบฑเบš.

เบ‚เป‰เบญเบเบกเบต Fedora Linux 31 เบซเบผเป‰เบฒเบชเบธเบ”, เปเบฅเบฐเบ‚เป‰เบญเบเบ‚เบตเป‰เบ„เป‰เบฒเบ™เป€เบเบตเบ™เป„เบ›เบ—เบตเปˆเบˆเบฐเบญเปˆเบฒเบ™เบ„เบนเปˆเบกเบทเบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเบ•เบดเบ”เบ•เบฑเป‰เบ‡. เบซเบฒเบเปเบžเบปเบšเบŠเบธเบ”เบ•เปˆเบฒเบ‡เป† wireguard-tools, เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบžเบงเบเบกเบฑเบ™, เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบšเปเปˆเบชเบฒเบกเบฒเบ”เบ„เบดเบ”เบญเบญเบเบงเปˆเบฒเป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบšเปเปˆเบกเบตเบซเบเบฑเบ‡เป€เบฎเบฑเบ”เบงเบฝเบ. เบเบฒเบ™เบชเบทเบšเบชเบงเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเป€เบ›เบตเบ”เป€เบœเบตเบเบงเปˆเบฒเบ‚เป‰เบญเบเบšเปเปˆเบกเบตเบŠเบธเบ”เบ•เบดเบ”เบ•เบฑเป‰เบ‡ wireguard-dkms (เบเบฑเบšเป„เบ”เป€เบงเบตเป€เบ„เบทเบญเบ‚เปˆเบฒเบ), เปเบ•เปˆเบกเบฑเบ™เบšเปเปˆเป„เบ”เป‰เบขเบนเปˆเปƒเบ™เบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™เบ‚เบญเบ‡เบเบฒเบ™เปเบˆเบเบขเบฒเบเบ‚เบญเบ‡เบ‚เป‰เบญเบ.

เบ–เป‰เบฒเบ‚เป‰เบญเบเป„เบ”เป‰เบญเปˆเบฒเบ™เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒ, เบ‚เป‰เบญเบเบˆเบฐเบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡:

$ sudo dnf copr enable jdoss/wireguard
$ sudo dnf install wireguard-dkms wireguard-tools

เบ‚เป‰เบญเบเบกเบตเบเบฒเบ™เปเบˆเบเบขเบฒเบ Raspbian Buster เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบขเบนเปˆเปƒเบ™ Raspberry Pi เบ‚เบญเบ‡เบ‚เป‰เบญเบ, เบกเบตเบŠเบธเบ”เบขเบนเปˆเปเบฅเป‰เบง wireguard, เบ•เบดเบ”โ€‹เบ•เบฑเป‰เบ‡โ€‹เบกเบฑเบ™โ€‹:

$ sudo apt install wireguard

เปƒเบ™เป‚เบ—เบฅเบฐเบชเบฑเบš Android เบ‚เบญเบ‡เบ‚เป‰เบญเบเบ‚เป‰เบญเบเบ•เบดเบ”เบ•เบฑเป‰เบ‡เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™ WireGuardVPN เบˆเบฒเบเปเบ„เบฑเบ”เบ•เบฒเบฅเบฑเบญเบ Google App Store เบขเปˆเบฒเบ‡เป€เบ›เบฑเบ™เบ—เบฒเบ‡เบเบฒเบ™.

เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบเบฐเปเบˆ

เบชเบณเบฅเบฑเบšเบเบฒเบ™เบžเบดเบชเบนเบ”เบขเบทเบ™เบขเบฑเบ™เปเบšเบšเปเบนเปˆเป€เบžเบทเปˆเบญเบ™, 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 (line DNS), เปเบฅเบฐเบเบฑเบ‡เบœเปˆเบฒเบ™เบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เป‚เบ”เบเบœเปˆเบฒเบ™เบญเบธเป‚เบกเบ‡ VPN (AllowedIPs = 0.0.0.0/0).

เปเบ—เบ™โ€‹เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เบชเปเบฒโ€‹เป€เบ™เบปเบฒโ€‹เป„เบŸเบฅโ€‹เปŒโ€‹เบเบฑเบšโ€‹เบญเบธโ€‹เบ›เบฐโ€‹เบเบญเบ™โ€‹เบกเบทโ€‹เบ–เบทโ€‹เบ‚เบญเบ‡โ€‹เบ—เปˆเบฒเบ™โ€‹, เบ—เปˆเบฒเบ™โ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบ›เปˆเบฝเบ™โ€‹เบกเบฑเบ™โ€‹เป€เบ›เบฑเบ™โ€‹เบฅเบฐโ€‹เบซเบฑเบ” QR เป„เบ”เป‰โ€‹:

$ sudo apt install qrencode
$ qrencode -t ansiutf8 < mobile.conf

เบฅเบฐเบซเบฑเบ” QR เบˆเบฐเบญเบญเบเป„เบ›เบซเบฒ console เป€เบ›เบฑเบ™ ASCII. เบกเบฑเบ™เบชเบฒเบกเบฒเบ”เบชเบฐเปเบเบ™เป„เบ”เป‰เบˆเบฒเบเปเบญเบฑเบš Android VPN เปเบฅเบฐเบˆเบฐเบ•เบฑเป‰เบ‡เบญเบธเป‚เบกเบ‡ VPN เป‚เบ”เบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”.

เบชเบฐเบซเบฅเบธเบš

เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ WireGuard เป€เบ›เบฑเบ™เป€เบฅเบทเปˆเบญเบ‡เปเบ›เบเบ—เบตเปˆเบ—เบฝเบšเบเบฑเบš OpenVPN.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™