VPN αž‘αŸ…αž•αŸ’αž‘αŸ‡ LAN

VPN αž‘αŸ…αž•αŸ’αž‘αŸ‡ LAN

TL; αž€αž»αž„αŸ– αžαŸ’αž‰αž»αŸ†αžŠαŸ†αž‘αžΎαž„ Wireguard αž“αŸ…αž›αžΎ VPS αž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ…αžœαžΆαž–αžΈαžšαŸ‰αŸ„αžαž‘αŸαžšαž•αŸ’αž‘αŸ‡αžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ†αž“αŸ…αž›αžΎ OpenWRT αž αžΎαž™αž…αžΌαž›αž”αŸ’αžšαžΎαž”αžŽαŸ’αžαžΆαž‰αžšαž„αž•αŸ’αž‘αŸ‡αžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ†αž–αžΈαž‘αžΌαžšαžŸαŸαž–αŸ’αž‘αžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ†αŸ”

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αžšαž€αŸ’αžŸαžΆαž αŸαžŠαŸ’αž‹αžΆαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž“αŸ…αž•αŸ’αž‘αŸ‡ αž¬αž˜αžΆαž“αž§αž”αž€αžšαžŽαŸαžŠαŸ‚αž›αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αžŠαŸ„αž™ IP αž‡αžΆαž…αŸ’αžšαžΎαž“αž“αŸ…αž•αŸ’αž‘αŸ‡ αž“αŸ„αŸ‡αž’αŸ’αž“αž€αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαž…αž„αŸ‹αž˜αžΆαž“αžŸαž·αž‘αŸ’αž’αž·αž…αžΌαž›αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž–αž½αž€αžœαžΆαž–αžΈαž€αž“αŸ’αž›αŸ‚αž„αž’αŸ’αžœαžΎαž€αžΆαžš αž–αžΈαž‘αžΆαž“αž€αŸ’αžšαž»αž„ αžšαžαž—αŸ’αž›αžΎαž„ αž“αž·αž„αžšαžαž—αŸ’αž›αžΎαž„αž€αŸ’αžšαŸ„αž˜αžŠαžΈαŸ” αž—αžΆαž‚αž…αŸ’αžšαžΎαž“αž‡αžΆαž‰αžΉαž€αž‰αžΆαž”αŸ‹ αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž„αžΆαžšαžŸαŸ’αžšαžŠαŸ€αž„αž‚αŸ’αž“αžΆ IP αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‘αž·αž‰αž–αžΈαž’αŸ’αž“αž€αž•αŸ’αžαž›αŸ‹αžŸαŸαžœαžΆ αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž…αŸ’αžšαž€αž“αŸƒαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž“αžΈαž˜αž½αž™αŸ—αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž‡αžΌαž“αž”αž“αŸ’αžαž‘αŸ…αžαžΆαž„αž€αŸ’αžšαŸ…αŸ”

αž‡αŸ†αž“αž½αžŸαž˜αž€αžœαž·αž‰ αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αžŠαŸ†αž‘αžΎαž„ VPN αžŠαŸ‚αž›αž˜αžΆαž“αžŸαž·αž‘αŸ’αž’αž·αž…αžΌαž›αž”αŸ’αžšαžΎ LAN αž•αŸ’αž‘αŸ‡αžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ†αŸ” αž‚αž»αžŽαžŸαž˜αŸ’αž”αžαŸ’αžαž·αž“αŸƒαžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž“αŸαŸ‡αŸ–

  • αžαž˜αŸ’αž›αžΆαž—αžΆαž–αŸ– αžαŸ’αž‰αž»αŸ†αž˜αžΆαž“αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαžαžΆαž“αŸ…αž•αŸ’αž‘αŸ‡αž€αŸ’αžšαŸ„αž˜αž€αžΆαž›αŸˆαž‘αŸαžŸαŸˆαžŽαžΆαž€αŸαžŠαŸ„αž™αŸ”
  • αž”αž“αŸ’αž’αžΌαžšαž”αž“αŸ’αžαž™αŸ– αž€αŸ†αžŽαžαŸ‹β€‹αžœαžΆβ€‹αž αžΎαž™β€‹αž”αŸ†αž—αŸ’αž›αŸαž…β€‹αžœαžΆ αžŠαŸ„αž™β€‹αž˜αž·αž“β€‹αž…αžΆαŸ†β€‹αž”αžΆαž…αŸ‹β€‹αž‚αž·αžβ€‹αž’αŸ†αž–αžΈβ€‹αž€αžΆαžšβ€‹αž”αž‰αŸ’αž‡αžΌαž“β€‹αž”αž“αŸ’αžβ€‹αž…αŸ’αžšαž€β€‹αž“αžΈαž˜αž½αž™αŸ—αŸ”
  • αžαž˜αŸ’αž›αŸƒαŸ– αžαŸ’αž‰αž»αŸ†αž˜αžΆαž“ VPS αžšαž½αž…αž αžΎαž™ αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αž·αž…αŸ’αž…αž€αžΆαžšαž”αŸ‚αž”αž“αŸαŸ‡ VPN αž‘αŸ†αž“αžΎαž”αžŸαŸ’αž‘αžΎαžšαžαŸ‚αž˜αž·αž“αž‚αž·αžαžαŸ’αž›αŸƒαž‘αžΆαž€αŸ‹αž‘αž„αž“αžΉαž„αž’αž“αž’αžΆαž“αŸ”
  • αžŸαž“αŸ’αžαž·αžŸαž»αžαŸ– αž‚αŸ’αž˜αžΆαž“αž’αŸ’αžœαžΈαž‡αžΆαž”αŸ‹αž‚αžΆαŸ†αž„αž‘αŸ αž’αŸ’αž“αž€αž’αžΆαž…αž…αžΆαž€αž…αŸαž‰αž–αžΈ MongoDB αžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“αž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹ αž αžΎαž™αž‚αŸ’αž˜αžΆαž“αž“αžšαžŽαžΆαž˜αŸ’αž“αžΆαž€αŸ‹αž“αžΉαž„αž›αž½αž…αž‘αž·αž“αŸ’αž“αž“αŸαž™αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž‘αžΎαž™αŸ”

αžŠαžΌαž…αžαŸ‚αž„αžαŸ‚αž˜αžΆαž“αž‚αž»αžŽαžœαž·αž”αžαŸ’αžαž·αŸ” αžŠαŸ†αž”αžΌαž„ αž’αŸ’αž“αž€αž“αžΉαž„αžαŸ’αžšαžΌαžœαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž—αŸ’αž‰αŸ€αžœαž“αžΈαž˜αž½αž™αŸ—αžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€ αžšαž½αž˜αž‘αžΆαŸ†αž„αž“αŸ…αž•αŸ’αž“αŸ‚αž€αžαžΆαž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαŸ” αžœαžΆαž’αžΆαž…αž˜αžΆαž“αž€αžΆαžšαžšαž’αžΆαž€αŸ‹αžšαž’αž½αž›αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž˜αžΆαž“αž§αž”αž€αžšαžŽαŸαž˜αž½αž™αž…αŸ†αž“αž½αž“αž’αŸ†αžŠαŸ‚αž›αž’αŸ’αž“αž€αž…αž„αŸ‹αž…αžΌαž›αž”αŸ’αžšαžΎαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αŸ” αž‘αžΈαž–αžΈαžš αž’αŸ’αž“αž€αž’αžΆαž…αž˜αžΆαž“αž”αžŽαŸ’αžαžΆαž‰αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αžŠαŸ‚αž›αž˜αžΆαž“αž‡αž½αžšαžŠαžΌαž…αž‚αŸ’αž“αžΆαž“αŸ…αž€αž“αŸ’αž›αŸ‚αž„αž’αŸ’αžœαžΎαž€αžΆαžš - αž’αŸ’αž“αž€αž“αžΉαž„αžαŸ’αžšαžΌαžœαžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž”αž‰αŸ’αž αžΆαž“αŸαŸ‡αŸ”

αž™αžΎαž„αžαŸ’αžšαžΌαžœαž€αžΆαžš:

  1. VPS (αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ†αž“αŸ…αž›αžΎ Debian 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` αž αžΎαž™αž”αž“αŸ’αžαŸ‚αž˜ backports αž‡αžΆαž–αžΈαžšαž‡αž½αžšαž“αŸ…αž…αž»αž„αž”αž‰αŸ’αž…αž”αŸ‹αž“αŸƒαž―αž€αžŸαžΆαžšαŸ–

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 αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž“αŸ…αžŸαž›αŸ‹αž‚αžΊαžαŸ’αžšαžΌαžœαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαžŠαŸ‚αž›αž“αžΉαž„αž”αž„αŸ’αž αžΆαž‰αž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹ αž αžΎαž™αž”αž“αŸ’αžαŸ‚αž˜αžœαžΆαž‘αŸ… autorun: systemctl enable --now wg-quick@wg0. αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž–αž·αž“αž·αžαŸ’αž™αžŠαŸ„αž™αž”αŸ’αžšαžΎαž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ wg.

αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ OpenWRT

αž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αžŠαŸ‚αž›αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž€αžΆαžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž›αž“αŸαŸ‡αž‚αžΊαž“αŸ…αž€αŸ’αž“αž»αž„αž˜αŸ‰αžΌαžŒαž»αž› luci (αž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αž‚αŸαž αž‘αŸ†αž–αŸαžš OpenWRT) αŸ” αž…αžΌαž›αž αžΎαž™αž”αžΎαž€αž•αŸ’αž‘αžΆαŸ†αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž“αŸ…αž€αŸ’αž“αž»αž„αž˜αŸ‰αžΊαž“αž»αž™αž”αŸ’αžšαž–αŸαž“αŸ’αž’αŸ” OpenWRT αž˜αž·αž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž‘αŸ αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αž”αž‰αŸ’αž‡αžΈαž€αž‰αŸ’αž…αž”αŸ‹αžŠαŸ‚αž›αž˜αžΆαž“αžŠαŸ„αž™αž…αž»αž…αž›αžΎαž”αŸŠαžΌαžαž»αž„ αž”αž‰αŸ’αž‡αžΈαž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αž–αžŽαŸŒαž”αŸƒαžαž„αŸ” αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž”αž‰αŸ’αž…αž”αŸ‹αžŸαžΌαž˜αž”αžΎαž€αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αžαž˜αŸ’αžšαž„ luci-app-wireguard αž αžΎαž™αžŠαŸ„αž™αž€αŸ’αžšαž‘αŸαž€αž˜αžΎαž›αž”αž„αŸ’αž’αž½αž…αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž˜αŸ‚αž€αž’αžΆαž„αž’αžΆαžŸαŸ’αžšαŸαž™αžŠαŸαžŸαŸ’αžšαžŸαŸ‹αžŸαŸ’αž’αžΆαž αžŸαžΌαž˜αžŠαŸ†αž‘αžΎαž„αž€αž‰αŸ’αž…αž”αŸ‹αž“αŸαŸ‡αŸ”

αž“αŸ…αž€αŸ’αž“αž»αž„αž˜αŸ‰αžΊαž“αž»αž™αž”αžŽαŸ’αžαžΆαž‰ αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹ αž αžΎαž™αž…αž»αž…αž”αŸŠαžΌαžαž»αž„αž–αžŽαŸŒαž”αŸƒαžαž„ αž”αž“αŸ’αžαŸ‚αž˜αž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αžαŸ’αž˜αžΈ αž“αŸ…αž€αŸ’αžšαŸ„αž˜αž”αž‰αŸ’αž‡αžΈαžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αžšαžΆαž”αŸ‹αŸ” αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž”αž‰αŸ’αž…αžΌαž›αžˆαŸ’αž˜αŸ„αŸ‡ (αž•αž„αžŠαŸ‚αžšαŸ” wg0 αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ†) αž αžΎαž™αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž–αž·αž’αžΈαž€αžΆαžš WireGuard VPN αž‘αž˜αŸ’αžšαž„αŸ‹αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžŠαŸ‚αž›αž˜αžΆαž“αž•αŸ’αž‘αžΆαŸ†αž„αž”αž½αž“αž”αžΎαž€αŸ”

VPN αž‘αŸ…αž•αŸ’αž‘αŸ‡ LAN

αž“αŸ…αž›αžΎαž•αŸ’αž‘αžΆαŸ†αž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž‘αžΌαž‘αŸ… αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž”αž‰αŸ’αž…αžΌαž›αžŸαŸ„αž―αž€αž‡αž“ αž“αž·αž„αž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“ IP αžŠαŸ‚αž›αžšαŸ€αž”αž…αŸ†αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ OpenWRT αžšαž½αž˜αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž”αžŽαŸ’αžαžΆαž‰αžšαž„αŸ”

VPN αž‘αŸ…αž•αŸ’αž‘αŸ‡ LAN

αž“αŸ…αž›αžΎαž•αŸ’αž‘αžΆαŸ†αž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž‡αž‰αŸ’αž‡αžΆαŸ†αž„αž—αŸ’αž›αžΎαž„ αž—αŸ’αž‡αžΆαž”αŸ‹αž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αž‘αŸ…αž”αžŽαŸ’αžαžΆαž‰αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αŸ” αžœαž·αž’αžΈαž“αŸαŸ‡ αž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αž–αžΈ VPN αž“αžΉαž„αž…αžΌαž›αž€αŸ’αž“αž»αž„αžαŸ†αž”αž“αŸ‹αžŠαŸ„αž™αžŸαŸαžšαžΈαŸ”

VPN αž‘αŸ…αž•αŸ’αž‘αŸ‡ LAN

αž“αŸ…αž›αžΎαž•αŸ’αž‘αžΆαŸ†αž„ Peers αž…αž»αž…αž”αŸŠαžΌαžαž»αž„αžαŸ‚αž˜αž½αž™αž‚αžαŸ‹ αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž“αŸ„αŸ‡αž’αŸ’αž“αž€αž”αŸ†αž–αŸαž‰αž‘αž·αž“αŸ’αž“αž“αŸαž™αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ VPS αž“αŸ…αž€αŸ’αž“αž»αž„αž‘αž˜αŸ’αžšαž„αŸ‹αžŠαŸ‚αž›αž”αžΆαž“αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αŸ– αžŸαŸ„αžŸαžΆαž’αžΆαžšαžŽαŸˆ IPs αžŠαŸ‚αž›αž”αžΆαž“αž’αž“αž»αž‰αŸ’αž‰αžΆαž (αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž”αž‰αŸ’αž‡αžΌαž“αž”αžŽαŸ’αžαžΆαž‰αžšαž„ VPN αž‘αžΆαŸ†αž„αž˜αžΌαž›αž‘αŸ…αž€αžΆαž“αŸ‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ)αŸ” αž“αŸ…αž€αŸ’αž“αž»αž„ Endpoint Host αž“αž·αž„ Endpoint Port αžŸαžΌαž˜αž”αž‰αŸ’αž…αžΌαž›αž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“ IP αžšαž”αžŸαŸ‹ VPS αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž…αŸ’αžšαž€αžŠαŸ‚αž›αž”αžΆαž“αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž–αžΈαž˜αž»αž“αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ† ListenPort αžšαŸ€αž„αŸ—αžαŸ’αž›αž½αž“αŸ” αž–αž·αž“αž·αžαŸ’αž™αž•αŸ’αž›αžΌαžœαžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαž IPs αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž•αŸ’αž›αžΌαžœαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αž„αŸ’αž€αžΎαžαŸ” αž αžΎαž™αžαŸ’αžšαžΌαžœαž”αŸ’αžšαžΆαž€αžŠαžαžΆαž”αŸ†αž–αŸαž‰αž€αŸ’αž“αž»αž„ Persistent Keep Alive αž”αžΎαž˜αž·αž“αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž‘αŸ αž•αŸ’αž›αžΌαžœαžšαžΌαž„αž€αŸ’αžšαŸ„αž˜αžŠαžΈαž–αžΈ VPS αž‘αŸ…αžšαŸ‰αŸ„αžαž‘αŸαžšαž“αžΉαž„αžαŸ’αžšαžΌαžœαžαžΌαž… αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž€αŸ’αžšαŸ„αž™αž“αŸ„αŸ‡αž“αŸ…αž–αžΈαž€αŸ’αžšαŸ„αž™ NATαŸ”

VPN αž‘αŸ…αž•αŸ’αž‘αŸ‡ LAN

VPN αž‘αŸ…αž•αŸ’αž‘αŸ‡ LAN

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž“αŸαŸ‡ αž’αŸ’αž“αž€αž’αžΆαž…αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹ αž αžΎαž™αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž“αŸ…αž›αžΎαž‘αŸ†αž–αŸαžšαžŠαŸ‚αž›αž˜αžΆαž“αž”αž‰αŸ’αž‡αžΈαž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹ αž…αž»αž…αžšαž€αŸ’αžŸαžΆαž‘αž»αž€ αž“αž·αž„αž’αž“αž»αžœαžαŸ’αžαŸ” αž”αžΎαž…αžΆαŸ†αž”αžΆαž…αŸ‹ αž”αžΎαž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αž™αŸ‰αžΆαž„αž…αŸ’αž”αžΆαžŸαŸ‹αžŠαŸ„αž™αž”αŸ’αžšαžΎαž”αŸŠαžΌαžαž»αž„αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‘αžΎαž„αžœαž·αž‰αŸ”

αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„αžŸαŸ’αž˜αžΆαžαž αŸ’αžœαžΌαž“

αž’αŸ’αž“αž€αž“αžΉαž„αžαŸ’αžšαžΌαžœαž€αžΆαžšαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž—αŸ’αž‰αŸ€αžœ Wireguard αžœαžΆαž˜αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„ F-Droid, αž€αŸ’αžšαž»αž˜αž αŸŠαž»αž“ google αž›αŸαž„ αž“αž·αž„ App Store αŸ” αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž”αžΎαž€αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ αž…αž»αž…αžŸαž‰αŸ’αž‰αžΆαž”αžΌαž€ αž αžΎαž™αž€αŸ’αž“αž»αž„αž•αŸ’αž“αŸ‚αž€ αž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹ αž”αž‰αŸ’αž…αžΌαž›αžˆαŸ’αž˜αŸ„αŸ‡αž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹ αžŸαŸ„αž―αž€αž‡αž“ (αžŸαŸ„αžŸαžΆαž’αžΆαžšαžŽαŸˆαž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·) αž“αž·αž„αž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“αž‘αžΌαžšαžŸαŸαž–αŸ’αž‘αžŠαŸ‚αž›αž˜αžΆαž“αžšαž”αžΆαŸ†αž„ /32 αŸ” αž“αŸ…αž€αŸ’αž“αž»αž„αž•αŸ’αž“αŸ‚αž€ Peer αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž€αžΌαž“αžŸαŸ„αžŸαžΆαž’αžΆαžšαžŽαŸˆ VPS αžŠαŸ‚αž›αž‡αžΆαž‚αžΌαž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“αŸ– αž…αŸ’αžšαž€αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ VPN αž‡αžΆ Endpoint αž“αž·αž„αž•αŸ’αž›αžΌαžœαž‘αŸ…αž€αžΆαž“αŸ‹ VPN αž“αž·αž„αž”αžŽαŸ’αžαžΆαž‰αžšαž„αž•αŸ’αž‘αŸ‡αŸ”

αžšαžΌαž”αžαžαž’αŸαž€αŸ’αžšαž„αŸ‹αžŠαž·αžαž–αžΈαž‘αžΌαžšαžŸαŸαž–αŸ’αž‘
VPN αž‘αŸ…αž•αŸ’αž‘αŸ‡ LAN

αž…αž»αž…αž›αžΎ Floppy Disk αž“αŸ…αž‡αŸ’αžšαž»αž„ αž”αžΎαž€αžœαžΆ αž αžΎαž™...

αž’αŸ’αžœαžΎαžšαž½αž…

αž₯αž‘αžΌαžœαž“αŸαŸ‡ αž’αŸ’αž“αž€αž’αžΆαž…αž…αžΌαž›αž”αŸ’αžšαžΎαž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αžαžΆαž˜αž•αŸ’αž‘αŸ‡ αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαŸ‰αŸ„αžαž‘αŸαžš αž¬αž’αŸ’αžœαžΎαž’αŸ’αžœαžΈαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸ…αž€αž˜αŸ’αžšαž·αž IP αŸ”

αžšαžΌαž”αžαžαž’αŸαž€αŸ’αžšαž„αŸ‹αž–αžΈαžαŸ†αž”αž“αŸ‹
VPN αž‘αŸ…αž•αŸ’αž‘αŸ‡ LAN

VPN αž‘αŸ…αž•αŸ’αž‘αŸ‡ LAN

VPN αž‘αŸ…αž•αŸ’αž‘αŸ‡ LAN

αž”αŸ’αžšαž—αž–: www.habr.com

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹