VPN ืœ-LAN ื‘ื™ืชื™

VPN ืœ-LAN ื‘ื™ืชื™

TL; DR: ืื ื™ ืžืชืงื™ืŸ Wireguard ื‘-VPS, ืžืชื—ื‘ืจ ืืœื™ื• ืžื”ื ืชื‘ ื”ื‘ื™ืชื™ ืฉืœื™ ื‘-OpenWRT ื•ื ื™ื’ืฉ ืœืจืฉืช ื”ืžืฉื ื” ื”ื‘ื™ืชื™ืช ืฉืœื™ ืžื”ื˜ืœืคื•ืŸ ืฉืœื™.

ืื ืืชื ืฉื•ืžืจื™ื ืืช ื”ืชืฉืชื™ืช ื”ืื™ืฉื™ืช ืฉืœื›ื ื‘ืฉืจืช ื‘ื™ืชื™ ืื• ืฉื™ืฉ ืœื›ื ื”ืจื‘ื” ืžื›ืฉื™ืจื™ื ื‘ืฉืœื™ื˜ืช IP ื‘ื‘ื™ืช, ืื– ื›ื ืจืื” ืฉืชืจืฆื• ืœืงื‘ืœ ื’ื™ืฉื” ืืœื™ื”ื ืžื”ืขื‘ื•ื“ื”, ืžื”ืื•ื˜ื•ื‘ื•ืก, ืจื›ื‘ืช ื•ืžื˜ืจื•. ืœืจื•ื‘, ืขื‘ื•ืจ ืžืฉื™ืžื•ืช ื“ื•ืžื•ืช, ื ืจื›ืฉ IP ืžื”ืกืคืง, ื•ืœืื—ืจ ืžื›ืŸ ื”ื™ืฆื™ืื•ืช ืฉืœ ื›ืœ ืฉื™ืจื•ืช ืžื•ืขื‘ืจื•ืช ื”ื—ื•ืฆื”.

ื‘ืžืงื•ื ื–ืืช, ื”ื’ื“ืจืชื™ VPN ืขื ื’ื™ืฉื” ืœ-LAN ื”ื‘ื™ืชื™ ืฉืœื™. ื”ื™ืชืจื•ื ื•ืช ืฉืœ ืคืชืจื•ืŸ ื–ื”:

  • ืฉืงื™ืคื•ืช: ืื ื™ ืžืจื’ื™ืฉ ื‘ื‘ื™ืช ื‘ื›ืœ ืžืฆื‘.
  • ืคืฉื˜ื•ืช: ื”ื’ื“ืจ ืื•ืชื• ื•ืชืฉื›ื— ืžื–ื”, ืื™ืŸ ืฆื•ืจืš ืœื—ืฉื•ื‘ ืขืœ ื”ืขื‘ืจื” ืฉืœ ื›ืœ ื™ืฆื™ืื”.
  • ืžื—ื™ืจ: ื›ื‘ืจ ื™ืฉ ืœื™ VPS; ืœืžืฉื™ืžื•ืช ื›ืืœื”, VPN ืžื•ื“ืจื ื™ ื›ืžืขื˜ ื‘ื—ื™ื ื ืžื‘ื—ื™ื ืช ืžืฉืื‘ื™ื.
  • ืื‘ื˜ื—ื”: ืฉื•ื ื“ื‘ืจ ืœื ื‘ื•ืœื˜, ืืชื” ื™ื›ื•ืœ ืœื”ืฉืื™ืจ ืืช MongoDB ืœืœื ืกื™ืกืžื” ื•ืืฃ ืื—ื“ ืœื ื™ื’ื ื•ื‘ ืœืš ืืช ื”ื ืชื•ื ื™ื.

ื›ืžื• ืชืžื™ื“, ื™ืฉ ื—ืกืจื•ื ื•ืช. ืจืืฉื™ืช, ืชืฆื˜ืจืš ืœื”ื’ื“ื™ืจ ื›ืœ ืœืงื•ื— ื‘ื ืคืจื“, ื›ื•ืœืœ ื‘ืฆื“ ื”ืฉืจืช. ื–ื” ื™ื›ื•ืœ ืœื”ื™ื•ืช ืœื ื ื•ื— ืื ื™ืฉ ืœืš ืžืกืคืจ ืจื‘ ืฉืœ ืžื›ืฉื™ืจื™ื ืฉืžื”ื ืืชื” ืจื•ืฆื” ืœื’ืฉืช ืœืฉื™ืจื•ืชื™ื. ืฉื ื™ืช, ื™ื™ืชื›ืŸ ืฉื™ืฉ ืœืš LAN ืขื ืื•ืชื• ื˜ื•ื•ื— ื‘ืขื‘ื•ื“ื” - ืชืฆื˜ืจืš ืœืคืชื•ืจ ืืช ื”ื‘ืขื™ื” ื”ื–ื•.

ืื ื—ื ื• ืฆืจื™ื›ื™ื:

  1. VPS (ื‘ืžืงืจื” ืฉืœื™ ื‘ื“ื‘ื™ืืŸ 10).
  2. ื ืชื‘ OpenWRT.
  3. ื˜ึตืœึตืคื•ึนืŸ.
  4. ืฉืจืช ื‘ื™ืชื™ ืขื ืฉื™ืจื•ืช ืื™ื ื˜ืจื ื˜ ื›ืœืฉื”ื• ืœื‘ื“ื™ืงื”.
  5. ื–ืจื•ืขื•ืช ื™ืฉืจื•ืช.

ื˜ื›ื ื•ืœื•ื’ื™ื™ืช ื”-VPN ืฉื‘ื” ืืฉืชืžืฉ ื”ื™ื Wireguard. ืœืคืชืจื•ืŸ ื”ื–ื” ื™ืฉ ื’ื ื—ื•ื–ืงื•ืช ื•ื—ื•ืœืฉื•ืช, ืœื ืืชืืจ ืื•ืชืŸ. ืขื‘ื•ืจ VPN ืื ื™ ืžืฉืชืžืฉ ื‘ืจืฉืช ืžืฉื ื” 192.168.99.0/24, ื•ื‘ื‘ื™ืช ืฉืœื™ 192.168.0.0/24.

ืชืฆื•ืจืช VPS

ืืคื™ืœื• ื”-VPS ื”ืื•ืžืœืœ ื‘ื™ื•ืชืจ ืขื‘ื•ืจ 30 ืจื•ื‘ืœ ืœื—ื•ื“ืฉ ืžืกืคื™ืง ืœืขืกืงื™ื, ืื ื™ืฉ ืœืš ืžื–ืœ ืžืกืคื™ืง ื›ื“ื™ ืฉื™ื”ื™ื” ืœืš ืื—ื“ ืœึทื—ื˜ื•ึนืฃ.

ืื ื™ ืžื‘ืฆืข ืืช ื›ืœ ื”ืคืขื•ืœื•ืช ื‘ืฉืจืช ื›-root ื‘ืžื—ืฉื‘ ื ืงื™; ื‘ืžื™ื“ืช ื”ืฆื•ืจืš, ื”ื•ืกืฃ 'sudo' ื•ื”ืชืื ืืช ื”ื”ื•ืจืื•ืช.

ืœ-Wireguard ืœื ื”ื™ื” ื–ืžืŸ ืœื”ื›ื ื™ืก ืื•ืชื• ืœืื•ืจื•ื•ื”, ืื– ืื ื™ ืžืจื™ืฅ 'apt edit-sources' ื•ืžื•ืกื™ืฃ ื™ืฆื™ืื•ืช ืื—ื•ืจื™ื•ืช ื‘ืฉืชื™ ืฉื•ืจื•ืช ื‘ืกื•ืฃ ื”ืงื•ื‘ืฅ:

deb http://deb.debian.org/debian/ buster-backports main
# deb-src http://deb.debian.org/debian/ buster-backports main

ื”ื—ื‘ื™ืœื” ืžื•ืชืงื ืช ื‘ื“ืจืš ื”ืจื’ื™ืœื”: apt update && apt install wireguard.

ืœืื—ืจ ืžื›ืŸ, ืื ื• ื™ื•ืฆืจื™ื ื–ื•ื’ ืžืคืชื—ื•ืช: wg genkey | tee /etc/wireguard/vps.private | wg pubkey | tee /etc/wireguard/vps.public. ื—ื–ื•ืจ ืขืœ ืคืขื•ืœื” ื–ื• ืคืขืžื™ื™ื ื ื•ืกืคื•ืช ืขื‘ื•ืจ ื›ืœ ืžื›ืฉื™ืจ ื”ืžืฉืชืชืฃ ื‘ืžืขื’ืœ. ืฉื ื” ืืช ื”ื ืชื™ื‘ ืœืงื‘ืฆื™ ื”ืžืคืชื— ืขื‘ื•ืจ ืžื›ืฉื™ืจ ืื—ืจ ื•ืืœ ืชืฉื›ื— ืืช ื”ืื‘ื˜ื—ื” ืฉืœ ืžืคืชื—ื•ืช ืคืจื˜ื™ื™ื.

ืขื›ืฉื™ื• ืื ื—ื ื• ืžื›ื™ื ื™ื ืืช ื”ืชืฆื•ืจื”. ืœืชื™ื™ืง /etc/wireguard/wg0.conf ื”ืชืฆื•ืจื” ืžื•ืฆื‘ืช:

[Interface] Address = 192.168.99.1/24
ListenPort = 57953
PrivateKey = 0JxJPUHz879NenyujROVK0YTzfpmzNtbXmFwItRKdHs=

[Peer] # OpenWRT
PublicKey = 36MMksSoKVsPYv9eyWUKPGMkEs3HS+8yIUqMV8F+JGw=
AllowedIPs = 192.168.99.2/32,192.168.0.0/24

[Peer] # Smartphone
PublicKey = /vMiDxeUHqs40BbMfusB6fZhd+i5CIPHnfirr5m3TTI=
AllowedIPs = 192.168.99.3/32

ื‘ืงื˜ืข [Interface] ื”ื”ื’ื“ืจื•ืช ืฉืœ ื”ืžื›ื•ื ื” ืขืฆืžื” ืžืกื•ืžื ื•ืช, ื•ื›ืŸ ื‘ [Peer] โ€” ื”ื’ื“ืจื•ืช ืœืžื™ ืฉื™ืชื—ื‘ืจ ืืœื™ื•. IN AllowedIPs ืžื•ืคืจื“ื™ื ื‘ืคืกื™ืงื™ื, ืฆื•ื™ื ื• ืจืฉืชื•ืช ื”ืžืฉื ื” ืฉื™ื ื•ืชื‘ื• ืœืขืžื™ืช ื”ืžืงื‘ื™ืœื”. ื‘ื’ืœืœ ื–ื”, ืขืžื™ืชื™ื ืฉืœ ื”ืชืงื ื™ "ืœืงื•ื—" ื‘ืจืฉืช ื”ืžืฉื ื” ืฉืœ VPN ื—ื™ื™ื‘ื™ื ืœื”ื™ื•ืช ื‘ืขืœื™ ืžืกื™ื›ื” /32, ื›ืœ ื”ืฉืืจ ื™ื ื•ืชื‘ ืขืœ ื™ื“ื™ ื”ืฉืจืช. ืžื›ื™ื•ื•ืŸ ืฉื”ืจืฉืช ื”ื‘ื™ืชื™ืช ืชื ื•ืชื‘ ื“ืจืš OpenWRT, ื‘ AllowedIPs ืื ื• ืžื•ืกื™ืคื™ื ืืช ืจืฉืช ื”ืžืฉื ื” ื”ื‘ื™ืชื™ืช ืฉืœ ื”ืขืžื™ืช ื”ืžืงื‘ื™ืœื”. IN PrivateKey ะธ PublicKey ืœืคืจืง ืืช ื”ืžืคืชื— ื”ืคืจื˜ื™ ืฉื ื•ืฆืจ ืขื‘ื•ืจ ื”-VPS ื•ืืช ื”ืžืคืชื—ื•ืช ื”ืฆื™ื‘ื•ืจื™ื™ื ืฉืœ ื”ืขืžื™ืชื™ื ื‘ื”ืชืื.

ื‘-VPS, ื›ืœ ืžื” ืฉื ื•ืชืจ ื”ื•ื ืœื”ืคืขื™ืœ ืืช ื”ืคืงื•ื“ื” ืฉืชืขืœื” ืืช ื”ืžืžืฉืง ื•ืœื”ื•ืกื™ืฃ ืื•ืชื• ืœื”ืคืขืœื” ืื•ื˜ื•ืžื˜ื™ืช: systemctl enable --now wg-quick@wg0. ื ื™ืชืŸ ืœื‘ื“ื•ืง ืืช ืžืฆื‘ ื”ื—ื™ื‘ื•ืจ ื”ื ื•ื›ื—ื™ ื‘ืืžืฆืขื•ืช ื”ืคืงื•ื“ื” wg.

ืชืฆื•ืจืช OpenWRT

ื›ืœ ืžื” ืฉืืชื” ืฆืจื™ืš ืœืฉืœื‘ ื–ื” ื ืžืฆื ื‘ืžื•ื“ื•ืœ ื”-luci (ืžืžืฉืง ื”ืื™ื ื˜ืจื ื˜ OpenWRT). ื”ื™ื›ื ืก ื•ืคืชื— ืืช ื”ื›ืจื˜ื™ืกื™ื™ื” ืชื•ื›ื ื” ื‘ืชืคืจื™ื˜ ืžืขืจื›ืช. OpenWRT ืื™ื ื• ืžืื—ืกืŸ ืžื˜ืžื•ืŸ ื‘ืžื—ืฉื‘, ืœื›ืŸ ืขืœื™ืš ืœืขื“ื›ืŸ ืืช ืจืฉื™ืžืช ื”ื—ื‘ื™ืœื•ืช ื”ื–ืžื™ื ื•ืช ืขืœ ื™ื“ื™ ืœื—ื™ืฆื” ืขืœ ื”ืœื—ืฆืŸ ื”ื™ืจื•ืง ืขื“ื›ืŸ ืจืฉื™ืžื•ืช. ืœืื—ืจ ื”ืฉืœืžืชื•, ืกืข ืœืชื•ืš ื”ืžืกื ืŸ luci-app-wireguard ื•ืœื”ืกืชื›ืœ ืขืœ ื”ื—ืœื•ืŸ ืขื ืขืฅ ืชืœื•ืช ื™ืคื”ืคื”, ื”ืชืงืŸ ืืช ื”ื—ื‘ื™ืœื” ื”ื–ื•.

ื‘ืชืคืจื™ื˜ ืจืฉืชื•ืช, ื‘ื—ืจ ืžืžืฉืงื™ื ื•ืœื—ืฅ ืขืœ ื”ื›ืคืชื•ืจ ื”ื™ืจื•ืง ื”ื•ืกืฃ ืžืžืฉืง ื—ื“ืฉ ืžืชื—ืช ืœืจืฉื™ืžืช ื”ืงื™ื™ืžื™ื. ืœืื—ืจ ื”ื–ื ืช ื”ืฉื (ื’ื wg0 ื‘ืžืงืจื” ืฉืœื™) ื•ื‘ื—ื™ืจืช ืคืจื•ื˜ื•ืงื•ืœ ื”-VPN ืฉืœ WireGuard, ื ืคืชื— ื˜ื•ืคืก ื”ื’ื“ืจื•ืช ืขื ืืจื‘ืข ืœืฉื•ื ื™ื•ืช.

VPN ืœ-LAN ื‘ื™ืชื™

ื‘ื›ืจื˜ื™ืกื™ื™ื” ื”ื’ื“ืจื•ืช ื›ืœืœื™ื•ืช, ืขืœื™ืš ืœื”ื–ื™ืŸ ืืช ื”ืžืคืชื— ื”ืคืจื˜ื™ ื•ืืช ื›ืชื•ื‘ืช ื”-IP ืฉื”ื•ื›ื ื” ืขื‘ื•ืจ OpenWRT ื™ื—ื“ ืขื ืจืฉืช ื”ืžืฉื ื”.

VPN ืœ-LAN ื‘ื™ืชื™

ื‘ื›ืจื˜ื™ืกื™ื™ื” ื”ื’ื“ืจื•ืช ื—ื•ืžืช ืืฉ, ื—ื‘ืจ ืืช ื”ืžืžืฉืง ืœืจืฉืช ื”ืžืงื•ืžื™ืช. ื‘ื“ืจืš ื–ื•, ื—ื™ื‘ื•ืจื™ื ืžื”-VPN ื™ื™ื›ื ืกื• ื‘ืื•ืคืŸ ื—ื•ืคืฉื™ ืœืื–ื•ืจ ื”ืžืงื•ืžื™.

VPN ืœ-LAN ื‘ื™ืชื™

ื‘ืœืฉื•ื ื™ืช ืขืžื™ืชื™ื, ืœื—ืฅ ืขืœ ื”ื›ืคืชื•ืจ ื”ื™ื—ื™ื“, ื•ืœืื—ืจ ืžื›ืŸ ืชืžืœื ืืช ื ืชื•ื ื™ ืฉืจืช ื”-VPS ื‘ื˜ื•ืคืก ื”ืžืขื•ื“ื›ืŸ: ืžืคืชื— ืฆื™ื‘ื•ืจื™, ื›ืชื•ื‘ื•ืช IP ืžื•ืชืจื•ืช (ืขืœื™ืš ืœื ืชื‘ ืืช ื›ืœ ื”ืžืฉื ื” ืฉืœ ื”-VPN ืœืฉืจืช). ื‘-Endpoint Host ื•-Endpoint Port, ื”ื–ืŸ ืืช ื›ืชื•ื‘ืช ื”-IP ืฉืœ ื”-VPS ืขื ื”ื™ืฆื™ืื” ืฉืฆื•ื™ื ื” ืงื•ื“ื ืœื›ืŸ ื‘ื”ื ื—ื™ื™ืช ListenPort, ื‘ื”ืชืืžื”. ื‘ื“ื•ืง ื›ืชื•ื‘ื•ืช IP ืžื•ืชืจื•ืช ืขื‘ื•ืจ ืžืกืœื•ืœื™ื ืฉื™ื™ื•ื•ืฆืจื•. ื•ื”ืงืคื™ื“ื• ืœืžืœื ืืช Persistent Keep Alive, ืื—ืจืช ื”ืžื ื”ืจื” ืžื”-VPS ืœื ืชื‘ ืชื™ืฉื‘ืจ ืื ื”ืื—ืจื•ืŸ ื™ื”ื™ื” ืžืื—ื•ืจื™ NAT.

VPN ืœ-LAN ื‘ื™ืชื™

VPN ืœ-LAN ื‘ื™ืชื™

ืœืื—ืจ ืžื›ืŸ, ืชื•ื›ืœื• ืœืฉืžื•ืจ ืืช ื”ื”ื’ื“ืจื•ืช, ื•ืœืื—ืจ ืžื›ืŸ ื‘ืขืžื•ื“ ืขื ืจืฉื™ืžืช ื”ืžืžืฉืงื™ื, ืœืœื—ื•ืฅ ืขืœ ืฉืžื•ืจ ื•ื”ื—ืœ. ื‘ืžื™ื“ืช ื”ืฆื•ืจืš, ื”ืคืขืœ ื‘ืžืคื•ืจืฉ ืืช ื”ืžืžืฉืง ื‘ืืžืฆืขื•ืช ืœื—ืฆืŸ ื”ืคืขืœ ืžื—ื“ืฉ.

ื”ื’ื“ืจืช ืกืžืืจื˜ืคื•ืŸ

ืชื–ื“ืงืง ืœืœืงื•ื— Wireguard, ื”ื•ื ื–ืžื™ืŸ ื‘ F-ื“ืจื•ืื™ื“, Play Google ื•-App Store. ืœืื—ืจ ืคืชื™ื—ืช ื”ืืคืœื™ืงืฆื™ื”, ื”ืงืฉ ืขืœ ืกื™ืžืŸ ื”ืคืœื•ืก ื•ื‘ืงื˜ืข ืžืžืฉืง ื”ื–ืŸ ืืช ืฉื ื”ื—ื™ื‘ื•ืจ, ื”ืžืคืชื— ื”ืคืจื˜ื™ (ื”ืžืคืชื— ื”ืฆื™ื‘ื•ืจื™ ื™ื™ื•ื•ืฆืจ ืื•ื˜ื•ืžื˜ื™ืช) ื•ื›ืชื•ื‘ืช ื”ื˜ืœืคื•ืŸ ืขื ืžืกื™ื›ืช /32. ื‘ืงื˜ืข Peer, ืฆื™ื™ืŸ ืืช ื”ืžืคืชื— ื”ืฆื™ื‘ื•ืจื™ ืฉืœ VPS, ืฆืžื“ ื›ืชื•ื‘ื•ืช: ื™ืฆื™ืืช ืฉืจืช ื”-VPN ื›ื ืงื•ื“ืช ื”ืงืฆื”, ื•ืžืกืœื•ืœื™ื ืœ-VPN ื•ืœืจืฉืช ื”ืžืฉื ื” ื”ื‘ื™ืชื™ืช.

ืฆื™ืœื•ื ืžืกืš ืžื•ื“ื’ืฉ ืžื”ื˜ืœืคื•ืŸ
VPN ืœ-LAN ื‘ื™ืชื™

ืœื—ืฅ ืขืœ ื”ืชืงืœื™ื˜ื•ืŸ ื‘ืคื™ื ื”, ื”ืคืขืœ ืื•ืชื• ื•...

ืกื™ื•ื

ืขื›ืฉื™ื• ืืชื” ื™ื›ื•ืœ ืœื’ืฉืช ืœื ื™ื˜ื•ืจ ื‘ื™ืชื™, ืœืฉื ื•ืช ืืช ื”ื’ื“ืจื•ืช ื”ื ืชื‘ ืื• ืœืขืฉื•ืช ื›ืœ ื“ื‘ืจ ื‘ืจืžืช ื”-IP.

ืฆื™ืœื•ืžื™ ืžืกืš ืžื”ืื–ื•ืจ ื”ืžืงื•ืžื™
VPN ืœ-LAN ื‘ื™ืชื™

VPN ืœ-LAN ื‘ื™ืชื™

VPN ืœ-LAN ื‘ื™ืชื™

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”