ืžื™ืžื•ืฉ VPN ื—ื“ืฉ, WireGuard, ื ื•ืกืฃ ืœื‘ืกื™ืก ื”ืงื•ื“ ืฉืœ FreeBSD.

ืขืฅ ื”ืžืงื•ืจ ืฉืœ FreeBSD ืขื•ื“ื›ืŸ ื‘ื™ื™ืฉื•ื ื—ื“ืฉ ืฉืœ VPN WireGuard, ื”ืžื‘ื•ืกืก ืขืœ ืงื•ื“ ืžื•ื“ื•ืœ ืœื™ื‘ื” ื”ืžื™ื•ืฆืจ ื‘ืžืฉื•ืชืฃ ืขืœ ื™ื“ื™ ืฆื•ื•ืชื™ ื”ืคื™ืชื•ื— ืฉืœ FreeBSD ื•-WireGuard ื”ืœื™ื‘ื” ืขื ืชืจื•ืžื•ืช ืฉืœ ื’'ื™ื™ืกื•ืŸ ื. ื“ื•ื ื ืคืœื“, ืžื—ื‘ืจ ื”-VPN WireGuard, ื•ื’'ื•ืŸ ื”. ื‘ื•ืœื“ื•ื•ื™ืŸ). ืžืคืชื— ื™ื“ื•ืข ืฉืœ GDB ื•-FreeBSD, ืฉื”ื˜ืžื™ืข ืชืžื™ื›ื” ืขื‘ื•ืจ SMP ื•-NUMA ื‘ืœื™ื‘ืช FreeBSD ื‘ืชื—ื™ืœืช ืฉื ื•ืช ื”-2000. ืœืื—ืจ ืฉื”ื ื”ื’ ื™ืชืงื‘ืœ ืœ-FreeBSD (sys/dev/wg), ื”ืคื™ืชื•ื— ื•ื”ืชื—ื–ื•ืงื” ืฉืœื• ื™ื‘ื•ืฆืขื• ืžืขืชื” ื‘ืžืื’ืจ FreeBSD.

ืœืคื ื™ ืงื‘ืœืช ื”ืงื•ื“, ื ืขืจื›ื” ืกืงื™ืจื” ืžืœืื” ืฉืœ ื”ืฉื™ื ื•ื™ื™ื ื‘ืชืžื™ื›ืช ืงืจืŸ FreeBSD, ื‘ืžื”ืœื›ื” ื ื•ืชื—ื” ื’ื ื”ืื™ื ื˜ืจืืงืฆื™ื” ืฉืœ ื”ื“ืจื™ื™ื‘ืจ ืขื ืฉืืจ ืชืชื™ ื”ืžืขืจื›ื•ืช ืฉืœ ื”ืœื™ื‘ื” ื•ื”ืืคืฉืจื•ืช ืœื”ืฉืชืžืฉ ื‘ืคืจื™ืžื™ื˜ื™ื‘ื™ื ืงืจื™ืคื˜ื•ื’ืจืคื™ื™ื ืฉืกื•ืคืงื” ืขืœ ื™ื“ื™ ื”ืœื™ื‘ื” ื”ื•ืขืจืš.

ื›ื“ื™ ืœื”ืฉืชืžืฉ ื‘ืืœื’ื•ืจื™ืชืžื™ื ื”ื”ืฆืคื ื” ื”ื ื“ืจืฉื™ื ืขืœ ื™ื“ื™ ืžื ื”ืœ ื”ื”ืชืงืŸ, ื”ื•ืจื—ื‘ ื”-API ืฉืœ ืชืช-ื”ืงืจื™ืคื˜ื•-ืชืช-ื”ืงืจื™ืคื˜ื• ืฉืœ ืœื™ื‘ืช FreeBSD, ืืœื™ื• ื ื•ืกืคื” ืจืชืžื” ื”ืžืืคืฉืจืช ืฉื™ืžื•ืฉ ื‘ืืœื’ื•ืจื™ืชืžื™ื ืฉืื™ื ื ื ืชืžื›ื™ื ื‘-FreeBSD ื“ืจืš ื”-crypto-API ื”ืกื˜ื ื“ืจื˜ื™, ืชื•ืš ืฉื™ืžื•ืฉ ื‘ื™ื™ืฉื•ื ืฉืœ ืืœื’ื•ืจื™ืชืžื™ื ื ื—ื•ืฆื™ื ืžืกืคืจื™ื™ืช ื”ืœื™ื‘ืกื•ื“ื™ื•ื. ืžื‘ื™ืŸ ื”ืืœื’ื•ืจื™ืชืžื™ื ื”ืžื•ื‘ื ื™ื ื‘ืžื ื”ืœ ื”ื”ืชืงืŸ, ื ื•ืชืจ ืจืง ื”ืงื•ื“ ืœื—ื™ืฉื•ื‘ ื’ื™ื‘ื•ื‘ื™ื ืฉืœ Blake2, ืžื›ื™ื•ื•ืŸ ืฉื”ื™ื™ืฉื•ื ืฉืœ ืืœื’ื•ืจื™ืชื ื–ื” ื”ืžืกื•ืคืง ื‘-FreeBSD ืงืฉื•ืจ ืœื’ื•ื“ืœ ื’ื™ื‘ื•ื‘ ืงื‘ื•ืข.

ื‘ื ื•ืกืฃ, ื‘ืžื”ืœืš ืชื”ืœื™ืš ื”ืกืงื™ืจื” ื‘ื•ืฆืขื” ืื•ืคื˜ื™ืžื™ื–ืฆื™ื” ืฉืœ ืงื•ื“, ืฉืืคืฉืจื” ืœื”ื’ื‘ื™ืจ ืืช ื™ืขื™ืœื•ืช ื—ืœื•ืงืช ื”ืขื•ืžืก ืขืœ ืžืขื‘ื“ื™ื ืžืจื•ื‘ื™ ืœื™ื‘ื•ืช (ื”ื•ื‘ื˜ื— ืื™ื–ื•ืŸ ืื—ื™ื“ ืฉืœ ื”ืงืฆืืช ืžืฉื™ืžื•ืช ื”ืฆืคื ืช ืžื ื•ืช ื•ืคืขื ื•ื— ืœืœื™ื‘ื•ืช CPU). ื›ืชื•ืฆืื” ืžื›ืš, ื”ืชืงื•ืจื” ื‘ืขืช ืขื™ื‘ื•ื“ ืžื ื•ืช ื”ื™ื™ืชื” ืงืจื•ื‘ื” ืœื–ื• ืฉืœ ื™ื™ืฉื•ื ืžื ื”ืœ ื”ื”ืชืงืŸ ืฉืœ ืœื™ื ื•ืงืก. ื”ืงื•ื“ ืžืกืคืง ื’ื ืืช ื”ื™ื›ื•ืœืช ืœื”ืฉืชืžืฉ ื‘ืžื ื”ืœ ื”ื”ืชืงืŸ ืฉืœ ossl ื›ื“ื™ ืœื”ืื™ืฅ ืืช ืคืขื•ืœื•ืช ื”ื”ืฆืคื ื”.

ื‘ื ื™ื’ื•ื“ ืœื ื™ืกื™ื•ืŸ ื”ืงื•ื“ื ืœืฉืœื‘ ืืช WireGuard ื‘-FreeBSD, ื”ืžื™ืžื•ืฉ ื”ื—ื“ืฉ ืžืฉืชืžืฉ ื‘ืชื•ื›ื ืช ื”-wg ื”ืกื˜ื ื“ืจื˜ื™ืช, ื•ืœื ื‘ื’ืจืกื” ืฉื•ื ื” ืฉืœ ifconfig, ื”ืžืืคืฉืจืช ืœืื—ื“ ืืช ื”ืชืฆื•ืจื” ื‘-Linux ื•ื‘-FreeBSD. ื›ืœื™ ื”ืฉื™ืจื•ืช wg, ื›ืžื• ื’ื ืžื ื”ืœ ื”ื”ืชืงืŸ, ื›ืœื•ืœื™ื ื‘ืงื•ื“ ื”ืžืงื•ืจ ืฉืœ FreeBSD, ืฉื”ืชืืคืฉืจ ืขืœ ื™ื“ื™ ืฉื™ื ื•ื™ ื”ืจื™ืฉื™ื•ืŸ ืขื‘ื•ืจ ืงื•ื“ wg (ื”ืงื•ื“ ื–ืžื™ืŸ ื›ืขืช ืชื—ืช ืจื™ืฉื™ื•ื ื•ืช MIT ื•-GPL). ื”ื ื™ืกื™ื•ืŸ ื”ืื—ืจื•ืŸ ืœื›ืœื•ืœ ืืช WireGuard ื‘-FreeBSD ื ืขืฉื” ื‘ืฉื ืช 2020, ืืš ื”ืกืชื™ื™ื ื‘ืฉืขืจื•ืจื™ื™ื”, ืฉื‘ืขืงื‘ื•ืชื™ื” ื”ื•ืกืจ ื”ืงื•ื“ ืฉื›ื‘ืจ ื”ืชื•ื•ืกืฃ ืขืงื‘ ืื™ื›ื•ืช ื™ืจื•ื“ื”, ืขื‘ื•ื“ื” ืจืฉืœื ื™ืช ืขื ื—ื•ืฆืฆื™ื, ืฉื™ืžื•ืฉ ื‘ืกื˜ืื‘ ื‘ืžืงื•ื ืฆ'ืงื™ื, ื”ื˜ืžืขื” ืœื ืžืœืื” ืฉืœ ื”ืคืจื•ื˜ื•ืงื•ืœ ื•ื”ืคืจื” ืฉืœ ืจื™ืฉื™ื•ืŸ GPL.

ื ื–ื›ื™ืจ ืœื›ื ืฉ-VPN WireGuard ืžื™ื•ืฉื ืขืœ ื‘ืกื™ืก ืฉื™ื˜ื•ืช ื”ืฆืคื ื” ืžื•ื“ืจื ื™ื•ืช, ืžืกืคืง ื‘ื™ืฆื•ืขื™ื ื’ื‘ื•ื”ื™ื ืžืื•ื“, ืงืœ ืœืฉื™ืžื•ืฉ, ื ืงื™ ืžืกื™ื‘ื•ื›ื™ื ื•ื”ื•ื›ื™ื— ืืช ืขืฆืžื• ื‘ืžืกืคืจ ืคืจื™ืกื•ืช ื’ื“ื•ืœื•ืช ื”ืžืขื‘ื“ื•ืช ื›ืžื•ื™ื•ืช ื’ื“ื•ืœื•ืช ืฉืœ ืชืขื‘ื•ืจื”. ื”ืคืจื•ื™ืงื˜ ืžืชืคืชื— ืžืฉื ืช 2015, ื•ืขื‘ืจ ื‘ื™ืงื•ืจืช ื•ืื™ืžื•ืช ืคื•ืจืžืœื™ ืฉืœ ืฉื™ื˜ื•ืช ื”ื”ืฆืคื ื” ื‘ื”ืŸ ื ืขืฉื” ืฉื™ืžื•ืฉ. WireGuard ืžืฉืชืžืฉ ื‘ืžื•ืฉื’ ืฉืœ ื ื™ืชื•ื‘ ืžืคืชื—ื•ืช ื”ืฆืคื ื”, ื”ื›ื•ืœืœ ื”ืฆืžื“ืช ืžืคืชื— ืคืจื˜ื™ ืœื›ืœ ืžืžืฉืง ืจืฉืช ื•ืฉื™ืžื•ืฉ ื‘ื• ื›ื“ื™ ืœืื’ื“ ืืช ื”ืžืคืชื—ื•ืช ื”ืฆื™ื‘ื•ืจื™ื™ื.

ืžืคืชื—ื•ืช ืฆื™ื‘ื•ืจื™ื™ื ืžื•ื—ืœืคื™ื ื›ื“ื™ ืœื™ืฆื•ืจ ื—ื™ื‘ื•ืจ ื‘ืฆื•ืจื” ื“ื•ืžื” ืœ-SSH. ื›ื“ื™ ืœื ื”ืœ ืžืฉื ื•ืžืชืŸ ืขืœ ืžืคืชื—ื•ืช ื•ืœื”ืชื—ื‘ืจ ืžื‘ืœื™ ืœื”ืคืขื™ืœ ื“ืžื•ืŸ ื ืคืจื“ ื‘ืžืจื—ื‘ ื”ืžืฉืชืžืฉ, ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘ืžื ื’ื ื•ืŸ Noise_IK ืฉืœ Noise_IK ืฉืœ ืžืกื’ืจืช ืคืจื•ื˜ื•ืงื•ืœ ื”ืจืขืฉ, ื‘ื“ื•ืžื” ืœืชื—ื–ื•ืงื” ืฉืœ Authorized_keys ื‘-SSH. ื”ืขื‘ืจืช ื”ื ืชื•ื ื™ื ืžืชื‘ืฆืขืช ื‘ืืžืฆืขื•ืช ืื ืงืคืกื•ืœืฆื™ื” ื‘ืžื ื•ืช UDP. ื–ื” ืชื•ืžืš ื‘ืฉื™ื ื•ื™ ื›ืชื•ื‘ืช ื”-IP ืฉืœ ืฉืจืช ื”-VPN (ื ื“ื™ื“ื”) ืžื‘ืœื™ ืœื ืชืง ืืช ื”ื—ื™ื‘ื•ืจ ืขื ืงื•ื ืคื™ื’ื•ืจืฆื™ื” ืื•ื˜ื•ืžื˜ื™ืช ืฉืœ ื”ืœืงื•ื—.

ื”ื”ืฆืคื ื” ืžืฉืชืžืฉืช ื‘ืฆื•ืคืŸ ื”ื–ืจื ChaCha20 ื•ื‘ืืœื’ื•ืจื™ืชื ืื™ืžื•ืช ื”ื”ื•ื“ืขื•ืช Poly1305 (MAC), ืฉืคื•ืชื—ื• ืขืœ ื™ื“ื™ Daniel J. Bernstein, Tanja Lange ื•ืคื™ื˜ืจ Schwabe. ChaCha20 ื•- Poly1305 ืžืžื•ืงืžื™ื ื›ืื ืœื•ื’ื™ื ืžื”ื™ืจื™ื ื•ื‘ื˜ื•ื—ื™ื ื™ื•ืชืจ ืฉืœ AES-256-CTR ื•-HMAC, ืฉื”ื˜ืžืขืช ื”ืชื•ื›ื ื” ืฉืœื”ื ืžืืคืฉืจืช ื”ืฉื’ืช ื–ืžืŸ ื‘ื™ืฆื•ืข ืงื‘ื•ืข ืœืœื ืฉื™ืžื•ืฉ ื‘ืชืžื™ื›ืช ื—ื•ืžืจื” ืžื™ื•ื—ื“ืช. ื›ื“ื™ ืœื™ืฆื•ืจ ืžืคืชื— ืกื•ื“ื™ ืžืฉื•ืชืฃ, ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘ืคืจื•ื˜ื•ืงื•ืœ ื”ืขืงื•ืžื” ื”ืืœื™ืคื˜ื™ืช Diffie-Hellman ื‘ื™ื™ืฉื•ื Curve25519, ืฉื”ื•ืฆืข ื’ื ืขืœ ื™ื“ื™ ื“ื ื™ืืœ ื‘ืจื ืฉื˜ื™ื™ืŸ. ื”ืืœื’ื•ืจื™ืชื ืฉืœ BLAKE2s (RFC7693) ืžืฉืžืฉ ืœื’ื™ื‘ื•ื‘.

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”