NetBSD kernel เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบš VPN WireGuard

เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเป‚เบ„เบ‡เบเบฒเบ™ NetBSD เบฅเบฒเบเบ‡เบฒเบ™ เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบฅเบงเบกเป€เบญเบปเบฒเป„เบ”เป€เบงเบต wg เบเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เป‚เบ›เป‚เบ•เบ„เบญเบ™ WireGuard เปƒเบ™ NetBSD kernel เบ•เบปเป‰เบ™เบ•เป. NetBSD เบเบฒเบเป€เบ›เบฑเบ™ OS เบ—เบตเบชเบฒเบกเบซเบผเบฑเบ‡เบˆเบฒเบ Linux เปเบฅเบฐ OpenBSD เบ”เป‰เบงเบเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™เบชเปเบฒเบฅเบฑเบš WireGuard. เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ VPN เปเบกเปˆเบ™เบเบฑเบ‡เบชเบฐเป€เบซเบ™เบต - wg-keygen เปเบฅเบฐ wgconfig . เปƒเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ kernel เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ (GENERIC), เป„เบ”เป€เบงเบตเบเบฑเบ‡เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเป€เบ›เบตเบ”เปƒเบŠเป‰เปเบฅเบฐเบ•เป‰เบญเบ‡เบเบฒเบ™เบ•เบปเบงเบŠเบตเป‰เบšเบญเบเบขเปˆเบฒเบ‡เบŠเบฑเบ”เป€เบˆเบ™เบ‚เบญเบ‡ "pseudo-device wg" เปƒเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ.

เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบกเบฑเบ™เบชเบฒเบกเบฒเบ”เบชเบฑเบ‡เป€เบเบ”เป€เบซเบฑเบ™เป„เบ”เป‰ เบชเบดเปˆเบ‡เบžเบดเบก เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบเบฒเบ™เปเบเป‰เป„เบ‚เบ•เปเปˆเบเบฑเบšเปเบžเบฑเบเป€เบเบฑเบ” wireguard-tools 1.0.20200820, เป€เบŠเบดเปˆเบ‡เบ›เบฐเบเบญเบšเบกเบตเบญเบธเบ›เบฐเบเบญเบ™เบžเบทเป‰เบ™เบ—เบตเปˆเบœเบนเป‰เปƒเบŠเป‰เป€เบŠเบฑเปˆเบ™ wg เปเบฅเบฐ wg-quick. เบเบฒเบ™เบ›เปˆเบญเบเปƒเบซเบกเปˆเบเบฐเบเบฝเบก IPC เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ WireGuard เบ—เบตเปˆเบˆเบฐเบกเบฒเป€เบ–เบดเบ‡เปƒเบ™เบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™ FreeBSD. เบฅเบฐเบซเบฑเบ”เบชเบฐเป€เบžเบฒเบฐเบเบฑเบšเป€เบงเบ—เบตเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เป„เบ”เป‰เบ–เบทเบเปเบšเปˆเบ‡เบญเบญเบเป€เบ›เบฑเบ™เป„เบŸเบฅเปŒเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™. เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡ "เป‚เบซเบผเบ”เปƒเบซเบกเปˆ" เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™เป„เบŸเบฅเปŒเบซเบ™เปˆเบงเบเบ‡เบฒเบ™ systemd, เป€เบŠเบดเปˆเบ‡เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เป€เบŠเบฑเปˆเบ™ "systemctl reload wg-quick at wgnet0".

เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเป€เบ•เบทเบญเบ™เบ—เปˆเบฒเบ™เบงเปˆเบฒ VPN WireGuard เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบšเบปเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡เบงเบดเบ—เบตเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เบซเบก, เบชเบฐเบซเบ™เบญเบ‡เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบชเบนเบ‡เบซเบผเบฒเบ, เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ‡เปˆเบฒเบ, เบšเปเปˆเบกเบตเบ„เบงเบฒเบกเบชเบฑเบšเบชเบปเบ™เปเบฅเบฐเป„เบ”เป‰เบžเบดเบชเบนเบ”เบ•เบปเบงเบ‚เบญเบ‡เบกเบฑเบ™เป€เบญเบ‡เปƒเบ™เบˆเปเบฒเบ™เบงเบ™เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆเบ—เบตเปˆเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆเบ‚เบญเบ‡เบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™. เป‚เบ„เบ‡โ€‹เบเบฒเบ™โ€‹เบ”เบฑเปˆเบ‡โ€‹เบเปˆเบฒเบงโ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เบžเบฑเบ”โ€‹เบ—เบฐโ€‹เบ™เบฒโ€‹เบ™เบฑเบšโ€‹เบ•เบฑเป‰เบ‡โ€‹เปเบ•เปˆโ€‹เบ›เบต 2015โ€‹, เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เบเบงเบ”โ€‹เบชเบญเบšโ€‹เปเบฅเบฐโ€‹ เบเบฒเบ™เบขเบฑเป‰เบ‡เบขเบทเบ™เบขเปˆเบฒเบ‡เป€เบ›เบฑเบ™เบ—เบฒเบ‡เบเบฒเบ™ เบงเบดเบ—เบตเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเปƒเบŠเป‰. เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ WireGuard เบ–เบทเบเบฅเบงเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบš NetworkManager เปเบฅเบฐ systemd, เปเบฅเบฐ kernel patches เปเบกเปˆเบ™เบฅเบงเบกเบขเบนเปˆเปƒเบ™เบเบฒเบ™เปเบˆเบเบขเบฒเบเบžเบทเป‰เบ™เบ–เบฒเบ™. Debian เบšเปเปˆเบชเบฐเบ–เบฝเบ™เบฅเบฐเบžเบฒเบš, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, เบซเบปเบงเบ‚เปเป‰เบเปˆเบญเบ ะธ ALT.

WireGuard เปƒเบŠเป‰เปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เบ‚เบญเบ‡เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบฅเบฐเบซเบฑเบ”เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”, เป€เบŠเบดเปˆเบ‡เบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบเบฒเบ™เบ•เบดเบ”เบเบฐเปเบˆเบชเปˆเบงเบ™เบ•เบปเบงเปƒเบชเปˆเปเบ•เปˆเบฅเบฐเบชเปˆเบงเบ™เบ•เบดเบ”เบ•เปเปˆเป€เบ„เบทเบญเบ‚เปˆเบฒเบ เปเบฅเบฐเปƒเบŠเป‰เบกเบฑเบ™เป€เบžเบทเปˆเบญเบœเบนเบเบกเบฑเบ”เบเบฐเปเบˆเบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐ. เบฅเบฐเบซเบฑเบ”เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐเบ–เบทเบเปเบฅเบเบ›เปˆเบฝเบ™เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเปƒเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบเบฑเบš SSH. เป€เบžเบทเปˆเบญเป€เบˆเบฅเบฐเบˆเบฒเบ„เบตเปเบฅเบฐเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เปเบฅเปˆเบ™ daemon เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเปƒเบ™เบžเบทเป‰เบ™เบ—เบตเปˆเบœเบนเป‰เปƒเบŠเป‰, เบเบปเบ™เป„เบ Noise_IK เบˆเบฒเบ Noise Protocol Frameworkเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบเบฑเบšเบเบฒเบ™เบฎเบฑเบเบชเบฒ authorized_keys เปƒเบ™ SSH. เบเบฒเบ™เบชเบปเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™เปเบกเปˆเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เป‚เบ”เบเบœเปˆเบฒเบ™เบเบฒเบ™ encapsulation เปƒเบ™เบŠเบธเบ” UDP. เบกเบฑเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ—เบตเปˆเบขเบนเปˆ IP เบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ VPN (เป‚เบฃเบกเบกเบดเบ‡) เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบ•เบฑเบ”เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเบเบฒเบ™เบ›เบฑเบšเบ„เปˆเบฒเบฅเบนเบเบ„เป‰เบฒเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”.

เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ” เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰ stream cipher ChaCha20 เปเบฅเบฐเบฅเบฐเบšเบปเบšเบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ‚เปเป‰เบ„เบงเบฒเบก (MAC) Poly1305เบญเบญเบเปเบšเบšเป‚เบ”เบ Daniel Bernstein (Daniel J. Bernstein), Tanya Lange
(Tanja Lange) เปเบฅเบฐ Peter Schwabe. ChaCha20 เปเบฅเบฐ Poly1305 เบ–เบทเบเบˆเบฑเบ”เป€เบ›เบฑเบ™ analogues เบ—เบตเปˆเป„เบงเบเบงเปˆเบฒเปเบฅเบฐเบ›เบญเบ”เป„เบžเบเบงเปˆเบฒเบ‚เบญเบ‡ AES-256-CTR เปเบฅเบฐ HMAC, เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบŠเบญเบšเปเบงเบ—เบตเปˆเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบšเบฑเบ™เบฅเบธเป€เบงเบฅเบฒเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบฎเบฒเบ”เปเบงเบžเบดเป€เบชเบ”. เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เบฅเบฐเบซเบฑเบ”เบฅเบฑเบšเบ—เบตเปˆเปƒเบŠเป‰เบฎเปˆเบงเบกเบเบฑเบ™, เป€เบชเบฑเป‰เบ™เป‚เบ„เป‰เบ‡เบฎเบนเบšเบชเป‰เบงเบ Diffie-Hellman protocol เบ–เบทเบเปƒเบŠเป‰เปƒเบ™เบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”. Curve25519, เบเบฑเบ‡เบชเบฐเป€เบซเบ™เบตเป‚เบ”เบ Daniel Bernstein. เบชเบนเบ”เบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆเบ—เบตเปˆเปƒเบŠเป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™ hashing เปเบกเปˆเบ™ BLAKE2s (RFC7693).

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™