เจ‡เฉฑเจ• เจธเจฐเจตเจฐ เจฆเฉ‡ เจคเฉŒเจฐ 'เจคเฉ‡ WireGuard เจ…เจคเฉ‡ Raspberry Pi เจจเจพเจฒ เจ‡เฉฑเจ• เจธเจงเจพเจฐเจจ VPN เจธเฉˆเจŸ เจ…เจช เจ•เจฐเจจเจพ

เจ•เจฟเจ‰เจ‚เจ•เจฟ เจตเจพเจ‡เจฐเจ—เจพเจฐเจก เจนเจฟเฉฑเจธเจพ เจฌเจฃ เจœเจพเจตเฉ‡เจ—เจพ เจ†เจ‰เจฃ เจตเจพเจฒเฉ‡ เจฒเฉ€เจจเจ•เจธ เจ•เจฐเจจเจฒ 5.6 เจฆเฉ‡, เจฎเฉˆเจ‚ เจ‡เจน เจฆเฉ‡เจ–เจฃ เจฆเจพ เจซเฉˆเจธเจฒเจพ เจ•เฉ€เจคเจพ เจนเฉˆ เจ•เจฟ เจ‡เจธ VPN เจจเฉ‚เฉฐ เจฎเฉ‡เจฐเฉ‡ เจจเจพเจฒ เจ•เจฟเจตเฉ‡เจ‚ เจเจ•เฉ€เจ•เฉเจฐเจฟเจค เจ•เจฐเจจเจพ เจนเฉˆ Raspberry Pi 'เจคเฉ‡ LTE เจฐเจพเจŠเจŸเจฐ/เจเจ•เจธเฉˆเฉฑเจธ เจชเฉเจ†เจ‡เฉฐเจŸ.

เจ‰เจชเจ•เจฐเจฃ

  • LTE เจฎเฉ‹เจกเฉ€เจŠเจฒ เจ…เจคเฉ‡ เจœเจจเจคเจ• IP เจเจกเจฐเฉˆเฉฑเจธ เจจเจพเจฒ Raspberry Pi 3เฅค เจ‡เฉฑเจฅเฉ‡ เจ‡เฉฑเจ• VPN เจธเจฐเจตเจฐ เจนเฉ‹เจตเฉ‡เจ—เจพ (เจ‡เจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจŸเฉˆเจ•เจธเจŸ เจตเจฟเฉฑเจš เจ‡เจธเจจเฉ‚เฉฐ เจ•เจฟเจนเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ edgewalker)
  • เจ‡เฉฑเจ• Android เจซเจผเฉ‹เจจ เจœเจฟเจธเจจเฉ‚เฉฐ เจธเจพเจฐเฉ‡ เจธเฉฐเจšเจพเจฐเจพเจ‚ เจฒเจˆ เจ‡เฉฑเจ• VPN เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเฉ€ เจšเจพเจนเฉ€เจฆเฉ€ เจนเฉˆ
  • เจฒเฉ€เจจเจ•เจธ เจฒเฉˆเจชเจŸเจพเจช เจœเจฟเจธเจจเฉ‚เฉฐ เจจเฉˆเฉฑเจŸเจตเจฐเจ• เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจธเจฟเจฐเจซเจผ เจ‡เฉฑเจ• VPN เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเฉ€ เจšเจพเจนเฉ€เจฆเฉ€ เจนเฉˆ

VPN เจจเจพเจฒ เจ•เจจเฉˆเจ•เจŸ เจ•เจฐเจจ เจตเจพเจฒเฉ€ เจนเจฐ เจกเจฟเจตเจพเจˆเจธ เจจเฉ‚เฉฐ เจนเฉ‹เจฐ เจธเจพเจฐเฉ€เจ†เจ‚ เจกเจฟเจตเจพเจˆเจธเจพเจ‚ เจจเจพเจฒ เจ•เจจเฉˆเจ•เจŸ เจ•เจฐเจจ เจฆเฉ‡ เจฏเฉ‹เจ— เจนเฉ‹เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ‡เฉฑเจ• เจซเจผเฉ‹เจจ เจ‡เฉฑเจ• เจฒเฉˆเจชเจŸเจพเจช 'เจคเฉ‡ เจ‡เฉฑเจ• เจตเฉˆเฉฑเจฌ เจธเจฐเจตเจฐ เจจเจพเจฒ เจœเฉเฉœเจจ เจฆเฉ‡ เจฏเฉ‹เจ— เจนเฉ‹เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ เจœเฉ‡เจ•เจฐ เจฆเฉ‹เจตเฉ‡เจ‚ เจกเจฟเจตเจพเจˆเจธ เจ‡เฉฑเจ• VPN เจจเฉˆเฉฑเจŸเจตเจฐเจ• เจฆเจพ เจนเจฟเฉฑเจธเจพ เจนเจจเฅค เจœเฉ‡เจ•เจฐ เจธเฉˆเฉฑเจŸเจ…เฉฑเจช เจ•เจพเจซเจผเฉ€ เจธเจงเจพเจฐเจจ เจนเฉˆ, เจคเจพเจ‚ เจคเฉเจธเฉ€เจ‚ เจกเฉˆเจธเจ•เจŸเจพเจช เจจเฉ‚เฉฐ VPN (เจˆเจฅเจฐเจจเฉˆเฉฑเจŸ เจฐเจพเจนเฉ€เจ‚) เจจเจพเจฒ เจ•เจจเฉˆเจ•เจŸ เจ•เจฐเจจ เจฌเจพเจฐเฉ‡ เจธเฉ‹เจš เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค

เจ‡เจน เจงเจฟเจ†เจจ เจตเจฟเฉฑเจš เจฐเฉฑเจ–เจฆเฉ‡ เจนเฉ‹เจ เจ•เจฟ เจคเจพเจฐ เจตเจพเจฒเฉ‡ เจ…เจคเฉ‡ เจตเจพเจ‡เจฐเจฒเฉˆเฉฑเจธ เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจธเจฎเฉ‡เจ‚ เจฆเฉ‡ เจจเจพเจฒ เจ˜เฉฑเจŸ เจ…เจคเฉ‡ เจ˜เฉฑเจŸ เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจนเฉเฉฐเจฆเฉ‡ เจœเจพ เจฐเจนเฉ‡ เจนเจจ (เจจเจฟเจธเจผเจพเจจเจพ เจนเจฎเจฒเฉ‡, KRACK WPA2 เจ•เจฐเฉˆเจ•เจฟเฉฐเจ— เจนเจฎเจฒเจพ ะธ เจกเจฌเจฒเจฏเฉ‚เจชเฉ€เจ 3 เจฆเฉ‡ เจตเจฟเจฐเฉเฉฑเจง เจกเจฐเฉˆเจ—เจจ เจฌเจฒเฉฑเจก เจ…เจŸเฉˆเจ•), เจฎเฉˆเจ‚ เจ†เจชเจฃเฉ€เจ†เจ‚ เจธเจพเจฐเฉ€เจ†เจ‚ เจกเจฟเจตเจพเจˆเจธเจพเจ‚ เจฒเจˆ WireGuard เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ 'เจคเฉ‡ เจ—เฉฐเจญเฉ€เจฐเจคเจพ เจจเจพเจฒ เจตเจฟเจšเจพเจฐ เจ•เจฐ เจฐเจฟเจนเจพ เจนเจพเจ‚, เจญเจพเจตเฉ‡เจ‚ เจ‰เจน เจ•เจฟเจธเฉ‡ เจตเฉ€ เจฎเจพเจนเฉŒเจฒ เจตเจฟเฉฑเจš เจนเฉ‹เจฃเฅค

เจธเจพเจซเจŸเจตเฉ‡เจ…เจฐ เจ‡เฉฐเจธเจŸเจพเจฒเฉ‡เจธเจผเจจ

เจตเจพเจ‡เจฐเจ—เจพเจฐเจก เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเจพ เจนเฉˆ เจชเจนเจฟเจฒเจพเจ‚ เจคเฉ‹เจ‚ เจ•เฉฐเจชเจพเจ‡เจฒ เจ•เฉ€เจคเฉ‡ เจชเฉˆเจ•เฉ‡เจœ เจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจฒเฉ€เจจเจ•เจธ, เจตเจฟเฉฐเจกเฉ‹เจœเจผ เจ…เจคเฉ‡ เจฎเฉˆเจ•เฉ‹เจธ เจกเจฟเจธเจŸเจฐเฉ€เจฌเจฟเจŠเจธเจผเจจเจพเจ‚ เจฒเจˆเฅค เจเจ‚เจกเจฐเจพเจ‡เจก เจ…เจคเฉ‡ เจ†เจˆเจ“เจเจธ เจเจชเจธ เจเจช เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€เจ†เจ‚ เจฐเจพเจนเฉ€เจ‚ เจกเจฟเจฒเฉ€เจตเจฐ เจ•เฉ€เจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจเฅค

เจฎเฉ‡เจฐเฉ‡ เจ•เฉ‹เจฒ เจจเจตเฉ€เจจเจคเจฎ เจซเฉ‡เจกเฉ‹เจฐเจพ เจฒเฉ€เจจเจ•เจธ 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

เจฎเฉ‡เจฐเฉ‡ เจเจ‚เจกเจฐเฉŒเจ‡เจก เจซเฉ‹เจจ 'เจคเฉ‡ เจฎเฉˆเจ‚ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจธเจฅเจพเจชเจค เจ•เฉ€เจคเฉ€ เจนเฉˆ เจตเจพเจ‡เจฐเจ—เจพเจฐเจก เจตเฉ€เจชเฉ€เจเจจ เจ…เจงเจฟเจ•เจพเจฐเจค 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 เจธเจฐเจตเจฐ (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

เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจฎเฉˆเจ‚ 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]

เจ‡เฉฑเจ• เจเจ‚เจกเจฐเฉŒเจ‡เจก เจซเฉ‹เจจ 'เจคเฉ‡ เจ‡เฉฑเจ• เจ•เจฒเจพเจ‡เฉฐเจŸ เจธเจฅเจพเจชเจค เจ•เจฐเจจเจพ

เจ‡เฉฑเจ• เจเจ‚เจกเจฐเฉŒเจ‡เจก เจซเฉ‹เจจ เจฒเจˆ เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจฌเจนเฉเจค เจนเฉ€ เจธเจฎเจพเจจ เจธเฉฐเจฐเจšเจจเจพ เจซเจพเจˆเจฒ เจฌเจฃเจพเจ‰เจ‚เจฆเฉ‡ เจนเจพเจ‚ (เจ†เจ“ เจ‡เจธเจจเฉ‚เฉฐ เจ•เจพเจฒ เจ•เจฐเฉ€เจ 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 เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจ•เฉฐเจธเฉ‹เจฒ เจตเจฟเฉฑเจš เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจ•เจฐเฉ‡เจ—เจพเฅค เจ‡เจธเจจเฉ‚เฉฐ เจเจ‚เจกเจฐเฉŒเจ‡เจก VPN เจเจช เจคเฉ‹เจ‚ เจธเจ•เฉˆเจจ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ†เจชเจฃเฉ‡ เจ†เจช เจ‡เฉฑเจ• VPN เจธเฉเจฐเฉฐเจ— เจธเฉˆเจŸ เจ…เจช เจ•เจฐเฉ‡เจ—เจพเฅค

เจธเจฟเฉฑเจŸเจพ

เจ“เจชเจจเจตเฉ€เจชเฉ€เจเจจ เจฆเฉ‡ เจฎเฉเจ•เจพเจฌเจฒเฉ‡ เจตเจพเจ‡เจฐเจ—เจพเจฐเจก เจธเฉˆเจŸ เจ…เจช เจ•เจฐเจจเจพ เจธเจฟเจฐเจซเจผ เจœเจพเจฆเฉ‚เจˆ เจนเฉˆเฅค

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹