ืืกืืฃ ืืืื ืืฆืืขื ืืคืชืื ืื ืืจืช ื-VPN ืฉื WireGuard ืกื ืชืืงืื, ืื ืฉืืืคืื ืืช ืชืืื ืช ืื ืืืจ ื-VPN ืฉืืื ืืืืง ืืืืืช ืืื ืืงืก. ืขื ืืืช, ืืชืืจืื ืืืืืืง ืฉื ืืืฉืื ื"ืจืขืืื" ื ืืชืจ ืื ืืืืข. ืืชืืช ืืืืชืื ื ืืืจ ืขื ืืืื ืืื ืืืชืจ ืคืืจืื.
/ ืชืืื ื ืืืืงื ืืืืืืจ CC
ืืงืฆืจื ืขื ืืคืจืืืงื
WireGuard ืืื ืื ืืจืช VPN ืืืืืจ ืืื ืฉื ืืฆืจื ืขื ืืื ื'ืืืกืื ื. ืืื ื ืคืื, ืื ื"ื Edge Security. ืืคืจืืืงื ืคืืชื ื ืึฐืคืึผืฉืึธื ืืืืืจื ืืืื ืืืืจื ื-OpenVPN ื-IPsec. ืืืจืกื ืืจืืฉืื ื ืฉื ืืืืฆืจ ืืืืื ืจืง 4 ืฉืืจืืช ืงืื. ืืฉื ืืฉืืืื, ื-OpenVPN ืืฉ ื-120 ืืืฃ ืงืืืื, ื-IPSec - 420 ืืืฃ.
ืขื ืขื ืคื ืืืคืชืืื, ืงื ืืืืืืจ ืืช WireGuard ืืืืฉื ืืืืืช ืคืจืืืืงืื ืืืืฆืขืืช ืืืืืจืืชืืื ืงืจืืคืืืืจืคืืื ืืืืืื. ืืขืช ืืืืคืช ืจืฉืช: Wi-Fi, LTE ืื Ethernet ืฆืจืืืื ืืืชืืืจ ืืืืฉ ืืฉืจืช ื-VPN ืืื ืคืขื. ืฉืจืชื WireGuard ืืื ื ืืคืกืืงืื ืืช ืืืืืืจ, ืื ืื ืืืฉืชืืฉ ืงืืื ืืชืืืช IP ืืืฉื.
ืืืจืืช ืืขืืืื ืฉ-WireGuard ืชืืื ื ืืืงืืจ ืขืืืจ ืืืืช ืืื ืืงืก, ืืืคืชืืื ืืืืคื ืืืืื ืืจืกื ื ืืืืช ืฉื ืืืื ืืืืฉืืจื ืื ืืจืืืื. ืืืคืืืงืฆืื ืขืืืื ืื ืืคืืชืืช ืืืืืื, ืืื ืืชื ืืืื ืื ืกืืช ืืืชื ืขืืฉืื. ืืฉืืื ืื ืืชื ืฆืจืื ืืืืืช ืืื ืืืืืืงืื.
ืืืืคื ืืืื, WireGuard ืืื ืื ืคืืคืืืจื ืืืฃ ืืื ืืืืืข ืืกืคืจ ืกืคืงื VPN, ืืื Mullvad ื- AzireVPN. ืคืืจืกื ืืืื ืืจื ื ืืกืคืจ ืืืื ืืืจืืื ืืชืงื ื ืืืืืื ืืื. ืืืืืื, ืืฉ ืืืจืืืื, ืฉื ืืฆืจื ืขื ืืื ืืฉืชืืฉืื, ืืืฉ ืืืจืืืื, ืืืื ืขื ืืื ืืืืจื ืืคืจืืืงื.
ืคืจืืื ืืื ืืื
ะ ืชืืขืื ืจืฉืื (ืขื' 18) ืืฆืืื ืื ืืชืคืืงื ืฉื WireGuard ืืืืื ืคื ืืจืืขื ืืื ืฉื OpenVPN: 1011 Mbit/s ืืขืืืช 258 Mbit/s, ืืืชืืื. WireGuard ืื ืืงืืืื ืืช ืืคืชืจืื ืืกืื ืืจืื ืขืืืจ Linux IPsec - ืืฉ ืื 881 Mbit/s. ืื ืื ืขืืื ืขื ืื ืื ืืืืช ืืืืืจื.
ืืืืจ ืืืืคืช ืืืคืชืืืช (ืืืืืจ ื-VPN ืืืืชืื ืืืืื ื-SSH) ืืืืืืืจ ื ืืฆืจ, WireGuard ืืืคื ืืื ืฉืืจ ืืืฉืืืืช ืืขืฆืื: ืืื ืฆืืจื ืืืืื ืืืื ื ืืชืื, ืืงืจืช ืืฆื ืืื'. ืืืืฆื ืชืฆืืจื ื ืืกืคืื ืืืื ืจืง ื ืืจืฉ ืื ืืจืฆืื ื ืืืฉืชืืฉ ืืืฆืคื ื ืกืืืืจืืช.
/ ืชืืื ื ืื ืืจืก Hojbjerg 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 ืืื ื ืืฉืชืืฉ ืืืฉืง ืืขืืืื ืขื ืกืคืง ืงืจืืคืื Cryptoapi. ืืืงืื ืืืช, ื ืขืฉื ืฉืืืืฉ ืืฆืืคื ืืจื ChaCha20, ืงืจืืคืืืืจืคื ืชืืกืคืช ืืืงืื Poly1305 ืืคืื ืงืฆืืืช ืืืืื ืงืจืืคืืืืจืคืืืช ืงื ืืื ืืืช.
ืืืคืชื ืืกืืื ื ืืฆืจ ืืืืฆืขืืช ืคืจืืืืงืื ืืืคื-ืืืื ืืืืกืก ืขื ืขืงืืื ืืืืคืืืช CurveXNXX. ืืขืช hashing, ืื ืืฉืชืืฉืื ืคืื ืงืฆืืืช hash BLAKE 2 ะธ SipHash. ืืฉื ืคืืจืื ืืืชืืช ืืืื TAI64N ืืคืจืืืืงืื ืืฉืืื ืื ืืช ืขื ืขืจื ืืืชืืช ืืื ืงืื ืืืชืจ, ืืืื ืื ืืขืช DoS- ะธ ืืชืงืคืืช ืืืืจืืช.
ืืืงืจื ืื, WireGuard ืืฉืชืืฉ ืืคืื ืงืฆืืืช ioctl ืืื ืืฉืืื ื-I/O (ืืฉืืืืฉ ืงืืื ื ืืืื ืง), ืื ืฉืืืคื ืืช ืืงืื ืื ืงื ืืคืฉืื ืืืชืจ. ืืชื ืืืื ืืืืช ืืืช ืขื ืืื ืืชืืื ื ืืช ืงืื ืชืฆืืจื.
ืชืืื ืืืช ืืคืชืืื
ืืขืช ืขืชื, WireGuard ืืื ืืืืื ืืืื ืืืืฅ ืืขืฅ. ืืื ืืืืจ ืืคืจืืืงื ืืื ื'ืืืกืื ืืื ื ืคืื ืืื ืืืืจ, ืฉืืืืข ืืืื ืืืืฉืื ืืื ืืืืืช ืืื ืืงืก. ืื ืืื ืคืฉืื ืืืืื ืืืชืจ ืืคืชืจืื ืืช ืืืจืื. ื'ืืืกืื ืืืงืฉืจ ืืื ืชืืื ืืคืืื ืืื ืืก ืืืจืืืืืืก ืขืฆืื ืืื ื ืืช ืงืื ื-WireGuard "ืืฆืืจืช ืืื ืืช".
ืืื ืืฃ ืืื ืื ืืืืจ ืขื ืืชืืจืืืื ืืืืืืงืื ืืืื ืกืช WireGuard ืืงืจื ื. ื ืืงืืฉื ืื ืืงืจื ืขื ืฉืืจืืจื ืฉื ืืืืช ืืืืืกื ืืื ืืงืก 4.18. ืขื ืืืช, ืืฉื ื ืืคืฉืจืืช ืฉืื ืืงืจื ืืืื ืืงืจืื ืืืื: ืืืจืกื 4.19 ืื 5.0.
ืืืฉืจ WireGuard ืืชืืืกืฃ ืืงืจื ื, ืืืคืชืืื ืจืืฆื ืกืืื ืืช ืืืคืืืงืฆืื ืขืืืจ ืืืฉืืจื ืื ืืจืืืื ืืืชืื ืืืชืื ืืคืืืงืฆืื ืขืืืจ iOS. ืืฉ ืื ืชืืื ืืืช ืืืฉืืื ืืืฉืืืื ื-Go ื-Rust ืืืืขืืืจ ืืืชื ื-macOS, Windows ื-BSD. ืืื ืื, ืืชืืื ื ืืืืฉื ืืช WireGuard ืขืืืจ "ืืขืจืืืช ืืงืืืืืืช" ืืืชืจ: DPDK, FPGA, ืืื ืื ืืจืื ืืืจืื ืืขื ืืื ืื ืืืจืื. ืืืื ืจืฉืืืื ื ืจืฉืืืช ืืืืืช ืืืืจื ืืคืจืืืงื.
ื .ื ืขืื ืืื ืืืืจืื ืืืืืื ืืืจืืื ื ืฉืื ื:
ืืืืืื ืืขืืงืจื ืฉื ืืคืขืืืืช ืฉืื ื ืืื ืืกืคืงืช ืฉืืจืืชื ืขื ื:
ืชืฉืชืืช ืืืจืืืืืืช (IaaS) | ืืืจืื PCI DSS | Cloud FZ-152 | ืืืจืื SAP | ืืืกืื ืืืจืืืืื | ืืฆืคื ืช ื ืชืื ืื ืืขื ื | ืืืกืื ืืขื ื
ืืงืืจ: www.habr.com