NetBSD ํ๋ก์ ํธ ๊ฐ๋ฐ์ ัะพะพะฑัะธะปะธ ๊ธฐ๋ณธ NetBSD ์ปค๋์ WireGuard ํ๋กํ ์ฝ ๊ตฌํ๊ณผ ํจ๊ป wg ๋๋ผ์ด๋ฒ๋ฅผ ํฌํจ์ํค๋ ๊ฒ์ ๋ํด ์ค๋ช
ํฉ๋๋ค. NetBSD๋ Linux์ OpenBSD์ ์ด์ด WireGuard๋ฅผ ํตํฉ ์ง์ํ๋ ์ธ ๋ฒ์งธ OS๊ฐ ๋์์ต๋๋ค. VPN ๊ตฌ์ฑ์ ์ํ ๊ด๋ จ ๋ช
๋ น(wg-keygen ๋ฐ wgconfig)๋ ์ ๊ณต๋ฉ๋๋ค. ๊ธฐ๋ณธ ์ปค๋ ๊ตฌ์ฑ(GENERIC)์์๋ ๋๋ผ์ด๋ฒ๊ฐ ์์ง ํ์ฑํ๋์ง ์์์ผ๋ฉฐ ์ค์ ์์ "pseudo-device wg"๋ฅผ ๋ช
์์ ์ผ๋ก ํ์ํด์ผ ํฉ๋๋ค.
์ถ๊ฐ์ ์ผ๋ก ์ฃผ๋ชฉํ ์ ์๋ ๊ฒ์ ์ถํ wg ๋ฐ wg-quick๊ณผ ๊ฐ์ ์ฌ์ฉ์ ๊ณต๊ฐ ์ ํธ๋ฆฌํฐ๋ฅผ ํฌํจํ๋ wireguard-tools 1.0.20200820 ํจํค์ง์ ๋ํ ์์ ์
๋ฐ์ดํธ์
๋๋ค. ์ ๋ฆด๋ฆฌ์ค์์๋ FreeBSD ์ด์ ์ฒด์ ์์ ๊ณง ์ถ์๋ WireGuard ์ง์์ ์ํด IPC๋ฅผ ์ค๋นํฉ๋๋ค. ๋ค์ํ ํ๋ซํผ์ ํน์ ํ ์ฝ๋๋ ์ฌ๋ฌ ํ์ผ๋ก ๋๋์ด์ก์ต๋๋ค. "reload" ๋ช
๋ น์ ๋ํ ์ง์์ด systemd์ฉ ์ ๋ ํ์ผ์ ์ถ๊ฐ๋์์ต๋๋ค. ์ด๋ฅผ ํตํด "systemctl reload wg-quick at wgnet0"๊ณผ ๊ฐ์ ๊ตฌ์ฑ์ ์คํํ ์ ์์ต๋๋ค.
VPN WireGuard๋ ์ต์ ์ํธํ ๋ฐฉ๋ฒ์ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌํ๋๊ณ ๋งค์ฐ ๋์ ์ฑ๋ฅ์ ์ ๊ณตํ๋ฉฐ ์ฌ์ฉํ๊ธฐ ์ฝ๊ณ ๋ณต์กํ์ง ์์ผ๋ฉฐ ๋๋์ ํธ๋ํฝ์ ์ฒ๋ฆฌํ๋ ์ฌ๋ฌ ๋๊ท๋ชจ ๋ฐฐํฌ์์ ์
์ฆ๋์์ต๋๋ค. ์ด ํ๋ก์ ํธ๋ 2015๋
๋ถํฐ ๊ฐ๋ฐ๋์ด ๊ฐ์ฌ๋ฅผ ๋ฐ์์ผ๋ฉฐ, ์ ์ ๊ฒ์ฆ ์ฌ์ฉ๋ ์ํธํ ๋ฐฉ๋ฒ. WireGuard ์ง์์ ์ด๋ฏธ NetworkManager ๋ฐ systemd์ ํตํฉ๋์ด ์์ผ๋ฉฐ ์ปค๋ ํจ์น๋ ๊ธฐ๋ณธ ๋ฐฐํฌํ์ ํฌํจ๋์ด ์์ต๋๋ค. ๋ฐ๋น์ ๋ถ์์ , ๋ง๊ฒ์ด์, ์ํ์ธ, ์์น, ์ ํฌ, OpenWrt, NixOS, ํ์ ๊ทธ๋ํ ะธ ALT.
WireGuard๋ ๊ฐ ๋คํธ์ํฌ ์ธํฐํ์ด์ค์ ๊ฐ์ธ ํค๋ฅผ ์ฐ๊ฒฐํ๊ณ ์ด๋ฅผ ์ฌ์ฉํ์ฌ ๊ณต๊ฐ ํค๋ฅผ ๋ฐ์ธ๋ฉํ๋ ์ํธํ ํค ๋ผ์ฐํ
๊ฐ๋
์ ์ฌ์ฉํฉ๋๋ค. SSH์ ์ ์ฌํ ๋ฐฉ์์ผ๋ก ๊ณต๊ฐ ํค๋ฅผ ๊ตํํ์ฌ ์ฐ๊ฒฐ์ ์ค์ ํฉ๋๋ค. ์ฌ์ฉ์ ๊ณต๊ฐ์์ ๋ณ๋์ ๋ฐ๋ชฌ์ ์คํํ์ง ์๊ณ ํค๋ฅผ ํ์ํ๊ณ ์ฐ๊ฒฐํ๋ ค๋ฉด ๋ค์์ Noise_IK ๋ฉ์ปค๋์ฆ์ ์ฌ์ฉํ์ธ์. ๋
ธ์ด์ฆ ํ๋กํ ์ฝ ํ๋ ์์ํฌSSH์์ Authorized_keys๋ฅผ ์ ์งํ๋ ๊ฒ๊ณผ ์ ์ฌํฉ๋๋ค. ๋ฐ์ดํฐ ์ ์ก์ UDP ํจํท์ ์บก์ํ๋ฅผ ํตํด ์ํ๋ฉ๋๋ค. ์๋ ํด๋ผ์ด์ธํธ ์ฌ๊ตฌ์ฑ์ผ๋ก ์ฐ๊ฒฐ์ ๋์ง ์๊ณ VPN ์๋ฒ์ IP ์ฃผ์ ๋ณ๊ฒฝ(๋ก๋ฐ)์ ์ง์ํฉ๋๋ค.
์ํธํ๋ฅผ ์ํด ์ฌ์ฉ ๋ ์คํธ๋ฆผ ์ํธ ChaCha20 ๋ฐ ๋ฉ์์ง ์ธ์ฆ ์๊ณ ๋ฆฌ์ฆ(MAC) Poly1305, ๋ค๋์ ๋ฒ์คํ์ธ(Daniel Bernstein)์ด ๋์์ธํ๋ค๋์ J. ๋ฒ์คํ์ธ), ํ๋ ๋ญ
(Tanja Lange) ๋ฐ Peter Schwabe. ChaCha20 ๋ฐ Poly1305๋ AES-256-CTR ๋ฐ HMAC์ ๋ ๋น ๋ฅด๊ณ ์์ ํ ์๋ ๋ก๊ทธ๋ก ์๋ฆฌ ์ก์์ผ๋ฉฐ, ์ํํธ์จ์ด ๊ตฌํ์ ํตํด ํน๋ณํ ํ๋์จ์ด ์ง์์ ์ฌ์ฉํ์ง ์๊ณ ๋ ๊ณ ์ ๋ ์คํ ์๊ฐ์ ๋ฌ์ฑํ ์ ์์ต๋๋ค. ๊ณต์ ๋น๋ฐ ํค๋ฅผ ์์ฑํ๊ธฐ ์ํด ํ์ ๊ณก์ Diffie-Hellman ํ๋กํ ์ฝ์ด ๊ตฌํ์ ์ฌ์ฉ๋ฉ๋๋ค. ์ปค๋ธ 25519, Daniel Bernstein๋ ์ ์ํ์ต๋๋ค. ํด์ฑ์ ์ฌ์ฉ๋๋ ์๊ณ ๋ฆฌ์ฆ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. BLAKE2(RFC7693).
์ถ์ฒ : opennet.ru