2023. 7. 7. 17:22ใSystem ์์ ์ค/Server ๊ด๋ จ
๐ WireGuard ์ค์น
๐ฝ ๊ฐ์
๐ฆ ์๊ฐ
์ง๋ ์๊ฐ์ [Network] OPNsense ์ค์น ๋ฐ ๊ตฌ์ฑ ์ผ๋ก ํ๋ก์ ํธ๋ฅผ ์ํด ์ฌ์ฉํ UTM์ ๊ตฌ์ฑํด ๋ณด์์ด์.
OPNsense๋ฅผ ์ด์ฉํด์ WireGuard๋ผ๋ VPN์ ์ค์นํ ์ ์์ด ์ด๋ฒ ์๊ฐ์๋ ํด๋น ์์
์ ํด๋ณด๋ ค๊ณ ํด์.
๊ธฐ์กด์ Synology NAS๋ฅผ ํตํด OpenVPN์ ์ฌ์ฉํ์ฌ ๋ด๋ถ Server์ ์ ์ํ ์ ์์์ด์.
ํ์ง๋ง, VPN์ ์ฐ๊ฒฐํ๊ฒ ๋๋ฉด ์ธํฐ๋ท์ด ๋ถ์์ ํด์ง๊ณ , Server๋ฅผ ์ฌ๋ถํ
ํ๋ฉด VPN์ IP๊ฐ ๋ณ๊ฒฝ๋๋ ๋ฑ์ ๋ฌธ์ ๋ก ์ธํด WireGuard๋ฅผ ํ๋ฒ ์ค์นํ๊ณ ์ด์ฉํด ๋ณด๋ ค๊ณ ํด์.
WireGuard๋ OpneVPN๋ณด๋ค ๋น ๋ฅด๊ณ , ๋ณด์๋ ํจ์ฌ ๋ ๊ฐํ๊ฐ ๋์๋ค๊ณ ํด์.
์ง์ํ๋ Client Plaform ์ Windows, Linux, Android, IOS๋ ๋ฌผ๋ก ๊ฐ ์ข
F/W OS๊น์ง ๊ฑฐ์ ๋ชจ๋ ์ง์ํ๋ค๊ณ ํฉ๋๋ค.
WireGuard๋ Key ๊ตํ์ ์ํด Curve25519๋ฅผ ์ฌ์ฉํ๊ณ , ์ํธํ๋ฅผ ์ํ ChaCha20, Data ์ธ์ฆ์ ์ํ Poly1305, Hash Table Key์ฉ์ผ๋ก SipHash, Hashing์ฉ BLAKE2 ๋ฐฉ์์ Checksum์ ์ฌ์ฉํ๋ฉฐ, UDP Protocol์ ์ฌ์ฉํ๋ค๊ณ ํด์.
WireGuard๋ ์์ ์ํธํ์ ํฅํ ๋ฐ์ ์ ์ํํ๊ธฐ ์ํด ํฌํจ๋ ์ฌ์ ๊ณต์ ๋์นญ ํค ๋ชจ๋๋ฅผ ์ง์ํ๋๋ฐ, ๋จ๊ธฐ์ ์ผ๋ก ๊ณต์ ๋ ๋์นญํค๊ฐ ์์๋๋๋ผ๋ Curve25519 ๋ฐฉ์์ ํค๋ ์ถฉ๋ถํ ๋ณดํธ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค๊ณ ํฉ๋๋ค.
๋ํ WireGuard๋ ํฐ๋ ๋ด๋ถ์ ์ธ๋ถ ๋ชจ๋ IPv6๋ฅผ ์๋ฒฝํ๊ฒ ์ง์ํ๋ฉฐ, IPv4, IPv6 ๋ชจ๋์ ๋ํด CLASS 3๋ง ์ง์ํ๊ณ ์๊ณ , v4-in-v6 ์บก์ํ ๋ฐฉ์์ ์ฌ์ฉํ๊ณ ์์ผ๋ฉฐ, ๋ฐ๋์ ๊ฒฝ์ฐ๋ ๋ง์ฐฌ๊ฐ์ง๋ผ๊ณ ํด์.
๋ํ ์ฌ๋ฌ topologie๋ฅผ ์ง์ํ๋ค๊ณ ํฉ๋๋ค.
WireGuard๋ Client๊ฐ Data ์ ์ก์ ์์ํ๊ธฐ ์ ์ Client Endpoint๋ฅผ ์ ์ํ ํ์๊ฐ ์๊ณ , Endpoin๋ ์ ์ ์ผ๋ก ๋ฏธ๋ฆฌ ์ ์ํ ์๋ ์์ด์. ๋ํ, Mash ๊ธฐ๋ฅ์ผ๋ก ์ง์ ๊ฐ ์ฐ๊ฒฐ์ด ์ง์๋๊ธฐ ๋๋ฌธ์ ๋ค๋ฅธ topologie์ ๋ง๋ค ์ ์์ง๋ง, ๋์ผํ ํฐ๋์์๋ ๋ง๋ค ์ ์๋ค๊ณ ํฉ๋๋ค.
WireGuard๋ ๋ค๋ฅธ ํ๋ก๊ทธ๋จ ๋ฐ ์คํฌ๋ฆฝํธ์ ์ํด ํ์ฅ์ด ๊ฐ๋ฅํ๋๋ก ๋ง๋ค์ด์ก์ด์.
์ด๋ ๋ณด๋ค ์ฌ์ฉ์ ์นํ์ ๊ด๋ฆฌ ์ธํฐํ์ด์ค (ํค ์ค์ ์ฉ์ด ํฌํจ), Loging, Dynamic F/W Update์ LDAP ํตํฉ์ ํฌํจํ ๋ค์ํ ๊ธฐ๋ฅ์ผ๋ก WireGuard๋ฅผ ๋ณด๊ฐํ๋๋ฐ, ์ฌ์ฉ๋์๊ณ , 4000์ค ๋ฐ์ ์๋๋ ์ ์ ๋์ Code๋ฅผ ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ์ ๊ตฌ์ถํ ๋ ์๋นํ ๊ฐ๊ฒฐํ๊ณ , ๋น ๋ฅด๊ฒ ์์
ํ ์ ์๋ ์ฅ์ ์ ๊ฐ์ง๊ณ ์๋ค๊ณ ํฉ๋๋ค.
๐ฝ WireGuard
๐ฆ OPNsense๋ฅผ ํตํด Plugin ์ค์นํ๊ธฐ
์ต์ด OPNsense ๊ด๋ฆฌ์ Page์ ์ ์ํ์ฌ ์ค์ ์ ํด์ฃผ์ด์ผ ํด์.
์ต์ด OPNsense ์ค์น ์ Plugin์ ์ฌ์ฉํ๋ ค๋ฉด Update๋ฅผ ํด์ฃผ์ด์ผ ํด์.
Status Tab์ผ๋ก ์ด๋ํ์ฌ Check for updates๋ฅผ ๋๋ฌ ์ค๋๋ค.
์์ ๊ฐ์ด Update๊ฐ ์งํ๋ ๊ฑฐ์์.
์์ ๊ฐ์ด ๋์จ๋ค๋ฉด WAN์ ํตํด ์ธ๋ถ๋ก ํต์ ํ๋ ๊ฒ์ ๋ฌธ์ ๊ฐ ์์ ์ ์์ด์.
WAN ์ค์ ์ ๋ค์ ํ๋ฒ ํ์ธํด ๋ณด์์ผ ํด์.
์๋์ผ๋ก Updates๋ก ์ด๋ํ๊ฒ ๋๋ฉด ์์ ๊ฐ์ด ๋์ฌํ
๋ฐ, Update๋ฅผ ๋๋ฌ Update๋ฅผ ์งํํด ์ค๊ฒ์.
Update๋ฅผ ํ๋ฉด ์ฌ๋ถํ
์ด ๋๋ค๊ณ ํด์.
OK๋ฅผ ๋๋ฌ ์งํํด ์ค๊ฒ์.
Update๊ฐ ์๋ฃ๋๋ฉด ์์ ๊ฐ์ด ***DONE***์ด๋ผ๊ณ ๋์ฌ๊ฑฐ์์.
์ด์ Plugins Tab์ผ๋ก ์ด๋ํ ๊ฒ์.
Update๊ฐ ์๋ฃ๋๋ฉด ์ฌ๋ฌ Plugin๋ค์ด ๋ณด์ผํ
๋ฐ, ์์ ๊ฐ์ด os-wireguard๋ฅผ ๊ฒ์ํด์ ์ค์นํด ์ค๊ฑฐ์์.
์ฃผ๋์ฐ๋ ์ด๋ฏธ ์ค์น๋ฅผ ํ๊ธฐ ๋๋ฌธ์ ์์ ๊ฐ์ด ๋์ค์ง๋ง, ์ฐ์ธก์ + ๋ฒํผ์ ๋๋ฅด๋ฉด ์ค์นํ ์ ์์ด์.
๋ธ๋ผ์ฐ์ ๋ฅผ ํ๋ฒ ์๋ก๊ณ ์นจํ๋ฉด ์์ ๊ฐ์ด VPN Tab์ WireGaurd Tab์ด ์๊ธธ๊ฑฐ์์.
์ต์ด General Tab์์ ์์ ๊ฐ์ด ์ค์ ์ ํด ์ค๊ฒ์.
๋ค์์ผ๋ก Local Tab์ผ๋ก ์ด๋ํด์ + ๋ฒํผ์ ๋๋ฌ์ค๊ฒ์.
๊ทธ๋ฐ ๋ค ์์ ๊ฐ์ด VPN ์ด๋ฆ์ ์ ์ด์ฃผ๊ณ ,
Listen Port๋ ์ผ๋จ ์ด ๊ณณ์์๋ 51820 (WireGuard ๊ธฐ๋ณธ Port)๋ก ํด ์ฃผ์๋๋ฐ, ๋ณด์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ผ๋
์์์ ๊ฐ์ผ๋ก ๋ฐ๊ฟ์ฃผ๋ ๊ฒ์ ์ถ์ฒํด์.
๊ทธ๋ฐ ๋ค Tunnel Address์๋ Wireguard VPN์ด ์ฐ๊ฒฐ๋์์๋
Client๊ฐ ํ ๋น๋ฐ๋ IP ๋์ญ์ Network ์ฃผ์ ๋์ญ์ ๋ฃ์ด์ฃผ๋ฉด ๋ฉ๋๋ค.
๋ค๋ฅธ IP๋ ์ถฉ๋๋์ง ์๋๋ก ๋ค๋ฅด๊ฒ ์ค์ ๋งํด์ฃผ์๋ฉด ๋๋ต๋๋ค.
์ด๋ ๊ฒ ์ค์ ํ๊ณ , Save๋ฅผ ๋๋ฌ ์ ์ฅ์ ํด ์ค๊ฒ์.
๊ทธ๋ฆฌ๊ณ , ๋ค์ ์ฐํ ๋ชจ์์ ๋๋ฌ ํด๋น Page๋ฅผ ์ด์ด์ฃผ๋ฉด Public Key์ Private Key๊ฐ ๋ง๋ค์ด์ง ๊ฑธ ๋ณผ ์ ์์ด์.
Public Key๋ ์ถํ Client ์ค์ ์ ํ์ํ๋ ๋ฐ๋ก ์ ์ด์ฃผ๋ ๊ฒ์ด ์ข๊ฒ ์ด์.
๐ฆ WireGuard Interface ์ถ๊ฐ
์์ Page์ ๋ค์ด๊ฐ๋ฉด WireGuard ์ฉ Interface wg1์ด ์๊ฒจ ์์ ๊ฑฐ์์.
Description์ ํด๋น ์ธํฐํ์ด์ค์ ๊ฐ๋ตํ ์ ๋ณด๋ฅผ ์ ์ด์ฃผ๊ณ , + ๋ฒํผ์ ๋๋ฌ Import ํด์ค ๋ค Save๋ฅผ ๋๋ฅด๊ณ , Apply ๋๋ฌ ์ ์ฅํด ์ค๊ฒ์.
๊ทธ๋ฐ ๋ค ๋ง๋ค์ด์ง wg1 Inerface ์ด๋ฆ์ ํด๋ฆญํด ์ค๊ฒ์.
์์ ๊ฐ์ด Enable, Lock Check Box๋ฅผ ํ์ฑํ ํด์ฃผ๊ณ , ์ ์ฅํด ์ค๋๋ค.
๐ฆ ๋ฐฉํ๋ฒฝ ์ ์ฑ ์ถ๊ฐ
์ด์ ๋ฐฉํ๋ฒฝ ์ ์ฑ
์ ์ถ๊ฐํด์ ์ธ๋ถ์์ ๋ค์ด์ค๋ VPN ํต์ ์ ํ์ฉํด ์ค๊ฒ์.
์์ ๊ฐ์ด WAN Page์์ + ๋ฒํผ์ ๋๋ฌ์ค๋๋ค.
TCP/IP Version์ IPv4๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ IPv4๋ฅผ ์ ํํด ์ฃผ๊ณ ,
WireGuard๋ UDP Protocol์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ UDP๋ฅผ ์ ํํด ์ฃผ์ด์ผ ํด์.
๋ฐ์ ๋ด๋ฆฌ๋ฉด Destination port range๊ฐ ์๋๋ฐ, ์ถ๋ฐ์ง(from) ์ฆ, Client๋ ์ด๋ค Port๋ฅผ ๋ฌผ๊ณ ์ฌ์ง ๋ชจ๋ฅด๊ธฐ ๋๋ฌธ์ any๋ฅผ ์ ํํ๊ณ , ๋์ฐฉ์ง(to)๋ WireGuard ์ฉ์ผ๋ก ์ค์ ํ Port ๋ฒํธ๋ฅผ ์์ฑํด ์ค๋๋ค.
๊ทธ๋ฐ ๋ค Save๋ฅผ ๋๋ฅด๊ณ ๋๊ฐ๊ฒ์.
๐ฆ NAT ์ ์ฑ ์ถ๊ฐ
์ Page์์ ์์ ๊ฐ์ด Hybrid outbound Nat rule generation์ ํ์ฑํ ํ๊ณ , ์ ์ฅ ํด ์ค๊ฒ์.
๊ทธ๋ผ ์ค๊ฐ์ Manual rules๊ฐ ์๊ธฐ๋๋ฐ, ์์ ๊ฐ์ด + ๋ฒํผ์ ๋๋ฌ์ค๊ฒ์.
๋ค๋ฅธ ๋ถ๋ถ์ ๊ธฐ๋ณธ์ผ๋ก ๋๊ณ , Source address ๋ถ๋ถ์ VPN ๋์ญ์ผ๋ก ๋ฌถ์ธ ์ด๋ฆ์ ์ ํํด ์ค๋๋ค.
๊ทธ๋ฆฌ๊ณ , ์ ์ฅ ํด ์ค๊ฒ์.
๋ง์ฝ ์ถ๊ฐ ์ค์ ์ด ํ์ํ๋ค๋ฉด Destination ๋ถ๋ถ๋ง ๊ฑด๋๋ ค ์ฃผ๋ฉด ๋ ๊ฑฐ ๊ฐ์์.
์ฌ๊ธฐ๊น์ง ํ์๋ค๋ฉด ์ผ๋จ์ OPNsense์์ WireGuard ์ค์น ๋ฐ ๊ตฌ์ฑ์ ์๋ฃ ํ ๊ฒ์ด์์.
๋ค์์๋ ์ด ๊ณณ์์ Client ์ฐ๊ฒฐ ๋ฐฉ๋ฒ์ ๋ํด ์ ๋ฆฌํด ๋ณด๋๋ก ํ ๊ฒ์.
'System ์์ ์ค > Server ๊ด๋ จ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[OPNsense] IPS ๊ตฌ์ถ ๋ฐ ์ด์ฉ (0) | 2023.07.09 |
---|---|
[WireGuard] Client ์ค์ (4) | 2023.07.07 |
[Network] OPNsense ์ค์น ๋ฐ ๊ตฌ์ฑ (0) | 2023.07.07 |
[Hyper-V]Network ์ค์ - NAT / Port Forwarding / ๋ด๋ถ IP ๊ณ ์ (0) | 2023.07.07 |
[Hyper-v]Virtual Machine Copy (0) | 2023.07.07 |