TL; DR: แแ แแแงแแแแ Wireguard-แก VPS-แแ, แแฃแแแแจแแ แแแแ แแแก แฉแแแ แกแแฎแแแก แ แแฃแขแแ แแแแ OpenWRT-แแ แแ แแฃแจแแแ แฉแแแก แกแแฎแแแก แฅแแแฅแกแแแก แฉแแแ แขแแแแคแแแแแแ.
แแฃ แแฅแแแ แแแแฎแแแ แแฅแแแแก แแแ แกแแแแแฃแ แแแคแ แแกแขแ แฃแฅแขแฃแ แแก แกแแฎแแแก แกแแ แแแ แแ แแ แแแฅแแ แแแแ แ IP-แแแ แแฃแแ แแแฌแงแแแแแแแ แกแแฎแแจแ, แแแจแแ แแแแแ แแกแฃแ แ แแฅแแแแแ แฌแแแแแ แแแแแ แกแแแกแแฎแฃแ แแแแ, แแแขแแแฃแกแแแแ, แแแขแแ แแแแแ แแ แแแขแ แแแแ. แงแแแแแแ แฎแจแแ แแ, แแกแแแแกแ แแแแชแแแแแแกแแแแก, IP แจแแซแแแแแแ แแ แแแแแแแ แแกแแแ, แ แแก แจแแแแแแแช แแแแแแฃแแ แกแแ แแแกแแก แแแ แขแแแ แแแแแแแแแแแแแ แแแ แแแแ.
แแแแก แแแชแแแแ, แแ แแแแแงแแแ VPN แฉแแแ แกแแฎแแแก LAN-แแ แฌแแแแแแ. แแ แแแแแฌแงแแแขแแก แฃแแแ แแขแแกแแแแแ:
- แแแแญแแแ แแแแแแ: แแแแแกแแแแ แจแแแแฎแแแแแจแ แแแแก แแกแ แแแ แซแแแ, แ แแแแ แช แกแแฎแแจแ.
- แแแแแฃแฎแขแแแก: แแแแงแแแแ แแ แแแแแแฌแงแแ, แแ แแ แแก แกแแญแแ แ แแแแแแฃแแ แแแ แขแแก แแแแแแแแแแแแ แคแแฅแ แ.
- แคแแกแ: แแ แฃแแแ แแแฅแแก VPS; แแกแแแ แแแแชแแแแแแกแแแแก แแแแแแแแ แแแ VPN แ แแกแฃแ แกแแแแก แแแแแกแแแ แแกแแ แแแแฅแแแก แฃแคแแกแแ.
- แฃแกแแคแ แแฎแแแแแก: แแ แแคแแ แ แแแแแกแแแก, แจแแแแซแแแแ แแแขแแแแ MongoDB แแแ แแแแก แแแ แแจแ แแ แแ แแแแ แแแแแแ แแแก แแฅแแแแก แแแแแชแแแแแก.
แ แแแแ แช แงแแแแแแแแก, แแ แแก แฃแแ แงแแคแแแ แแฎแแ แแแแ. แแแ แแแ แ แแแจแ, แแฅแแแ แแแแแฌแแแ แแแแแแฃแแ แแแแแแขแแก แชแแแแ แแแแคแแแฃแ แแชแแ, แแแ แจแแ แแก แกแแ แแแ แแก แแฎแแ แแก. แแก แจแแแซแแแแ แแงแแก แแแฃแฎแแ แฎแแแแแ, แแฃ แแฅแแแ แแแฅแแ แแแแ แ แแแแแแแแแ แแแฌแงแแแแแแแแแ, แกแแแแแแแช แแกแฃแ แ แกแแ แแแกแแแแ แฌแแแแแ. แแแแ แแช, แแฅแแแ แจแแแซแแแแ แแฅแแแแแ แกแแแฃแจแแ LAN แแแแแ แแแแแแแแแแ - แแฅแแแ แแแแแฌแแแ แแ แแ แแแแแแแก แแแแแแ แแแ.
แฉแแแ แแแญแแ แแแแ:
- VPS (แฉแแแก แจแแแแฎแแแแแจแ Debian 10-แแ).
- OpenWRT แ แแฃแขแแ แ.
- แขแแแแคแแแแก แแแแแ แ.
- แกแแฎแแแก แกแแ แแแ แ แ แแแแแแแแ แแแ แกแแ แแแกแแ แขแแกแขแแ แแแแกแแแแก.
- แกแฌแแ แ แฎแแแแแ.
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-แแก แแแจแแแแแแ, in AllowedIPs
แฉแแแ แแแแแขแแแ แจแแกแแแแแแกแ แแแแแขแแแแก แแแแแแ แฅแแแฅแกแแแก. IN PrivateKey
ะธ PublicKey
แแแจแแแแ VPS-แกแแแแก แแแแแ แแ แแแฃแแ แแแ แแแ แแแกแแฆแแแ แแ แจแแกแแแแแแกแแ แแแแแขแแแแแแก แกแแฏแแ แ แแแกแแฆแแแแแ.
VPS-แแ แ แฉแแแ แแฎแแแแ แแ แซแแแแแแก แแแจแแแแ, แ แแแแแแช แแแแแแขแแแก แแแขแแ แคแแแกแก แแ แแแแแแขแแแก แแแก แแแขแแ แฃแแจแ: systemctl enable --now wg-quick@wg0
. แแแแแแแแ แ แแแแจแแ แแก แกแขแแขแฃแกแแก แจแแแแฌแแแแ แจแแกแแซแแแแแแแ แแ แซแแแแแแ wg
.
OpenWRT แแแแคแแแฃแ แแชแแ
แงแแแแแคแแ แ, แ แแช แแญแแ แแแแแ แแ แแขแแแแกแแแแก, แแ แแก luci แแแแฃแแจแ (OpenWRT แแแ แแแขแแ แคแแแกแ). แจแแแแ แกแแกแขแแแแจแ แแ แแแฎแกแแแแ แแ แแแ แแแฃแแ แฃแแ แฃแแแแแงแแคแแก แฉแแแแ แแ แกแแกแขแแแแก แแแแแฃแจแ. OpenWRT แแ แแแแฎแแแก แฅแแจแก แแแฌแงแแแแแแแแแ, แแแแขแแ แกแแญแแ แแ แแแแแแฎแแแ แฎแแแแแกแแฌแแแแแ แแแแแขแแแแก แกแแ แแฌแแแแ แแแแแฎแแแแแก แกแแแแแก แฆแแแแแแ แแแฌแแแแฃแแแแแ. แแแกแ แฃแแแแแก แจแแแแแ, แฉแแกแแแ แคแแแขแ แจแ luci-app-wireguard
แแ, แฃแงแฃแ แแแ แคแแแฏแแ แแก แแแแแแ แแแแแแแแแแฃแแแแแก แฎแแก แแฅแแแ, แแแแแแกแขแแแแ แแ แแก แแแแแขแ.
แฅแกแแแแแแก แแแแแฃแจแ แแแ แฉแแแ แแแขแแ แคแแแกแแแ แแ แแแแฌแแแแฃแแแ แแฌแแแแ แฆแแแแแแ โแแฎแแแ แแแขแแ แคแแแกแแก แแแแแขแแแโ แแ แกแแแฃแแแก แกแแแก แฅแแแจ. แกแแฎแแแแก แจแแงแแแแแก แจแแแแแ (แแกแแแ wg0
แฉแแแก แจแแแแฎแแแแแจแ) แแ WireGuard VPN แแ แแขแแแแแแก แแ แฉแแแแกแแก, แแฎแกแแแแ แแแ แแแแขแ แแแแก แคแแ แแ แแแฎแ แฉแแแแ แแ.
แแแแแแ แแแ แแแแขแ แแแแก แฉแแแแ แแแ, แแฅแแแ แฃแแแ แจแแแงแแแแแ OpenWRT-แกแแแแก แแแแแแแแแฃแแ แแแ แแแ แแแกแแฆแแแ แแ IP แแแกแแแแ แแ แฅแแแฅแกแแแแแ แแ แแแ.
Firewall-แแก แแแ แแแแขแ แแแแก แฉแแแแ แแแ แแแแแแแจแแ แแ แแแขแแ แคแแแกแ แแแแแแฃแ แฅแกแแแจแ. แแ แแแแ, VPN-แแแ แแแแจแแ แแแ แแแแแกแฃแคแแแ แจแแแ แแแแแแแแ แแ แขแแ แแขแแ แแแแ.
Peers แฉแแแแ แแแ แแแแฌแแแแฃแแแ แแ แแแแแ แ แฆแแแแแก, แ แแก แจแแแแแแแช แแแกแแแ VPS แกแแ แแแ แแก แแแแแชแแแแแก แแแแแฎแแแแฃแแ แคแแ แแแ: แกแแฏแแ แ แแแกแแฆแแแ, แแแจแแแแฃแแ IP-แแแ (แแฅแแแ แฃแแแ แแแแแแงแแแแแ แแแแแ VPN แฅแแแฅแกแแแ แกแแ แแแ แแ). Endpoint Host-แจแ แแ Endpoint Port-แจแ แจแแแงแแแแแ VPS-แแก IP แแแกแแแแ แแ แแแ แขแแ, แ แแแแแแช แแแ แ แแงแ แแแแแแแแฃแแ ListenPort แแแ แแฅแขแแแแจแ, แจแแกแแแแแแกแแ. แจแแแแแฌแแแ แแแ แจแ แฃแขแแก แแแแแแแ แแฃแแ IP-แแแ แแแ แจแ แฃแขแแแแก แจแแกแแฅแแแแแแ. แแ แแฃแชแแแแแแแ แจแแแแกแแ Persistent Keep Alive, แฌแแแแแฆแแแแ แจแแแแฎแแแแแจแ แแแแ แแแ VPS-แแแ แ แแฃแขแแ แแแแ แแแขแงแแแแ, แแฃ แแก แฃแแแแแกแแแแแ NAT-แแก แฃแแแ แแแแก.
แแแแก แจแแแแแ แจแแแแซแแแแ แจแแแแแฎแแ แแแ แแแแขแ แแแ, แจแแแแแ แแ แแแขแแ แคแแแกแแแแก แกแแแก แแแแ แแแ แแแแฌแแแแฃแแแ แจแแแแฎแแ แแ แแแแแแงแแแแ. แกแแญแแ แแแแแก แจแแแแฎแแแแแจแ, แแแ แแแแแ แแแฃแจแแแ แแแขแแ แคแแแกแ แแแแแขแแแ แแแแก แฆแแแแแแ.
แกแแแ แขแคแแแแก แแแงแแแแแ
แแฅแแแ แแแแญแแ แแแแแ Wireguard แแแแแแขแ, แแก แฎแแแแแกแแฌแแแแแแ
แแแแแแ แแแ แแแแก แแแแแแญแแ แขแแแแคแแแแแแ
แแแแฌแแแแฃแแแ แคแแแแ แแแกแแแ แแฃแแฎแแจแ, แฉแแ แแแ แแ...
แแแกแ แฃแแแแแก
แแฎแแ แแฅแแแ แจแแแแซแแแแ แจแแฎแแแแแ แกแแฎแแแก แแแแแขแแ แแแแแ, แจแแชแแแแแ แ แแฃแขแแ แแก แแแ แแแแขแ แแแ แแ แแแแแแแแ แ แแแแ IP แแแแแแ.
แกแแ แแแจแแขแแแ แแแแแแแแ แแแ แขแแ แแขแแ แแแแแ
แฌแงแแ แ: www.habr.com