αααααααΆααΆαααααααα αααααα VPN αααααΆα§ααααααααααα·αα’αααααααααα’αααααααααααααααααααααα»αα ααααΆααααα αΎαα α’αααααααΎααααΆααααΆαααΆααα·α αα ααααααααααΆ ααα»ααααααΆααα·αααΊααΆααα»ααααααααααααΆααααΌαααΆα VPN α
αααα αΆααΆαα½αααΉααααααααααΆα VPN αα αα α»ααααααααΊααΆαα½ααααα·ααΆααααα»αααΆαααααααα ααΆααααααααααααΉαααααΌα ααααααΎααααα»αααΆααααααααΆ αα·ααααααααααααΌααααααα·αααααααααα»αααΆααααα’αΆα α αααα½αααΆαα
ααΆαααΈααα»ααααΆαααααΆααα»α α’αααα―ααααααααα·αα»αααααααΆαααΆααΆααΆ Jason A. Donenfeld ααΆααααααα
α
α·αααααΆααΆααααΆααααααααααΆααα αΎα α αΎαααΆαα
αΆααααααΎαααααΎααΆαααΎ
α’ααααααααααααααααΆαα’αα’αΆαααΈ WireGuard ααΎαααααααααΆα VPN ααααααααα
- ααΆααααα½αβααααΎα
- ααααΎααΆαααααΈααααααααΎαα Noise protocol framework, 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 )
αααααΆαααα α’αααααααΌααααααΎα server config /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]
.
αα
ααΎαααΆαααΈαααααα αααααΎα config /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