Static ip for OpenVPN clients - XIYO/asuswrt-merlin.ng-kr GitHub Wiki

VPN ํด๋ผ์ด์–ธํŠธ์— ๊ณ ์ • IP๋ฅผ ํ• ๋‹นํ•˜๋Š” ๊ฒƒ์€, ์˜ˆ๋ฅผ ๋“ค์–ด ํด๋ผ์ด์–ธํŠธ๊ฐ€ rsync๋ฅผ ์œ„ํ•œ ๋ฐฑ์—… ๋Œ€์ƒ์ผ ๋•Œ ์œ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Asus ๋ผ์šฐํ„ฐ์—์„œ Merlin ํŽŒ์›จ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

# 1. ๋ผ์šฐํ„ฐ ์„ค์ •
## 1.1. easy-rsa๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์ฆ์„œ ์ƒ์„ฑ
์„œ๋ฒ„์™€ ๊ฐ ํด๋ผ์ด์–ธํŠธ์šฉ์œผ๋กœ ๊ณ ์œ ํ•œ ์ธ์ฆ์„œ๋ฅผ easy-rsa ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋ ค๋ฉด ๋‹ค์Œ ํŠœํ† ๋ฆฌ์–ผ์„ ๋”ฐ๋ผํ•˜์‹ญ์‹œ์˜ค:  
[https://github.com/XIYO/asuswrt-merlin.ng-kr/wiki/Generating-OpenVPN-keys-using-Easy-RSA](https://github.com/XIYO/asuswrt-merlin.ng-kr/wiki/Generating-OpenVPN-keys-using-Easy-RSA)  
์™„๋ฃŒ๋˜๋ฉด, ์„ ํƒํ•œ [ํด๋”]/easy-rsa/keys์—์„œ ์ƒ์„ฑ๋œ ๋ชจ๋“  ํŒŒ์ผ์„ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด WinSCP๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

## 1.2. ์ƒ์„ฑ๋œ ์ธ์ฆ์„œ๋ฅผ ๋ผ์šฐํ„ฐ์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ
๋‹ค์šด๋กœ๋“œํ•œ keys ํด๋”์—๋Š” ๊ฐ ํด๋ผ์ด์–ธํŠธ์šฉ 3๊ฐœ์˜ ํŒŒ์ผ(.csr, .crt, .key), ์„œ๋ฒ„์šฉ 3๊ฐœ์˜ ํŒŒ์ผ(.csr, .crt, .key), ์ธ์ฆ ๊ธฐ๊ด€๊ณผ ๊ด€๋ จ๋œ 3๊ฐœ์˜ ํŒŒ์ผ(ca.crt, ca.key, dh1024.pem)์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ํŒŒ์ผ๋“ค์€ ๋ฌด์‹œํ•˜์…”๋„ ๋ฉ๋‹ˆ๋‹ค.

์„œ๋ฒ„์—์„œ ์ธ์ฆ์„œ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ๋ผ์šฐํ„ฐ์˜ GUI๋กœ ์ด๋™ํ•˜์—ฌ VPN > VPN ์„œ๋ฒ„ > ์„œ๋ฒ„ ์„ ํƒ (1 ๋˜๋Š” 2), ๊ณ ๊ธ‰ ์„ค์ •์œผ๋กœ ์ด๋™ํ•˜์‹ญ์‹œ์˜ค.  
![VPN ์„ค์ • 1](https://i.imgur.com/K2lebXl.png)  

๊ทธ๋Ÿฐ ๋‹ค์Œ "ํ‚ค ๋ฐ ์ธ์ฆ์„œ"๋ฅผ ํŽธ์ง‘ํ•ฉ๋‹ˆ๋‹ค.  
![VPN ์„ค์ • 2](https://i.imgur.com/Svy1cqG.png)  
- ์ธ์ฆ ๊ธฐ๊ด€ ํ•„๋“œ์—๋Š” ca.crt ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ๋ถ™์—ฌ๋„ฃ์Šต๋‹ˆ๋‹ค.
- ์„œ๋ฒ„ ์ธ์ฆ์„œ์—๋Š” ์„œ๋ฒ„.crt ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ๋ถ™์—ฌ๋„ฃ์Šต๋‹ˆ๋‹ค(-----BEGIN CERTIFICATE-----๋ถ€ํ„ฐ -----END CERTIFICATE-----๊นŒ์ง€, ํ•ด๋‹น ๋‘ ์ค„ ํฌํ•จ).
- ์„œ๋ฒ„ ํ‚ค์—๋Š” server.key ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ๋ถ™์—ฌ๋„ฃ์Šต๋‹ˆ๋‹ค.
- ๋งˆ์ง€๋ง‰์œผ๋กœ, Diffie Hellman ๋งค๊ฐœ๋ณ€์ˆ˜์—๋Š” dh1024.pem์˜ ๋‚ด์šฉ์„ ๋ถ™์—ฌ๋„ฃ์Šต๋‹ˆ๋‹ค.

## 1.3. ifconfig-pool-persist ์„ค์ •
GUI์˜ ๊ณ ๊ธ‰ ์„ค์ •์—์„œ, ์‚ฌ์šฉ์ž ์ •์˜ ๊ตฌ์„ฑ์— ๋‹ค์Œ ์ค„์„ ์ถ”๊ฐ€ํ•˜์‹ญ์‹œ์˜ค:
```shell
ifconfig-pool-persist /jffs/configs/openvpn/ipp.txt

๋งˆ์ง€๋ง‰์œผ๋กœ, ์ด ํ™”๋ฉด์—์„œ "ํด๋ผ์ด์–ธํŠธ๋ณ„ ์˜ต์…˜ ๊ด€๋ฆฌ"๋ฅผ ์˜ˆ๋กœ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์ดํ›„ ๋‹จ๊ณ„์—์„œ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

ํ„ฐ๋ฏธ๋„์—์„œ ipp.txt ํŒŒ์ผ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ:

vi /jffs/configs/openvpn/ipp.txt

๊ทธ๋ฆฌ๊ณ  i๋ฅผ ๋ˆŒ๋Ÿฌ ํ…์ŠคํŠธ๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŒŒ์ผ์„ ์ƒ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค:

client1,10.8.0.x
client2,10.8.0.x
client3,10.8.0.x

๊ฐ ํด๋ผ์ด์–ธํŠธ์— ๋Œ€ํ•ด ์›ํ•˜๋Š” ์ •์  IP ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. easy-rsa๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ค์ •ํ•œ ์ผ๋ฐ˜ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜์„ธ์š”. ESC๋ฅผ ๋ˆ„๋ฅธ ๋‹ค์Œ ZZ๋ฅผ ์ž…๋ ฅํ•˜์—ฌ vi์—์„œ ๋‚˜๊ฐ‘๋‹ˆ๋‹ค.

1.4. ๊ฐ ํด๋ผ์ด์–ธํŠธ์— ์‚ฌ์šฉ์ž ์ด๋ฆ„ ๋ฐ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ƒ์„ฑ

๋ผ์šฐํ„ฐ GUI์˜ VPN ์„ค์ •์—์„œ ์ผ๋ฐ˜ ์„ค์ •์œผ๋กœ ๋Œ์•„๊ฐ€ ๊ฐ ํด๋ผ์ด์–ธํŠธ์— ๋Œ€ํ•œ ์‚ฌ์šฉ์ž ์ด๋ฆ„๊ณผ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

1.5. ์‚ฌ์šฉ์ž ์ •์˜ ํด๋ผ์ด์–ธํŠธ ๊ตฌ์„ฑ ํŒŒ์ผ ์ƒ์„ฑ

๊ฐ

ํด๋ผ์ด์–ธํŠธ์— ๋Œ€ํ•œ ccd ํŒŒ์ผ์„ ์ƒ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด easy-rsa์—์„œ ์„ค์ •ํ•œ ์ผ๋ฐ˜ ์ด๋ฆ„์œผ๋กœ /jffs/configs/openvpn/ccd1์— ํด๋ผ์ด์–ธํŠธ๋‹น ํ•˜๋‚˜์˜ ํŒŒ์ผ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ด ํŒŒ์ผ์—๋Š” ๋‹ค์Œ์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค:

ifconfig-push 10.8.0.X 255.255.255.0

์ด ํด๋ผ์ด์–ธํŠธ์— ๋Œ€ํ•ด ์›ํ•˜๋Š” ์ •์  IP ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋‹น์—ฐํžˆ ipp.txt ํŒŒ์ผ์˜ ์ฃผ์†Œ์™€ ๋™์ผํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด vi๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.

2. ํด๋ผ์ด์–ธํŠธ ๊ตฌ์„ฑ

์„œ๋ฒ„๊ฐ€ ์ด์ œ ์„ค์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ผ์šฐํ„ฐ GUI์—์„œ VPN ์„œ๋ฒ„ ํŽ˜์ด์ง€๋กœ ๋Œ์•„๊ฐ€ OpenVPN ๊ตฌ์„ฑ ํŒŒ์ผ ๋‚ด๋ณด๋‚ด๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. client1.ovpn ํŒŒ์ผ์„ ์ €์žฅํ•˜๊ณ  ํŽธ์ง‘ํ•ฉ๋‹ˆ๋‹ค.

ovpn ํŒŒ์ผ

ํŒŒ์ผ์˜ ๋ ๋ถ€๋ถ„์— ์ฒซ ๋ฒˆ์งธ ํด๋ผ์ด์–ธํŠธ์˜ .crt ํŒŒ์ผ ๋‚ด์šฉ์„ ํƒœ๊ทธ ์‚ฌ์ด์—, ์ฒซ ๋ฒˆ์งธ ํด๋ผ์ด์–ธํŠธ์˜ .key ํŒŒ์ผ ๋‚ด์šฉ์„ ํƒœ๊ทธ ์‚ฌ์ด์— ๋ถ™์—ฌ๋„ฃ์Šต๋‹ˆ๋‹ค. ํŒŒ์ผ์„ ์ €์žฅํ•œ ๋‹ค์Œ VPN์— ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ฆ๊ธฐ์„ธ์š”.

โš ๏ธ **GitHub.com Fallback** โš ๏ธ