ืืืืข ืืืื ืฉืื VPN ืืื ื ืขืื ืืืื ืืื ืืงืืืื ืฉื ืื ืืื ืืขืจืืืช ืืืืงื ืื. ืืืฉืชืืฉืื ืืฉ ืืฉืืืืช ืฉืื ืืช, ืืื ืืขืืืื ืืื ืฉืืืื ืฆืจืืืื VPN.
ืืืขืื ืขื ืคืชืจืื ืืช ื-VPN ืื ืืืืืื ืืื ืฉืงืฉื ืืืืืืจ ืืืชื ืืฆืืจื ื ืืื ื, ืืงืจ ืืชืืืืงื ืืื ืืืืื ืืงืื ืืืืจ ืงืืื ืืืืืืช ืืคืืงืคืงืช.
ืืคื ื ืืกืคืจ ืฉื ืื ืืืืื ืืืืื ืืืืืช ืืืืืข ืืงื ืื ื'ืืืกืื ื. ืืื ื ืคืื ืฉื ืืืก ืื ืืืื ืืขืืื ืขื
ืืืชืจืื ืืช ืื ืืขื ืื ืฉื WireGuard ืขื ืคื ื ืคืชืจืื ืืช VPN ืืืจืื:
- ืงื ืืฉืืืืฉ.
- ืืฉืชืืฉ ืืงืจืืคืืืืจืคืื ืืืืจื ืืช: ืืกืืจืช ืคืจืืืืงืื ืจืขืฉ, Curve25519, ChaCha20, Poly1305, BLAKE2, SipHash24, HKDF ืืื'.
- ืงืื ืงืืืคืงืื, ืงืจืื, ืงื ืืืชืจ ืืืงืืจ ื ืงืืืืช ืชืืจืคื.
- ืืืฆืืขืื ืืืืืื.
- ืืจืืจ ืืืฉืืืื
ืืคืจื .
ืืื ื ืืฆื ืืืืจ ืืกืฃ? ืืื ืืืืข ืืืื ืืงืืืจ ืืช OpenVPN ื- IPSec? ืืืืืชื ืืืชืืืื ืขื ืื, ืืืืงืืื ืขืฉืืชื ืืืช
ืขืงืจืื ืืช ืขืืืื
ื ืืชื ืืชืืจ ืืช ืขืงืจืื ืืช ืืคืขืืื ืืขืจื ืื:
- ื ืืฆืจ ืืืฉืง WireGuard ืืืงืฆืื ืื ืืคืชื ืคืจืื ืืืชืืืช IP. ืืืืืจืืช ืฉื ืขืืืชืื ืืืจืื ื ืืขื ืืช: ืืืคืชืืืช ืืฆืืืืจืืื ืฉืืื, ืืชืืืืช ื-IP ืืื'.
- ืื ืื ืืช ื-IP ืืืืืขืืช ืืืืฉืง WireGuard ืืืืืขืืช ื-UDP ื
ื ืืกืจ ืืืืื ืขืืืชืื ืืืจืื. - ืืงืืืืช ืืฆืืื ืื ืืช ืืชืืืช ื-IP ืืฆืืืืจืืช ืฉื ืืฉืจืช ืืืืืจืืช. ืืฉืจืช ืืืื ืืืืืืืืช ืืช ืืืชืืืืช ืืืืฆืื ืืืช ืฉื ืืงืืืืช ืืืฉืจ ืืชืงืืืื ืืื ื ืชืื ืื ืืืืืชืื ืืืืื.
- ืืฉืจืช ืืืื ืืฉื ืืช ืืช ืืชืืืช ื-IP ืืฆืืืืจืืช ืืืื ืืืคืจืืข ืืขืืืืชื. ืืืงืืื, ืื ืืฉืื ืืชืจืื ืืืงืืืืช ืืืืืจืื ืืื ืืขืืื ื ืืช ืืชืฆืืจื ืฉืืื ืชืื ืืื ืชื ืืขื.
- ื ืขืฉื ืฉืืืืฉ ืืืืฉื ื ืืชืื
ื ืืชืื ืืคืชื ืงืจืืคืื . WireGuard ืืงืื ืืฉืืื ืื ืืช ืขื ืกืื ืืืคืชื ืืฆืืืืจื ืฉื ืืขืืืช. ืืืฉืจ ืืฉืจืช ืืคืขื ื ืืืืื ืืืืืชืช ืืืืื, ืฉืื ื-src ืฉืื ืืกืืื. ืื ืื ืชืืื ืืช ืืชืฆืืจืallowed-ips
ืขืืืช ืืืืืช, ืืืืืื ืืชืงืืืช ืขื ืืื ืืืฉืง WireGuard. ืืขืช ืฉืืืืช ืืืืื ืืืฆืืช ืืชืจืืฉ ืืคืจืืฆืืืจื ืืืงืืืื: ื ืืงื ืฉืื ื-dst ืฉื ืืืืืื ืืขื ืคืื ื ืืืจ ืืขืืืช ืืืชืืื, ืืืืืื ื ืืชืืช ืืืคืชื ืฉืื, ืืืฆืคื ืช ืืืคืชื ืฉื ืืขืืืช ืื ืฉืืืช ืื ืงืืืช ืืงืฆื ืืืจืืืงืช. .
ืื ืืืืืืงืช ืืืืื ืฉื WireGuard ืชืืคืกืช ืคืืืช ื-4 ืฉืืจืืช ืงืื, ืืขืื ืฉื-OpenVPN ื-IPSec ืืฉ ืืืืช ืืืคื ืฉืืจืืช. ืืื ืืชืืื ืืืืืืจืืชืืื ืงืจืืคืืืืจืคืืื ืืืืจื ืืื, ืืืฆืข ืืืืื API ืงืจืืคืืืืจืคื ืืืฉ ืืืืืช ืืื ืืงืก
ืคืจืืืืงืืืืืืช
ืืชืจืื ืืืืฆืืขืื ืืืจืื (ืืืฉืืืื ื-OpenVPN ื-IPSec) ืืืื ืืืจืืฉ ืืืขืจืืืช ืืื ืืงืก, ืืืืืื ืฉ-WireGuard ืืืืฉื ืืืืืื ืืืื ืฉื. ืื ืืกืฃ, macOS, Android, iOS, FreeBSD ื-OpenBSD ื ืชืืืืช, ืื ืืื WireGuard ืคืืขื ืืืจืื ืืืฉืชืืฉ ืขื ืื ืืืฉืืืืช ืืืืฆืืขืืืช ืื ืืืจืืช ืืื. ืชืืืื ื-Windows ืฆืคืืื ืืืชืืืกืฃ ืืขืชืื ืืงืจืื.
ืชืืฆืืืช ืื ืฆ'ืืจืง ืขื
ืืืืืช ืืฉืืืืฉ ืฉืื
ืื ื ืื ืืืืื VPN. ืคืขื ืืงืืชื ืืช OpenVPN ืืืืคื ืืื ื ืืื ืืื ืืืื ืืืืืข, ืืืคืืื ืื ื ืืกืืชื IPSec. ืืฉ ืืืชืจ ืืื ืืืืืืช ืืงืื, ืงื ืืืื ืืืจืืช ืืขืฆืื ืืจืื. ืืื, ืชืืื ืืฉืชืืฉืชื ืืกืงืจืืคืืื ืืืื ืื ืืื ืืืืืืจ ืืช ืืฉืจืช.
ืื, WireGuard, ืื ืงืืืช ืืืื ืฉืื, ืืื ืืืจื ืืื ืืืืืืื ืขืืืจ ืืืฉืชืืฉ. ืื ืืืืืืืช ืืจืื ื ืืืื ืืชืงืืืืช ืืืคืจื, ืื ืฉืชืืืื ืืื ืช ืชืฉืชืืช VPN ืืืคืืกืืช ืืืงื ืืงืืช ืกืคืืจืืช ืืืื. ืื ืืืขื ืืืชื ืืคืฉืจื ืืจืืืช ืืชืฆืืจื.
ืชืืืื ืืืชืงื ื
ืืคืชืืืช ืืฆืคื ื ื ืืฆืจืื ืขื ืืื ืืื ืืฉืืจืืช wg
:
SERVER_PRIVKEY=$( wg genkey )
SERVER_PUBKEY=$( echo $SERVER_PRIVKEY | wg pubkey )
CLIENT_PRIVKEY=$( wg genkey )
CLIENT_PUBKEY=$( echo $CLIENT_PRIVKEY | wg pubkey )
ืืืืจ ืืื, ืขืืื ืืืฆืืจ ืชืฆืืจืช ืฉืจืช /etc/wireguard/wg0.conf
ืขื ืืชืืื ืืื:
[Interface]
Address = 10.9.0.1/24
PrivateKey = $SERVER_PRIVKEY
[Peer]
PublicKey = $CLIENT_PUBKEY
AllowedIPs = 10.9.0.2/32
ืืืืจืื ืืช ืืื ืืจื ืขื ืชืกืจืื wg-quick
:
sudo wg-quick up /etc/wireguard/wg0.conf
ืืืขืจืืืช ืขื systemd ืืชื ืืืื ืืืฉืชืืฉ ืืื ืืืงืื sudo systemctl start [email protected]
.
ืืืืฉื ืืืงืื, ืฆืืจ ืชืฆืืจื /etc/wireguard/wg0.conf
:
[Interface]
PrivateKey = $CLIENT_PRIVKEY
Address = 10.9.0.2/24
[Peer]
PublicKey = $SERVER_PUBKEY
AllowedIPs = 0.0.0.0/0
Endpoint = 1.2.3.4:51820 # ะะฝะตัะฝะธะน IP ัะตัะฒะตัะฐ
PersistentKeepalive = 25
ืืืืจืื ืืช ืืื ืืจื ืืืืชื ืืืคื:
sudo wg-quick up /etc/wireguard/wg0.conf
ืื ืื ืฉื ืืชืจ ืืื ืืืืืืจ ืืช ื-NAT ืืฉืจืช ืื ืฉืืงืืืืช ืืืืื ืืืฉืช ืืืื ืืจื ื, ืืกืืืืช!
ืงืืืช ืืฉืืืืฉ ืืืงืืืคืงืืืืช ืืื ืฉื ืืกืืก ืืงืื ืืืฉืื ืขื ืืื ืืืืื ืคืื ืงืฆืืื ืืืืช ืืืคืฆื ืืืจืืืืช. ืืื ืืขืจืืช ืืืฉืืจืื ืืืจืืืช ืืื ืืืืืขื ืืืจืืื ืืช ืืื; ืืคืชืืืช ืืฆืคื ื ืงืฆืจืื ืืืคืฆืื ืืืืื ืืืคืชืืืช SSH. ืืื ืื ืืฆืื ืืขืื: WireGuard ืื ืืืื ืื ืื ืงื ืืืืฉืื ืขื ืืื ืจืฉืชืืช ืงืืืืืช.
ืืื ืืืกืจืื ืืช, ืจืืื ืืฆืืื ืฉ-WireGuard ืื ืืขืืื ืืืืฆืขืืช ืคืจืืงืกื HTTP, ืืืืืื ืฉืจืง ืคืจืืืืงืื UDP ืืืื ืืชืืืืจื. ื ืฉืืืช ืืฉืืื: ืืื ื ืืชื ืืืื ืืืฉืืฉ ืืช ืืคืจืืืืงืื? ืืืืื ืฉืื ืื ืืืฉืืื ืืืฉืืจื ืฉื VPN, ืืื ืขืืืจ OpenVPN, ืืืฉื, ืืฉ ืืจืืื ืืืชืืคืฉ ื-HTTPS, ืื ืฉืขืืืจ ืืชืืฉืื ืืืื ืืช ืืืืืืืจืืืช ืืืฉืชืืฉ ืืืืืื ืืืื ืืจื ื.
ืืืฆืืื
ืืกืืืื, ืืืืืจ ืืคืจืืืงื ืืืื ืืขื ืืื ืืืืืื, ืืชื ืืืจ ืืืื ืืืฉืชืืฉ ืื ืืฉืจืชืื ืืืฉืืื. ืื ืืจืืื? ืืืฆืืขืื ืืืืืื ืืืขืจืืืช ืืื ืืงืก, ืงืืืช ืืืืจื ืืชืืืื, ืืกืืก ืงืื ืงืืืคืงืื ืืงืจืื. ืขื ืืืช, ืืืงืื ืืื ืืืืจ ืืืขืืืจ ืชืฉืชืืช ืืืจืืืช ื-WireGuard; ืืืื ืืืืืช ืืืืืืชื ืืืืืช ืืื ืืงืก.
ืืื ืืืกืื ืืช ืืืื ืฉืื (ืืื ืฉืื), ืคืืชืืชื
ืืงืืจ: www.habr.com