α’αααα’αα·αααααααααααα NetBSD ααΆαααΆαααΆααα ΠΎ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΎΡΡΠ°Π² ΡΠ΄ΡΠ° NetBSD Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° wg Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° WireGuard. NetBSD ΡΡΠ°Π»Π° ΡΡΠ΅ΡΡΠ΅ΠΉ ΠΠ‘ ΠΏΠΎΡΠ»Π΅ Linux ΠΈ OpenBSD Ρ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ WireGuard. Π’Π°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Ρ ΡΠΎΠΏΡΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ VPN β wg-keygen ΠΈ wgconfig. Π ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠ΄ΡΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ (GENERIC) Π΄ΡΠ°ΠΉΠ²Π΅Ρ ΠΏΠΎΠΊΠ° Π½Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°Π½ ΠΈ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠ²Π½ΠΎΠ³ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΈΡ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ
Β«pseudo-device wgΒ».
ααΎαααΈααααααααΆα’αΆα
ααααΌαααΆαααααααααΆαα ααΆαααααα»αααααααΆα ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΡΡΡΠ΅Π³ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠ° wireguard-tools 1.0.20200820, Π²ΠΊΠ»ΡΡΠ°ΡΡΠ΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠ΅ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΡΠΈΠ»ΠΈΡΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ wg ΠΈ wg-quick. Π Π½ΠΎΠ²ΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½Π° ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° IPC ΠΊ ΠΏΡΠ΅Π΄ΡΡΠΎΡΡΠ΅ΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ΅ WireGuard Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ FreeBSD. ΠΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½ΠΎ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠ°Π·Π½ΡΠΌ ΡΠ°ΠΉΠ»Π°ΠΌ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΎΠ³ΠΎ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ
ΠΏΠ»Π°ΡΡΠΎΡΠΌ ΠΊΠΎΠ΄Π°. Π unit-ΡΠ°ΠΉΠ» Π΄Π»Ρ systemd Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄Ρ Β«reloadΒ», ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π²ΠΈΠ΄Π° Β«systemctl reload wg-quick at wgnet0Β».
α’αα»ααααΆαα±ααααΎαααααΉαα’αααααΆ VPN WireGuard ααααΌαααΆαα’αα»αααααααααα’ααααΎαα·ααΈααΆαααααα’αα·αααααΈαααααΎα αααααααΌαααααΎαααΆαααααα ααΆααααα½αααααΎ ααααΆαααΆααααα»αααααΆα αα·αααΆααααα αΆαα±ααααΎαααααααα½αα―ααα
αααα»αααΆαααΆαααααααΆααααα½αα
ααα½ααααααααΎαααΆαααα·ααΆαααααααα
ααΆα
αααα αααααααααααααΌαααΆαα’αα·ααααααΆααααΈααααΆα 2015 ααααΌαααΆαααααΎααααααα αα·α ααΆααααααααααΆααααΆααααΌαααΆα αα·ααΈααΆαααααα’αα·αααααΈααααααΆαααααΎα ααΆαααΆαααα WireGuard ααααΌαααΆααααα
αΌααα
αααα»α NetworkManager αα·α systemd αα½α
α αΎα α αΎαααααααΊαααααααΌαααΆααα½ααααα
αΌααα
αααα»αααΆαα
ααα
αΆαααΌαααααΆα ααααααα·ααααα·αααααα, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, αααααααα ΠΈ ALT.
WireGuard ααααΎααααααα·αααααΆααααααααααΌααααα’αα·αααααΈα αααααΆαααααααααΉαααΆαααααΆααααα―ααααα
α
ααα»α
αααααΆαααααααΆαααΈαα½αα α αΎαααααΎααΆααΎααααΈα
αααααΆααΆαααα ααααΆααΆαααααααΌαααΆαααααΆααααααΌαααΎααααΈαααααΎαααΆααααααΆααααΆαααααααααααααααΆαα
ααΉα SSH α ααΎααααΈα
αα
αΆααα αα·αααααΆααααααα·αααααΎαααΆααααα·αααΆα
ααααα‘αααα
αααα»αααααααα’αααααααΎααααΆαα ααααααΆα Noise_IK ααααΈ αααααααΆααααα·ααΈααΆαααα‘ααααααΆαααααααβααΉαβααΆαβαααααΆβαα»α authorized_keys αααα»α SSHα ααΆααααααΌααα·ααααααααααΌαααΆαα’αα»ααααααΆααααααΆα encapsulation αα
αααα»ααααα
αα UDP α ααΆααΆααααααΆαααααΆααααααΌαα’αΆααααααΆα IP αααααααΆαααΈααα VPN (αααΌααΈα) ααααα·αα
αΆαααΆα
αααααΆα
αααΆααααααΆααααΆαα½αααΉαααΆαααααααα
ααΆαααααααααααΆαααΈαααααααααααααααααααααα·α
αααααΆααααΆαα’αα·αααααΈα ααααΌαααΆαααααΎ ααααααΈα cipher ChaCha20 αα·ααααα½ααααααααΆαααΆααααααααααΆααααΆα (MAC) Poly1305αα
ααΆααα Daniel Bernstein (ααΆααΈαααα J. Bernstein), Tanya Lange
(Tanja Lange) αα·α Peter Schwabe α ChaCha20 αα·α Poly1305 ααααΌαααΆαααΆααααΆ analogues ααΏα αα·αααΆααα»ααααα·ααΆαααΆααα AES-256-CTR αα·α HMAC αααααΆααΆαα’αα»αααααααααα·ααΈαααα’αα»ααααΆαα±αααααααα
ααΆαααΌααααααααΆααααα·ααααα·αααααααα·αα
αΆαααΆα
αααααΎαααα½ααααααααΉααα·αααα ααΎααααΈαααααΎααααααααΆαααααααΆαα
ααααααα αα·ααΈααΆα Diffie-Hellman αααααααααΆαα’αααΈαααααΌαααΆαααααΎαααα»αααΆαα’αα»αααα Curve25519αααααααΌαααΆαααααΎα‘αΎαααα Daniel Bernstein αααααα αααα½ααααααααΆααααααααΎαααααΆαα hashing ααΊ BLAKE2s (RFC7693).
ααααα: opennet.ru