WireGuard เช…เชจเซ‡ Raspberry Pi เชธเชพเชฅเซ‡ เชธเชฐเซเชตเชฐ เชคเชฐเซ€เช•เซ‡ เชเช• เชธเชฐเชณ VPN เชธเซ‡เชŸ เช•เชฐเซ‹

เชตเชพเชฏเชฐเช—เชพเชฐเซเชก เชฅเซ€ เชจเซ‹ เชญเชพเช— เชฌเชจเซ‹ เชญเชพเชตเชฟ Linux 5.6 เช•เชฐเซเชจเชฒเชฎเชพเช‚เชฅเซ€, เชฎเซ‡เช‚ เช† VPN เชจเซ‡ เชฎเชพเชฐเชพ เชธเชพเชฅเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชถเซเชฐเซ‡เชทเซเช  เชฐเซ€เชคเซ‡ เชธเช‚เช•เชฒเชฟเชค เช•เชฐเชตเซเช‚ เชคเซ‡ เชœเซ‹เชตเชพเชจเซเช‚ เชจเช•เซเช•เซ€ เช•เชฐเซเชฏเซเช‚ Raspberry Pi เชชเชฐ LTE เชฐเชพเช‰เชŸเชฐ/เชเช•เซเชธเซ‡เชธ เชชเซ‹เชˆเชจเซเชŸ.

เชธเชพเชงเชจเซ‹

  • LTE เชฎเซ‹เชกเซเชฏเซเชฒ เช…เชจเซ‡ เชธเชพเชฐเซเชตเชœเชจเชฟเช• IP เชธเชพเชฅเซ‡ เชฐเชพเชธเซเชชเชฌเซ‡เชฐเซ€ Pi 3. เชคเซเชฏเชพเช‚ เชเช• VPN เชธเชฐเซเชตเชฐ เชนเชถเซ‡ (เชคเซเชฏเชพเชฐเชฌเชพเชฆ เชคเชฐเซ€เช•เซ‡ เช“เชณเช–เชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เชเชœเชตเซ‹เช•เชฐ)
  • เชเช• Android เชซเซ‹เชจ เช•เซ‡ เชœเซ‡เชฎเชพเช‚ เชคเชฎเชพเชฎ เชธเช‚เชšเชพเชฐ เชฎเชพเชŸเซ‡ VPN เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเซ‹ เช†เชตเชถเซเชฏเช• เช›เซ‡
  • Linux เชฒเซ‡เชชเชŸเซ‹เชช เช•เซ‡ เชœเซ‡เชจเซ‡ เชซเช•เซเชค เชจเซ‡เชŸเชตเชฐเซเช•เชจเซ€ เช…เช‚เชฆเชฐ VPN เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡

เชฆเชฐเซ‡เช• เช‰เชชเช•เชฐเชฃ เช•เซ‡ เชœเซ‡ VPN เชธเชพเชฅเซ‡ เช•เชจเซ‡เช•เซเชŸ เชฅเชพเชฏ เช›เซ‡ เชคเซ‡ เชฆเชฐเซ‡เช• เช…เชจเซเชฏ เช‰เชชเช•เชฐเชฃ เชธเชพเชฅเซ‡ เช•เชจเซ‡เช•เซเชŸ เชฅเชตเชพ เชฎเชพเชŸเซ‡ เชธเช•เซเชทเชฎ เชนเซ‹เชตเซเช‚ เช†เชตเชถเซเชฏเช• เช›เซ‡. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชœเซ‹ เชฌเช‚เชจเซ‡ เช‰เชชเช•เชฐเชฃเซ‹ VPN เชจเซ‡เชŸเชตเชฐเซเช•เชจเซ‹ เชญเชพเช— เชนเซ‹เชฏ เชคเซ‹ เชซเซ‹เชจ เชฒเซ‡เชชเชŸเซ‹เชช เชชเชฐ เชตเซ‡เชฌ เชธเชฐเซเชตเชฐ เชธเชพเชฅเซ‡ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เชธเช•เซเชทเชฎ เชนเซ‹เชตเซ‹ เชœเซ‹เชˆเช. เชœเซ‹ เชธเซ‡เชŸเช…เชช เชชเซ‚เชฐเชคเซเช‚ เชธเชฐเชณ เช›เซ‡, เชคเซ‹ เชชเช›เซ€ เชคเชฎเซ‡ VPN เช…เชจเซ‡ เชกเซ‡เชธเซเช•เชŸเซ‹เชช (เช‡เชฅเชฐเชจเซ‡เชŸ เชฆเซเชตเชพเชฐเชพ) เชธเชพเชฅเซ‡ เช•เชจเซ‡เช•เซเชŸ เชฅเชตเชพ เชตเชฟเชถเซ‡ เชตเชฟเชšเชพเชฐเซ€ เชถเช•เซ‹ เช›เซ‹.

เชตเชพเชฏเชฐเซเชก เช…เชจเซ‡ เชตเชพเชฏเชฐเชฒเซ‡เชธ เช•เชจเซ‡เช•เซเชถเชจ เชธเชฎเชฏ เชœเชคเชพเช‚ เช“เช›เชพ เชธเซเชฐเช•เซเชทเชฟเชค เชฌเชจเซ€ เชฐเชนเซเชฏเชพ เช›เซ‡ เชคเซ‡ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเซ‡เชคเชพ (เชฒเช•เซเชทเชฟเชค เชนเซเชฎเชฒเชพ, KRACK WPA2 เชนเซ‡เช•เชฟเช‚เช— เชนเซเชฎเชฒเซ‹ ะธ เชกเชฌเชฒเซเชฏเซเชชเซ€เช 3 เชธเชพเชฎเซ‡ เชกเซเชฐเซ‡เช—เชจ เชฌเซเชฒเชก เชเชŸเซ‡เช•), เชนเซเช‚ เชฎเชพเชฐเชพ เชคเชฎเชพเชฎ เช‰เชชเช•เชฐเชฃเซ‹ เชฎเชพเชŸเซ‡ WireGuard เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซเช‚ เช—เช‚เชญเซ€เชฐเชคเชพเชฅเซ€ เชตเชฟเชšเชพเชฐเซ€ เชฐเชนเซเชฏเซ‹ เช›เซเช‚, เชชเช›เซ€ เชญเชฒเซ‡ เชคเซ‡เช“ เช—เชฎเซ‡ เชคเซ‡ เชตเชพเชคเชพเชตเชฐเชฃเชฎเชพเช‚ เชšเชพเชฒเซ€ เชฐเชนเซเชฏเชพเช‚ เชนเซ‹เชฏ.

เชธ SoftwareเชซเซเชŸเชตเซ‡เชฐ เช‡เชจเซเชธเซเชŸเซ‹เชฒเซ‡เชถเชจ

เชตเชพเชฏเชฐเช—เชพเชฐเซเชก เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ‡ เช›เซ‡ เชชเซ‚เชฐเซเชต เชธเช‚เช•เชฒเชฟเชค เชชเซ‡เช•เซ‡เชœเซ‹ เชฎเซ‹เชŸเชพเชญเชพเช—เชจเชพ 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

เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชฐเชพเชธเซเชชเชฌเชฟเชฏเชจ เชฌเชธเซเชŸเชฐ เชกเชฟเชธเซเชŸเซเชฐเชฟเชฌเซเชฏเซเชถเชจ เชฎเชพเชฐเชพ เชฐเชพเชธเซเชชเชฌเซ‡เชฐเซ€ เชชเซ€ เชชเชฐ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ‡เชฒเซเช‚ เช›เซ‡, เชคเซเชฏเชพเช‚ เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ เชเช• เชชเซ‡เช•เซ‡เชœ เช›เซ‡ wireguard, เชคเซ‡เชจเซ‡ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ‹:

$ sudo apt install wireguard

เชฎเซ‡เช‚ เชฎเชพเชฐเชพ เชเชจเซเชกเซเชฐเซ‹เช‡เชก เชซเซ‹เชจ เชชเชฐ เชเชช เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ€ เช›เซ‡ เชตเชพเชฏเชฐเช—เชพเชฐเซเชก VPN Google เชเชช เชธเซเชŸเซ‹เชฐเชจเชพ เช…เชงเชฟเช•เซƒเชค เช•เซ‡เชŸเชฒเซ‹เช—เชฎเชพเช‚เชฅเซ€.

เช•เซ€เช“ เชธเซเชฅเชพเชชเชฟเชค เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช

เชจเซ‹เชกเซเชธเชจเซ‡ เชชเซเชฐเชฎเชพเชฃเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชตเชพเชฏเชฐเช—เชพเชฐเซเชก 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

เช† เช…เชฎเชจเซ‡ เชคเซเชฐเชฃ เช•เซ€ เชœเซ‹เชกเซ€เช“ (เช› เชซเชพเช‡เชฒเซ‹) เช†เชชเซ‡ เช›เซ‡. เช…เชฎเซ‡ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช“เชฎเชพเช‚ เชซเชพเชˆเชฒเซ‹เชจเซ‹ เชธเช‚เชฆเชฐเซเชญ เชฒเชˆเชถเซเช‚ เชจเชนเซ€เช‚, เชชเชฐเช‚เชคเซ เช…เชนเซ€เช‚ เชธเชฎเชพเชตเชฟเชทเซเชŸเซ‹เชจเซ€ เชจเช•เชฒ เช•เชฐเซ€เชถเซเช‚: เชฆเชฐเซ‡เช• เช•เซ€ เชฌเซ‡เช 64 เชฎเชพเช‚ เชเช• เชฒเซ€เชŸเซ€ เช›เซ‡.

VPN เชธเชฐเซเชตเชฐ (เชฐเชพเชธเซเชชเชฌเซ‡เชฐเซ€ เชชเซ€) เชฎเชพเชŸเซ‡ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ เชซเชพเช‡เชฒ เชฌเชจเชพเชตเชตเซ€

เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ เชเช•เชฆเชฎ เชธเชฐเชณ เช›เซ‡, เชฎเซ‡เช‚ เชจเซ€เชšเซ‡เชจเซ€ เชซเชพเช‡เชฒ เชฌเชจเชพเชตเซ€ เช›เซ‡ /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

เช‰เชชเชฐเชพเช‚เชค, เชธเชพเช‚เชญเชณเชคเชพ UDP เชชเซ‹เชฐเซเชŸ (51280) เชชเชฐ เชŸเซเชฐเชพเชซเชฟเช•เชจเซ‡ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเชตเชพ เชฎเชพเชŸเซ‡ เชฎเซ‡เช‚ เชเช• iptable เชจเชฟเชฏเชฎ เช‰เชฎเซ‡เชฐเซเชฏเซ‹ เช›เซ‡:

$ 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

เชจเซ‹เช‚เชง:

  • เชเชœเชตเซ‹เช•เชฐเชจเซ‡ เชฌเชฆเชฒเซ‡, เชคเชฎเชพเชฐเซ‡ เชธเชพเชฐเซเชตเชœเชจเชฟเช• 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 เชซเซ‹เชจ เชชเชฐ เช•เซเชฒเชพเชฏเช‚เชŸ เชธเซ‡เชŸ เช•เชฐเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡

เชเชจเซเชกเซเชฐเซ‹เช‡เชก เชซเซ‹เชจ เชฎเชพเชŸเซ‡, เช…เชฎเซ‡ เช–เซ‚เชฌ เชœ เชธเชฎเชพเชจ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ เชซเชพเช‡เชฒ เชฌเชจเชพเชตเซ€เช เช›เซ€เช (เชšเชพเชฒเซ‹ เชคเซ‡เชจเซ‡ เช•เซ‰เชฒ เช•เชฐเซ€เช 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 เชŸเชจเชฒ เชธเซ‡เชŸ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡.

เชจเชฟเชทเซเช•เชฐเซเชท

OpenVPN เชจเซ€ เชธเชฐเช–เชพเชฎเชฃเซ€เชฎเชพเช‚ WireGuard เชธเซ‡เชŸ เช•เชฐเชตเซเช‚ เช เชฎเชพเชคเซเชฐ เชœเชพเชฆเซเชˆ เช›เซ‡.

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹