ืืื ืื ืกืืฃ ืคืื ืืืื, ืื ืืขืืืขืืึธืคึผืขืจืก ืคืื ืื WireGuard VPN ืืื ืขื ืคืืจืืขืืืืื ืืึทืืข ืฉืืขืื, ืืืึธืก ืืืขื ืืึทืื ืืืืขืจ ืืืคึผื ืืึทื ืึทืืื ื ืืืืืืืืืจื ืืืื ืคืื ืื ืืื ืืงืก ืงืขืจื. ืึธืืขืจ, ืื ืคึผืื ืืืขื ืืึทืืข ืคืื โโืืืคึผืืึทืืขื ืืืืฉืึทื ืคืื ืื "ืืขืืื ืง" ืืืืืื ืืืืืึทืงืึทื ื. ืื ืืขืจ ืืขืจ ืืืจืืฉื ืื ืืืจ ืืืขืื ืจืขืื ืืืขืื ืืขื ืืขืฆืืึทื ืืื ืืขืจ ืืขืืึทื.
/ ืคืึธืืึธ ืืึทืืืึทืงืึธ ืื ืืืฉืึทืืืึทืจ CC
ืืขืงืืฆืขืจ ืืืขืื ืืขื ืคึผืจืืืขืงื
WireGuard ืืื ืึท ืืืืึทืืขืจ-ืืืจ ืืืคึผื ืืื ืขื ืืืฉืืคื ืืืจื Jason A. Donenfeld, ืกืขืึธ ืคืื Edge Security. ืื ืคึผืจืืืขืงื ืืื ืืขืืืขืืึธืคึผืขื ืืื Simplified ืืื ืึท ืฉื ืขื ืื ืืขืจ ืืจืืจื ืฆื OpenVPN ืืื IPsec. ืืขืจ ืขืจืฉืืขืจ ืืืขืจืกืืข ืคืื โโืื ืคึผืจืึธืืืงื ืงืึทื ืืืื ื ืืืืื 4 ืืืืื ื ืฉืืจืืช ืคืื ืงืึธื. ืคึฟืึทืจ ืคืึทืจืืืืึทื, OpenVPN ืืื ืืืขืื 120 ืืืืื ื ืฉืืจืืช ืืื IPSec - 420 ืืืืื ื.
ืืืืฃ ืืืื ืืขืืืขืืึธืคึผืขืจืก, WireGuard ืืื ืืจืื ื ืฆื ืงืึทื ืคืืืืขืจ ืืื ืคึผืจืึธืืึธืงืึธื ืืืืขืจืืืื ืืื ืึทืืฉืืืื ืืืจื ืคึผืจืึธืืืขื ืงืจืืคึผืืึธืืจืึทืคืืง ืึทืืืขืจืืืึทืื. ืืืขื ืืฉืึทื ืืื ื ื ืขืฅ: Wi-Fi, LTE ืึธืืขืจ ืขืืืขืจื ืขื ืืึทืจืคึฟื ืฆื ืจืืงืึทื ืขืงื ืฆื ืื ืืืคึผื ืกืขืจืืืขืจ ืืขืืขืจ ืืึธื. WireGuard ืกืขืจืืืขืจืก ืืึธื ื ืื ืคืึทืจืขื ืืืงื ืื ืงืฉืจ, ืืคืืื ืืืื ืืขืจ ืืึทื ืืฆืขืจ ืืื ืืืงืืืขื ืึท ื ืืึทืข IP ืึทืืจืขืก.
ืืจืึธืฅ ืืขื ืคืึทืงื ืึทื WireGuard ืืื ืขืจืืืืฉื ืึทืื ืืืืืื ื ืคึฟืึทืจ ืื ืืื ืืงืก ืงืขืจื, ืื ืืขืืืขืืึธืคึผืขืจืก ืืขื ืืืขื ืืึธืจืื ืคืื ืืื ืืืขืื ืึท ืคึผืึธืจืืึทืืืื ืืืขืจืกืืข ืคืื โโืื ืืขืฆืืึทื ืคึฟืึทืจ ืึทื ืืจืืื ืืขืืืืกืขืก. ืื ืึทืคึผืืึทืงืืืฉืึทื ืืื ื ืึธื ื ืืฉื ืืึธืจ ืืขืืืขืืึธืคึผืขื, ืึธืืขืจ ืืืจ ืงืขื ืขื ืคึผืจืืืืจื ืขืก ืืืฆื. ืคึฟืึทืจ ืืขื ืืืจ ืืึทืจืคึฟื ืืืขืจื ืืืื ืขืจ ืคืื ืื ืืขืกืืขืจืก.
ืืื ืึทืืืขืืืื, WireGuard ืืื ืืึทื ืฅ ืคืึธืืงืก ืืื ืืื ืืคืืื ืืขืืืขื ืืืคึผืืึทืืขื ืึทื ืขืืืขืืข ืืืคึผื ืคึผืจืึทืืืืืืขืจื, ืึทืืึท ืืื Mullvad ืืื AzireVPN. ืคึฟืึทืจืขืคึฟื ืืืขืื ืึธื ืืืื ืึท ืืจืืืก ื ืืืขืจ ืกืขืืึทืคึผ ืคืืจืขืจ ืืขื ืืึทืฉืืืก. ืืืฉื, ืขืก ืืขื ืขื ืคืืจืขืจ, ืืืึธืก ืืขื ืขื ืืืฉืืคื ืืืจื ืืืืขืจื, ืืื ืขืก ืืขื ืขื ืคืืจืขืจ, ืฆืืืขืืจืืื ืืืจื ืื ืืืืจืื ืคืื ืื ืคึผืจืืืขืงื.
ืืขืื ืืฉ ืืขืืึทืืืก
ะ ืืึทืึทืืืขืจ ืืึทืงืืืืขื ืืืืฉืึทื (ื' 18) ืขืก ืืื ืืืืขืจืงื ืึทื ืื ืืจืืคึผืื ืคืื WireGuard ืืื ืคืืจ ืืึธื ืืขืืขืจ ืืื ืื ืคืื OpenVPN: 1011 Mbit/s ืงืขืื 258 Mbit/s, ืจืืกืคึผืขืงืืืืืื. WireGuard ืืื ืืืื ืคืึธืจืืืก ืคืื ืื ื ืึธืจืืึทื ืืืืืื ื ืคึฟืึทืจ ืืื ืืงืก IPsec - ืขืก ืืื 881 ืืืื / s. ืขืก ืืืื ืกืขืจืคึผืึทืกืื ืขืก ืืื ืื ืคืื ืกืขืืึทืคึผ.
ื ืึธื ืื ืงืื ืืขื ืขื ืคืืจืืืื (ืื VPN ืคึฟืึทืจืืื ืืื ื ืืื ืื ืืืืึทืืืืื ืคืื ืืื SSH) ืืื ืื ืงืฉืจ ืืื ืืขืืจืื ืืขื, WireGuard ืืึทื ืืึทืื ืึทืืข ืื ืืขืจืข ืืึทืกืงืก ืืืืฃ ืืื: ืขืก ืืื ื ืื ืืึทืจืคึฟื ืฆื ืืึธืจื ืืืขืื ืจืืืื ื, ืฉืืึทื ืงืึธื ืืจืึธื, ืืื"ื ื. ื ืึธื ืงืึทื ืคืืืืขืจืืืฉืึทื ืืฉืชืืืืช ืืืขื ื ืึธืจ ืืืื ืคืืจืืื ืื ืืืื ืืืจ ืืืืื ืฆื ื ืืฆื ืกืืืืขืืจืืง ืขื ืงืจืืคึผืฉืึทื.
/ ืคืึธืืึธ ืึทื ืืขืจืก ืืึทืืืฉืืขืจื CC
ืฆื ืื ืกืืึทืืืจื, ืืืจ ืืึทืจืคึฟื ืึท ืคืึทืจืฉืคึผืจืืืืื ื ืืื ืึท ืืื ืืงืก ืงืขืจื ืขืืืขืจ ืืื 4.1. ืขืก ืงืขื ืขื ืืืื ืืขืคึฟืื ืขื ืืื ืื ืจืืคึผืึทืืึทืืึธืจืื ืคืื ืืืืคึผื ืืื ืืงืก ืืืกืืจืืืืืฉืึทื ื.
$ sudo add-apt-repository ppa:hda-me/wireguard
$ sudo apt update
$ sudo apt install wireguard-dkms wireguard-tools
ืืื ืื ืจืขืืืงืฆืืข ืคืื โโxakep.ru ืืึธื, ืืื-ืคึฟืึทืจืืึทืืืื ื ืคึฟืื ืืงืืจ ืืขืงืกืื ืืื ืืืื ืืจืื ื. ืขืก ืืื ืืขื ืื ืฆื ืขืคืขื ืขื ืื ืฆืืืื ื ืืื ืืืฉืขื ืขืจืืื ืฆืืืืจ ืืื ืคึผืจืืืืึทื ืฉืืืกืืขื:
$ sudo ip link add dev wg0 type wireguard
$ wg genkey | tee privatekey | wg pubkey > publickey
WireGuard ืืื ื ืืฉื ื ืืฆื ืฆืืืื ื ืคึฟืึทืจ ืืจืืขืื ืืื ืึท ืงืจืืคึผืืึธ ืฉืคึผืืึทืืขืจ ืงืจืืคึผืืึธืึทืคึผื. ืึทื ืฉืืึธื, ืึท ืืืึทื ืกืืคืขืจ ืืื ืืขื ืืฆื ChaCha20, ืงืจืืคึผืืึธืืจืึทืคืืง ื ืึธืืืึทื ืึทืจืืึทื ืืืืื ืคึผืึธืื1305 ืืื ืคึผืจืึทืคึผืจืืืึทืืขืจื ืงืจืืคึผืืึธืืจืึทืคืืง ืืึทืฉ ืคืึทื ืืงืฉืึทื ื.
ืืขืจ ืกืื ืฉืืืกื ืืื ืืืฉืขื ืขืจืืืืึทื ื ืืฆื ืืืคื-ืืขืืืึทื ืคึผืจืึธืืึธืงืึธื ืืืืืจื ืืืืฃ ืืืืคึผืืืงืึทื ืืืกืืืื ืงืืจืืืขืงืกื ืืืงืก. ืืืขื ืืึทืฉืื ื, ืืื ื ืืฆื ืืึทืฉ ืคืึทื ืืงืฉืึทื ื ืืืืืง2 ะธ SipHash. ืจืขืื ืฆื ืืขืจ ืืืืขืกืืึทืืคึผ ืคึฟืึธืจืืึทื TAI64N ืืขืจ ืคึผืจืึธืืึธืงืึธื ืืืกืงืึทืจืื ืคึผืึทืงืืฅ ืืื ืึท ืงืืขื ืขืจืขืจ ืืืืขืกืืึทืืคึผ ืืืขืจื, ืืขืจืืื ืคึผืจืขืืืขื ืืื ื ืืึธืก- ะธ ืจืืคึผืืื ืื ืคืืื.
ืืื ืืขื ืคืึทื, WireGuard ื ืืฆื ืื ioctl ืคืื ืงืฆืืข ืฆื ืงืึธื ืืจืึธืืืจื ื / ืึธ (ืคืจืืขืจ ืืขืืืืื ื ื ืขืืืื ืง), ืืืึธืก ืืืื ืื ืงืึธื ืงืืื ืขืจ ืืื ืกืืืคึผืืขืจ. ืืืจ ืงืขื ืขื ืืึทืฉืืขืืืงื ืืขื ืืืจื ืงืืงื ืืื ืงืึทื ืคืืืืขืจืืืฉืึทื ืงืึธื.
ืืขืืืขืืึธืคึผืขืจ ืคึผืืึทื ื
ืืขืจืืืืึทื, WireGuard ืืื ืึทื ืึทืจืืืก-ืคืื-ืืืื ืงืขืจื ืืึธืืืืข. ืืืขืจ ืืขืจ ืืืืจ ืคืื ืื ืคึผืจืืืขืงื ืืื Jason Donenfeld ืืืื, ืึทื ืื ืฆืืื ืืื ืืขืงืืืขื ืคึฟืึทืจ ืคืื ืืืคึผืืึทืืขื ืืืืฉืึทื ืืื ืื ืืื ืืงืก ืงืขืจื. ืืืืึทื ืขืก ืืื ืกืืืคึผืืขืจ ืืื ืืขืจ ืคืึทืจืืึธืืืขื ืืื ืื ืืขืจืข ืกืึทืืืฉืึทื ื. Jason ืืื ืืขื ืึทืืืื ื ืฉืืืฆื ืืคืืื Linus Torvalds ืืื ืืขืจืืคื ืื WireGuard ืงืึธื ืึท "ืืืขืจืง ืคืื ืงืื ืกื."
ืึธืืขืจ ืงืืื ืืืื ืขืจ ืืื ืืขืจืขืื ืืืขืื ืื ืคึผืื ืืืขื ืืึทืืขืก ืคึฟืึทืจ ืื ืืงืืื ืคืื WireGuard ืืื ืื ืงืขืจื. ืืื ืงืืื ืืึธืก ืืืขื ืคึผืึทืกืืจื ืืื ืื ืืขืืืื ื ืคืื ืื ืืืืืืกื ืืื ืืงืก ืงืขืจื 4.18. ืึธืืขืจ, ืขืก ืืื ืึท ืืขืืืขืืงืืื ืึทื ืืึธืก ืืืขื ืคึผืึทืกืืจื ืืื ืืขืจ ื ืึธืขื ื ืฆืืงืื ืคึฟื: ืืื ืืืขืจืกืืข 4.19 ืึธืืขืจ 5.0.
ืืืขื WireGuard ืืื ืืืกืืฃ ืฆื ืื ืงืขืจื, ืืขืืืขืืึธืคึผืขืจืก ืืืืื ืคืืื ืึทืืืื ืื ืึทืคึผืืึทืงืืืฉืึทื ืคึฟืึทืจ ืึทื ืืจืืื ืืขืืืืกืขืก ืืื ืึธื ืืืืื ืฉืจืืืื ืึท ืึทืคึผืืึทืงืืืฉืึทื ืคึฟืึทืจ ืืึธืก. ืขืก ืืขื ืขื ืืืื ืคึผืืึทื ื ืฆื ืคืึทืจืขื ืืืงื ืืืคึผืืึทืืึทื ืฅ ืืื Go ืืื Rust ืืื ืคึผืึธืจื ืืื ืฆื macOS, Windows ืืื BSD. ืขืก ืืื ืืืื ืคึผืืึทื ื ืขื ืฆื ืื ืกืืจืืืขื ื WireGuard ืคึฟืึทืจ ืืขืจ "ืขืงืืึธืืืฉ ืกืืกืืขืืขื": DPDK, ืคืคึผืืึท, ืืื ืืืื ืคืืืข ืื ืืขืจืข ืืฉืืงืึทืืืข ืืืื. ืึทืืข ืคืื โโืืื ืืขื ืขื ืืืกืืขื ืืื ืืืกืืข ืฆื ืขืจืืขืืืืื ืืืืจืื ืคืื ืื ืคึผืจืืืขืงื.
ืคึผืก ืขืืืขืืข ืืขืจ ืึทืจืืืงืืขื ืคืื ืืื ืืืขืจ ืคึฟืืจืืข ืืืึธื:
ืื ืืืืคึผื ืจืืืืื ื ืคืื ืืื ืืืขืจ ืืขืืืงืืื ืืื ืื ืฆืืฉืืขืื ืคืื ืืืึธืืงื ืืึทืืื ืื ืืก:
ืืืืจืืืขื ืื ืคืจืึทืกืืจืึทืงืืฉืขืจ (IaaS) | PCI DSS ืืึธืกืืื ื | ืืืึธืืงื ืคื-152 | SAP ืืึธืกืืื ื | ืืืืจืืืึทื ืกืืึธืจืืืืฉ | ืขื ืงืจืืคึผืืื ื ืืึทืื ืืื ืื ืืืึธืืงื | ืืืึธืืงื ืกืืึธืจืืืืฉ
ืืงืืจ: www.habr.com